summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES104
-rw-r--r--NWGNUmakefile162
-rw-r--r--README-win32.txt110
-rw-r--r--build/NWGNUenvironment.inc238
-rw-r--r--build/NWGNUhead.inc71
-rw-r--r--build/NWGNUmakefile129
-rw-r--r--build/NWGNUscripts.inc89
-rw-r--r--build/NWGNUtail.inc277
-rw-r--r--build/find_apr.m42
-rw-r--r--build/make_nw_export.awk80
-rw-r--r--build/mkconfNW.awk2
-rw-r--r--build/nw_export.inc6
-rwxr-xr-xbuild/rpm/httpd.init17
-rw-r--r--build/rpm/httpd.logrotate2
-rw-r--r--build/rpm/httpd.spec.in163
-rwxr-xr-xbuildconf8
-rwxr-xr-xconfigure182
-rw-r--r--configure.in16
-rw-r--r--docs/conf/mime.types136
-rw-r--r--docs/error/HTTP_BAD_GATEWAY.html.var40
-rw-r--r--docs/error/HTTP_BAD_REQUEST.html.var23
-rw-r--r--docs/error/HTTP_FORBIDDEN.html.var47
-rw-r--r--docs/error/HTTP_GONE.html.var55
-rw-r--r--docs/error/HTTP_INTERNAL_SERVER_ERROR.html.var60
-rw-r--r--docs/error/HTTP_LENGTH_REQUIRED.html.var29
-rw-r--r--docs/error/HTTP_METHOD_NOT_ALLOWED.html.var29
-rw-r--r--docs/error/HTTP_NOT_FOUND.html.var39
-rw-r--r--docs/error/HTTP_NOT_IMPLEMENTED.html.var27
-rw-r--r--docs/error/HTTP_PRECONDITION_FAILED.html.var25
-rw-r--r--docs/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var28
-rw-r--r--docs/error/HTTP_REQUEST_TIME_OUT.html.var28
-rw-r--r--docs/error/HTTP_REQUEST_URI_TOO_LARGE.html.var26
-rw-r--r--docs/error/HTTP_SERVICE_UNAVAILABLE.html.var31
-rw-r--r--docs/error/HTTP_UNAUTHORIZED.html.var44
-rw-r--r--docs/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var22
-rw-r--r--docs/error/HTTP_VARIANT_ALSO_VARIES.html.var28
-rw-r--r--docs/error/contact.html.var2
-rw-r--r--docs/man/rotatelogs.84
-rw-r--r--docs/man/tr/rotatelogs.84
-rw-r--r--docs/manual/bind.html.de2
-rw-r--r--docs/manual/bind.html.en2
-rw-r--r--docs/manual/bind.html.fr2
-rw-r--r--docs/manual/bind.html.ja.utf82
-rw-r--r--docs/manual/bind.html.ko.euc-kr2
-rw-r--r--docs/manual/bind.html.tr.utf82
-rw-r--r--docs/manual/caching.html.en2
-rw-r--r--docs/manual/caching.html.fr2
-rw-r--r--docs/manual/caching.html.tr.utf82
-rw-r--r--docs/manual/configuring.html.de2
-rw-r--r--docs/manual/configuring.html.en2
-rw-r--r--docs/manual/configuring.html.fr2
-rw-r--r--docs/manual/configuring.html.ja.utf82
-rw-r--r--docs/manual/configuring.html.ko.euc-kr2
-rw-r--r--docs/manual/configuring.html.tr.utf82
-rw-r--r--docs/manual/content-negotiation.html.en2
-rw-r--r--docs/manual/content-negotiation.html.fr2
-rw-r--r--docs/manual/content-negotiation.html.ja.utf82
-rw-r--r--docs/manual/content-negotiation.html.ko.euc-kr2
-rw-r--r--docs/manual/content-negotiation.html.tr.utf82
-rw-r--r--docs/manual/convenience.map2
-rw-r--r--docs/manual/custom-error.html.en2
-rw-r--r--docs/manual/custom-error.html.es2
-rw-r--r--docs/manual/custom-error.html.ja.utf82
-rw-r--r--docs/manual/custom-error.html.ko.euc-kr2
-rw-r--r--docs/manual/custom-error.html.tr.utf82
-rw-r--r--docs/manual/developer/API.html.en2
-rw-r--r--docs/manual/developer/debugging.html.en2
-rw-r--r--docs/manual/developer/documenting.html4
-rw-r--r--docs/manual/developer/documenting.html.en8
-rw-r--r--docs/manual/developer/documenting.html.zh-cn82
-rw-r--r--docs/manual/developer/filters.html.en2
-rw-r--r--docs/manual/developer/hooks.html.en2
-rw-r--r--docs/manual/developer/index.html4
-rw-r--r--docs/manual/developer/index.html.en14
-rw-r--r--docs/manual/developer/index.html.zh-cn76
-rw-r--r--docs/manual/developer/modules.html.en2
-rw-r--r--docs/manual/developer/modules.html.ja.utf82
-rw-r--r--docs/manual/developer/request.html.en2
-rw-r--r--docs/manual/developer/thread_safety.html.en2
-rw-r--r--docs/manual/dns-caveats.html.en20
-rw-r--r--docs/manual/dns-caveats.html.ja.utf82
-rw-r--r--docs/manual/dns-caveats.html.ko.euc-kr2
-rw-r--r--docs/manual/dns-caveats.html.tr.utf818
-rw-r--r--docs/manual/dso.html.en2
-rw-r--r--docs/manual/dso.html.ja.utf82
-rw-r--r--docs/manual/dso.html.ko.euc-kr2
-rw-r--r--docs/manual/dso.html.tr.utf82
-rw-r--r--docs/manual/env.html.en2
-rw-r--r--docs/manual/env.html.ja.utf82
-rw-r--r--docs/manual/env.html.ko.euc-kr2
-rw-r--r--docs/manual/env.html.tr.utf82
-rw-r--r--docs/manual/faq/index.html4
-rw-r--r--docs/manual/faq/index.html.en94
-rw-r--r--docs/manual/faq/index.html.tr.utf896
-rw-r--r--docs/manual/faq/index.html.zh-cn36
-rw-r--r--docs/manual/filter.html.en2
-rw-r--r--docs/manual/filter.html.es2
-rw-r--r--docs/manual/filter.html.fr2
-rw-r--r--docs/manual/filter.html.ja.utf82
-rw-r--r--docs/manual/filter.html.ko.euc-kr2
-rw-r--r--docs/manual/filter.html.tr.utf82
-rw-r--r--docs/manual/glossary.html.de2
-rw-r--r--docs/manual/glossary.html.en2
-rw-r--r--docs/manual/glossary.html.es2
-rw-r--r--docs/manual/glossary.html.fr2
-rw-r--r--docs/manual/glossary.html.ja.utf82
-rw-r--r--docs/manual/glossary.html.ko.euc-kr2
-rw-r--r--docs/manual/glossary.html.tr.utf82
-rw-r--r--docs/manual/handler.html4
-rw-r--r--docs/manual/handler.html.en8
-rw-r--r--docs/manual/handler.html.es8
-rw-r--r--docs/manual/handler.html.fr8
-rw-r--r--docs/manual/handler.html.ja.utf88
-rw-r--r--docs/manual/handler.html.ko.euc-kr8
-rw-r--r--docs/manual/handler.html.ru.koi8-r8
-rw-r--r--docs/manual/handler.html.tr.utf88
-rw-r--r--docs/manual/handler.html.zh-cn132
-rw-r--r--docs/manual/howto/access.html.en2
-rw-r--r--docs/manual/howto/auth.html4
-rw-r--r--docs/manual/howto/auth.html.en46
-rw-r--r--docs/manual/howto/auth.html.fr455
-rw-r--r--docs/manual/howto/auth.html.ja.utf84
-rw-r--r--docs/manual/howto/auth.html.ko.euc-kr4
-rw-r--r--docs/manual/howto/auth.html.tr.utf837
-rw-r--r--docs/manual/howto/cgi.html.en33
-rw-r--r--docs/manual/howto/cgi.html.ja.utf82
-rw-r--r--docs/manual/howto/cgi.html.ko.euc-kr2
-rw-r--r--docs/manual/howto/htaccess.html4
-rw-r--r--docs/manual/howto/htaccess.html.en14
-rw-r--r--docs/manual/howto/htaccess.html.fr440
-rw-r--r--docs/manual/howto/htaccess.html.ja.utf86
-rw-r--r--docs/manual/howto/htaccess.html.ko.euc-kr4
-rw-r--r--docs/manual/howto/htaccess.html.pt-br4
-rw-r--r--docs/manual/howto/index.html4
-rw-r--r--docs/manual/howto/index.html.en8
-rw-r--r--docs/manual/howto/index.html.ja.utf88
-rw-r--r--docs/manual/howto/index.html.ko.euc-kr8
-rw-r--r--docs/manual/howto/index.html.zh-cn107
-rw-r--r--docs/manual/howto/public_html.html.en2
-rw-r--r--docs/manual/howto/public_html.html.ja.utf82
-rw-r--r--docs/manual/howto/public_html.html.ko.euc-kr2
-rw-r--r--docs/manual/howto/public_html.html.tr.utf82
-rw-r--r--docs/manual/howto/ssi.html.en2
-rw-r--r--docs/manual/howto/ssi.html.ja.utf82
-rw-r--r--docs/manual/howto/ssi.html.ko.euc-kr2
-rw-r--r--docs/manual/images/rewrite_rule_flow.pngbin0 -> 40325 bytes
-rw-r--r--docs/manual/images/syntax_rewritecond.pngbin0 -> 44876 bytes
-rw-r--r--docs/manual/images/syntax_rewriterule.pngbin0 -> 53367 bytes
-rw-r--r--docs/manual/index.html4
-rw-r--r--docs/manual/index.html.de16
-rw-r--r--docs/manual/index.html.en10
-rw-r--r--docs/manual/index.html.es10
-rw-r--r--docs/manual/index.html.fr10
-rw-r--r--docs/manual/index.html.ja.utf810
-rw-r--r--docs/manual/index.html.ko.euc-kr10
-rw-r--r--docs/manual/index.html.pt-br10
-rw-r--r--docs/manual/index.html.tr.utf810
-rw-r--r--docs/manual/index.html.zh-cn103
-rw-r--r--docs/manual/install.html.de2
-rw-r--r--docs/manual/install.html.en2
-rw-r--r--docs/manual/install.html.es2
-rw-r--r--docs/manual/install.html.fr2
-rw-r--r--docs/manual/install.html.ja.utf82
-rw-r--r--docs/manual/install.html.ko.euc-kr2
-rw-r--r--docs/manual/install.html.tr.utf82
-rw-r--r--docs/manual/invoking.html.de2
-rw-r--r--docs/manual/invoking.html.en4
-rw-r--r--docs/manual/invoking.html.es2
-rw-r--r--docs/manual/invoking.html.fr6
-rw-r--r--docs/manual/invoking.html.ja.utf82
-rw-r--r--docs/manual/invoking.html.ko.euc-kr2
-rw-r--r--docs/manual/invoking.html.ru.koi8-r2
-rw-r--r--docs/manual/invoking.html.tr.utf84
-rw-r--r--docs/manual/license.html.en2
-rw-r--r--docs/manual/logs.html.en4
-rw-r--r--docs/manual/logs.html.ja.utf82
-rw-r--r--docs/manual/logs.html.ko.euc-kr2
-rw-r--r--docs/manual/logs.html.tr.utf84
-rw-r--r--docs/manual/misc/index.html4
-rw-r--r--docs/manual/misc/index.html.en8
-rw-r--r--docs/manual/misc/index.html.ko.euc-kr8
-rw-r--r--docs/manual/misc/index.html.tr.utf88
-rw-r--r--docs/manual/misc/index.html.zh-cn81
-rw-r--r--docs/manual/misc/password_encryptions.html.en2
-rw-r--r--docs/manual/misc/perf-tuning.html.en2
-rw-r--r--docs/manual/misc/perf-tuning.html.ko.euc-kr2
-rw-r--r--docs/manual/misc/perf-tuning.html.tr.utf82
-rw-r--r--docs/manual/misc/relevant_standards.html.en2
-rw-r--r--docs/manual/misc/relevant_standards.html.ko.euc-kr2
-rw-r--r--docs/manual/misc/rewriteguide.html.en2076
-rw-r--r--docs/manual/misc/rewriteguide.html.ko.euc-kr2
-rw-r--r--docs/manual/misc/security_tips.html.en2
-rw-r--r--docs/manual/misc/security_tips.html.ko.euc-kr2
-rw-r--r--docs/manual/misc/security_tips.html.tr.utf82
-rw-r--r--docs/manual/mod/beos.html.de2
-rw-r--r--docs/manual/mod/beos.html.en2
-rw-r--r--docs/manual/mod/beos.html.es3
-rw-r--r--docs/manual/mod/beos.html.ko.euc-kr3
-rw-r--r--docs/manual/mod/core.html4
-rw-r--r--docs/manual/mod/core.html.de104
-rw-r--r--docs/manual/mod/core.html.en268
-rw-r--r--docs/manual/mod/core.html.fr3905
-rw-r--r--docs/manual/mod/core.html.ja.utf850
-rw-r--r--docs/manual/mod/core.html.tr.utf8286
-rw-r--r--docs/manual/mod/directive-dict.html.en2
-rw-r--r--docs/manual/mod/directive-dict.html.ja.utf82
-rw-r--r--docs/manual/mod/directive-dict.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/directive-dict.html.tr.utf82
-rw-r--r--docs/manual/mod/directives.html4
-rw-r--r--docs/manual/mod/directives.html.de21
-rw-r--r--docs/manual/mod/directives.html.en13
-rw-r--r--docs/manual/mod/directives.html.es13
-rw-r--r--docs/manual/mod/directives.html.ja.utf836
-rw-r--r--docs/manual/mod/directives.html.ko.euc-kr27
-rw-r--r--docs/manual/mod/directives.html.ru.koi8-r13
-rw-r--r--docs/manual/mod/directives.html.tr.utf813
-rw-r--r--docs/manual/mod/directives.html.zh-cn468
-rw-r--r--docs/manual/mod/event.html.en2
-rw-r--r--docs/manual/mod/index.html4
-rw-r--r--docs/manual/mod/index.html.de8
-rw-r--r--docs/manual/mod/index.html.en8
-rw-r--r--docs/manual/mod/index.html.es8
-rw-r--r--docs/manual/mod/index.html.ja.utf88
-rw-r--r--docs/manual/mod/index.html.ko.euc-kr8
-rw-r--r--docs/manual/mod/index.html.tr.utf88
-rw-r--r--docs/manual/mod/index.html.zh-cn194
-rw-r--r--docs/manual/mod/mod_actions.html.de2
-rw-r--r--docs/manual/mod/mod_actions.html.en2
-rw-r--r--docs/manual/mod/mod_actions.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_actions.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_alias.html.en7
-rw-r--r--docs/manual/mod/mod_alias.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_alias.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_alias.html.tr.utf88
-rw-r--r--docs/manual/mod/mod_asis.html.en2
-rw-r--r--docs/manual/mod/mod_asis.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_asis.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_auth_basic.html4
-rw-r--r--docs/manual/mod/mod_auth_basic.html.en4
-rw-r--r--docs/manual/mod/mod_auth_basic.html.fr139
-rw-r--r--docs/manual/mod/mod_auth_basic.html.ja.utf84
-rw-r--r--docs/manual/mod/mod_auth_basic.html.ko.euc-kr4
-rw-r--r--docs/manual/mod/mod_auth_digest.html4
-rw-r--r--docs/manual/mod/mod_auth_digest.html.en4
-rw-r--r--docs/manual/mod/mod_auth_digest.html.fr362
-rw-r--r--docs/manual/mod/mod_auth_digest.html.ko.euc-kr4
-rw-r--r--docs/manual/mod/mod_authn_alias.html4
-rw-r--r--docs/manual/mod/mod_authn_alias.html.en8
-rw-r--r--docs/manual/mod/mod_authn_alias.html.fr157
-rw-r--r--docs/manual/mod/mod_authn_anon.html.en2
-rw-r--r--docs/manual/mod/mod_authn_anon.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_authn_anon.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_authn_dbd.html.en2
-rw-r--r--docs/manual/mod/mod_authn_dbm.html.en2
-rw-r--r--docs/manual/mod/mod_authn_dbm.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_authn_dbm.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_authn_default.html.en2
-rw-r--r--docs/manual/mod/mod_authn_default.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_authn_default.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_authn_file.html4
-rw-r--r--docs/manual/mod/mod_authn_file.html.en4
-rw-r--r--docs/manual/mod/mod_authn_file.html.fr139
-rw-r--r--docs/manual/mod/mod_authn_file.html.ja.utf84
-rw-r--r--docs/manual/mod/mod_authn_file.html.ko.euc-kr4
-rw-r--r--docs/manual/mod/mod_authnz_ldap.html4
-rw-r--r--docs/manual/mod/mod_authnz_ldap.html.en8
-rw-r--r--docs/manual/mod/mod_authnz_ldap.html.fr1121
-rw-r--r--docs/manual/mod/mod_authz_dbm.html.en2
-rw-r--r--docs/manual/mod/mod_authz_dbm.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_authz_default.html.en2
-rw-r--r--docs/manual/mod/mod_authz_default.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_authz_default.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_authz_groupfile.html.en2
-rw-r--r--docs/manual/mod/mod_authz_groupfile.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_authz_host.html.en2
-rw-r--r--docs/manual/mod/mod_authz_host.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_authz_host.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_authz_owner.html.en2
-rw-r--r--docs/manual/mod/mod_authz_owner.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_authz_owner.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_authz_user.html.en2
-rw-r--r--docs/manual/mod/mod_authz_user.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_authz_user.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_autoindex.html4
-rw-r--r--docs/manual/mod/mod_autoindex.html.en29
-rw-r--r--docs/manual/mod/mod_autoindex.html.fr1030
-rw-r--r--docs/manual/mod/mod_autoindex.html.ja.utf818
-rw-r--r--docs/manual/mod/mod_autoindex.html.ko.euc-kr18
-rw-r--r--docs/manual/mod/mod_autoindex.html.tr.utf831
-rw-r--r--docs/manual/mod/mod_cache.html.en2
-rw-r--r--docs/manual/mod/mod_cache.html.ja.utf870
-rw-r--r--docs/manual/mod/mod_cache.html.ko.euc-kr106
-rw-r--r--docs/manual/mod/mod_cern_meta.html.en2
-rw-r--r--docs/manual/mod/mod_cern_meta.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_cgi.html.en2
-rw-r--r--docs/manual/mod/mod_cgi.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_cgi.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_cgid.html.en2
-rw-r--r--docs/manual/mod/mod_cgid.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_cgid.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_charset_lite.html.en2
-rw-r--r--docs/manual/mod/mod_charset_lite.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_dav.html.en2
-rw-r--r--docs/manual/mod/mod_dav.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_dav.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_dav_fs.html.en2
-rw-r--r--docs/manual/mod/mod_dav_fs.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_dav_fs.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_dav_lock.html.en2
-rw-r--r--docs/manual/mod/mod_dav_lock.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_dbd.html.en2
-rw-r--r--docs/manual/mod/mod_deflate.html.en2
-rw-r--r--docs/manual/mod/mod_deflate.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_deflate.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_dir.html.en39
-rw-r--r--docs/manual/mod/mod_dir.html.ja.utf817
-rw-r--r--docs/manual/mod/mod_dir.html.ko.euc-kr17
-rw-r--r--docs/manual/mod/mod_dir.html.tr.utf835
-rw-r--r--docs/manual/mod/mod_disk_cache.html.en2
-rw-r--r--docs/manual/mod/mod_disk_cache.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_disk_cache.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_dumpio.html.en2
-rw-r--r--docs/manual/mod/mod_dumpio.html.ja.utf817
-rw-r--r--docs/manual/mod/mod_echo.html.en2
-rw-r--r--docs/manual/mod/mod_echo.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_echo.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_env.html.en32
-rw-r--r--docs/manual/mod/mod_env.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_env.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_env.html.tr.utf830
-rw-r--r--docs/manual/mod/mod_example.html.en2
-rw-r--r--docs/manual/mod/mod_example.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_expires.html.en6
-rw-r--r--docs/manual/mod/mod_expires.html.ja.utf84
-rw-r--r--docs/manual/mod/mod_expires.html.ko.euc-kr4
-rw-r--r--docs/manual/mod/mod_ext_filter.html.en2
-rw-r--r--docs/manual/mod/mod_ext_filter.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_ext_filter.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_file_cache.html.en2
-rw-r--r--docs/manual/mod/mod_file_cache.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_filter.html.en2
-rw-r--r--docs/manual/mod/mod_headers.html.en40
-rw-r--r--docs/manual/mod/mod_headers.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_headers.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_ident.html.en2
-rw-r--r--docs/manual/mod/mod_ident.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_ident.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_imagemap.html.en2
-rw-r--r--docs/manual/mod/mod_imagemap.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_include.html.en2
-rw-r--r--docs/manual/mod/mod_include.html.ja.utf844
-rw-r--r--docs/manual/mod/mod_info.html.en2
-rw-r--r--docs/manual/mod/mod_info.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_info.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_isapi.html.en2
-rw-r--r--docs/manual/mod/mod_isapi.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_ldap.html.en2
-rw-r--r--docs/manual/mod/mod_log_config.html.en2
-rw-r--r--docs/manual/mod/mod_log_config.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_log_config.html.ko.euc-kr16
-rw-r--r--docs/manual/mod/mod_log_config.html.tr.utf82
-rw-r--r--docs/manual/mod/mod_log_forensic.html.en2
-rw-r--r--docs/manual/mod/mod_log_forensic.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_log_forensic.html.tr.utf82
-rw-r--r--docs/manual/mod/mod_logio.html.en2
-rw-r--r--docs/manual/mod/mod_logio.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_logio.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_logio.html.tr.utf82
-rw-r--r--docs/manual/mod/mod_mem_cache.html.en2
-rw-r--r--docs/manual/mod/mod_mem_cache.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_mem_cache.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_mime.html.en2
-rw-r--r--docs/manual/mod/mod_mime.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_mime_magic.html.en2
-rw-r--r--docs/manual/mod/mod_negotiation.html.en6
-rw-r--r--docs/manual/mod/mod_negotiation.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_nw_ssl.html.en2
-rw-r--r--docs/manual/mod/mod_proxy.html4
-rw-r--r--docs/manual/mod/mod_proxy.html.en125
-rw-r--r--docs/manual/mod/mod_proxy.html.fr1869
-rw-r--r--docs/manual/mod/mod_proxy.html.ja.utf888
-rw-r--r--docs/manual/mod/mod_proxy_ajp.html.en10
-rw-r--r--docs/manual/mod/mod_proxy_ajp.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_proxy_balancer.html.en4
-rw-r--r--docs/manual/mod/mod_proxy_balancer.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_proxy_connect.html.en2
-rw-r--r--docs/manual/mod/mod_proxy_connect.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_proxy_ftp.html.en2
-rw-r--r--docs/manual/mod/mod_proxy_http.html4
-rw-r--r--docs/manual/mod/mod_proxy_http.html.en8
-rw-r--r--docs/manual/mod/mod_proxy_http.html.fr147
-rw-r--r--docs/manual/mod/mod_proxy_scgi.html.en4
-rw-r--r--docs/manual/mod/mod_reqtimeout.html.en25
-rw-r--r--docs/manual/mod/mod_rewrite.html4
-rw-r--r--docs/manual/mod/mod_rewrite.html.en590
-rw-r--r--docs/manual/mod/mod_rewrite.html.fr1642
-rw-r--r--docs/manual/mod/mod_setenvif.html.en11
-rw-r--r--docs/manual/mod/mod_setenvif.html.ja.utf86
-rw-r--r--docs/manual/mod/mod_setenvif.html.ko.euc-kr5
-rw-r--r--docs/manual/mod/mod_setenvif.html.tr.utf815
-rw-r--r--docs/manual/mod/mod_so.html.en2
-rw-r--r--docs/manual/mod/mod_so.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_so.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_so.html.tr.utf82
-rw-r--r--docs/manual/mod/mod_speling.html.en2
-rw-r--r--docs/manual/mod/mod_speling.html.ja.utf816
-rw-r--r--docs/manual/mod/mod_speling.html.ko.euc-kr16
-rw-r--r--docs/manual/mod/mod_ssl.html.en34
-rw-r--r--docs/manual/mod/mod_status.html.en2
-rw-r--r--docs/manual/mod/mod_status.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_status.html.ko.euc-kr18
-rw-r--r--docs/manual/mod/mod_status.html.tr.utf82
-rw-r--r--docs/manual/mod/mod_substitute.html.en2
-rw-r--r--docs/manual/mod/mod_suexec.html4
-rw-r--r--docs/manual/mod/mod_suexec.html.en8
-rw-r--r--docs/manual/mod/mod_suexec.html.fr91
-rw-r--r--docs/manual/mod/mod_suexec.html.ja.utf84
-rw-r--r--docs/manual/mod/mod_suexec.html.ko.euc-kr4
-rw-r--r--docs/manual/mod/mod_suexec.html.tr.utf88
-rw-r--r--docs/manual/mod/mod_unique_id.html.en2
-rw-r--r--docs/manual/mod/mod_unique_id.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_unique_id.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_userdir.html.en2
-rw-r--r--docs/manual/mod/mod_userdir.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_userdir.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_userdir.html.tr.utf82
-rw-r--r--docs/manual/mod/mod_usertrack.html.en2
-rw-r--r--docs/manual/mod/mod_version.html.en2
-rw-r--r--docs/manual/mod/mod_version.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_version.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_vhost_alias.html.en2
-rw-r--r--docs/manual/mod/mod_vhost_alias.html.tr.utf82
-rw-r--r--docs/manual/mod/module-dict.html.en2
-rw-r--r--docs/manual/mod/module-dict.html.ja.utf82
-rw-r--r--docs/manual/mod/module-dict.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/module-dict.html.tr.utf82
-rw-r--r--docs/manual/mod/mpm_common.html.de44
-rw-r--r--docs/manual/mod/mpm_common.html.en26
-rw-r--r--docs/manual/mod/mpm_common.html.ja.utf816
-rw-r--r--docs/manual/mod/mpm_common.html.tr.utf845
-rw-r--r--docs/manual/mod/mpm_netware.html.en2
-rw-r--r--docs/manual/mod/mpm_winnt.html.de2
-rw-r--r--docs/manual/mod/mpm_winnt.html.en2
-rw-r--r--docs/manual/mod/mpm_winnt.html.ja.utf82
-rw-r--r--docs/manual/mod/mpmt_os2.html.en2
-rw-r--r--docs/manual/mod/prefork.html.de2
-rw-r--r--docs/manual/mod/prefork.html.en2
-rw-r--r--docs/manual/mod/prefork.html.ja.utf82
-rw-r--r--docs/manual/mod/prefork.html.tr.utf82
-rw-r--r--docs/manual/mod/quickreference.html4
-rw-r--r--docs/manual/mod/quickreference.html.de380
-rw-r--r--docs/manual/mod/quickreference.html.en279
-rw-r--r--docs/manual/mod/quickreference.html.es273
-rw-r--r--docs/manual/mod/quickreference.html.ja.utf8249
-rw-r--r--docs/manual/mod/quickreference.html.ko.euc-kr442
-rw-r--r--docs/manual/mod/quickreference.html.ru.koi8-r273
-rw-r--r--docs/manual/mod/quickreference.html.tr.utf8292
-rw-r--r--docs/manual/mod/quickreference.html.zh-cn803
-rw-r--r--docs/manual/mod/worker.html.de2
-rw-r--r--docs/manual/mod/worker.html.en2
-rw-r--r--docs/manual/mod/worker.html.ja.utf82
-rw-r--r--docs/manual/mod/worker.html.tr.utf82
-rw-r--r--docs/manual/mpm.html4
-rw-r--r--docs/manual/mpm.html.de8
-rw-r--r--docs/manual/mpm.html.en8
-rw-r--r--docs/manual/mpm.html.es8
-rw-r--r--docs/manual/mpm.html.fr8
-rw-r--r--docs/manual/mpm.html.ja.utf88
-rw-r--r--docs/manual/mpm.html.ko.euc-kr8
-rw-r--r--docs/manual/mpm.html.tr.utf88
-rw-r--r--docs/manual/mpm.html.zh-cn111
-rw-r--r--docs/manual/new_features_2_0.html.de2
-rw-r--r--docs/manual/new_features_2_0.html.en2
-rw-r--r--docs/manual/new_features_2_0.html.fr2
-rw-r--r--docs/manual/new_features_2_0.html.ja.utf82
-rw-r--r--docs/manual/new_features_2_0.html.ko.euc-kr2
-rw-r--r--docs/manual/new_features_2_0.html.pt-br2
-rw-r--r--docs/manual/new_features_2_0.html.ru.koi8-r2
-rw-r--r--docs/manual/new_features_2_0.html.tr.utf82
-rw-r--r--docs/manual/new_features_2_2.html.en2
-rw-r--r--docs/manual/new_features_2_2.html.fr2
-rw-r--r--docs/manual/new_features_2_2.html.ko.euc-kr2
-rw-r--r--docs/manual/new_features_2_2.html.pt-br2
-rw-r--r--docs/manual/new_features_2_2.html.tr.utf82
-rw-r--r--docs/manual/platform/ebcdic.html.en2
-rw-r--r--docs/manual/platform/ebcdic.html.ko.euc-kr2
-rw-r--r--docs/manual/platform/index.html4
-rw-r--r--docs/manual/platform/index.html.en8
-rw-r--r--docs/manual/platform/index.html.ko.euc-kr8
-rw-r--r--docs/manual/platform/index.html.zh-cn91
-rw-r--r--docs/manual/platform/netware.html.en2
-rw-r--r--docs/manual/platform/netware.html.ko.euc-kr2
-rw-r--r--docs/manual/platform/perf-hp.html.en2
-rw-r--r--docs/manual/platform/perf-hp.html.ko.euc-kr2
-rw-r--r--docs/manual/platform/win_compiling.html.en2
-rw-r--r--docs/manual/platform/win_compiling.html.ko.euc-kr2
-rw-r--r--docs/manual/platform/windows.html.en48
-rw-r--r--docs/manual/platform/windows.html.ko.euc-kr2
-rw-r--r--docs/manual/programs/ab.html.en2
-rw-r--r--docs/manual/programs/ab.html.ko.euc-kr2
-rw-r--r--docs/manual/programs/ab.html.tr.utf82
-rw-r--r--docs/manual/programs/apachectl.html.en2
-rw-r--r--docs/manual/programs/apachectl.html.ko.euc-kr2
-rw-r--r--docs/manual/programs/apachectl.html.tr.utf82
-rw-r--r--docs/manual/programs/apxs.html.en2
-rw-r--r--docs/manual/programs/apxs.html.ko.euc-kr2
-rw-r--r--docs/manual/programs/apxs.html.tr.utf82
-rw-r--r--docs/manual/programs/configure.html.en18
-rw-r--r--docs/manual/programs/configure.html.ko.euc-kr2
-rw-r--r--docs/manual/programs/configure.html.tr.utf819
-rw-r--r--docs/manual/programs/dbmmanage.html.en2
-rw-r--r--docs/manual/programs/dbmmanage.html.ko.euc-kr2
-rw-r--r--docs/manual/programs/dbmmanage.html.tr.utf82
-rw-r--r--docs/manual/programs/htcacheclean.html.en2
-rw-r--r--docs/manual/programs/htcacheclean.html.ko.euc-kr2
-rw-r--r--docs/manual/programs/htcacheclean.html.tr.utf82
-rw-r--r--docs/manual/programs/htdbm.html.en2
-rw-r--r--docs/manual/programs/htdbm.html.tr.utf82
-rw-r--r--docs/manual/programs/htdigest.html.en2
-rw-r--r--docs/manual/programs/htdigest.html.ko.euc-kr2
-rw-r--r--docs/manual/programs/htdigest.html.tr.utf82
-rw-r--r--docs/manual/programs/htpasswd.html.en24
-rw-r--r--docs/manual/programs/htpasswd.html.ko.euc-kr2
-rw-r--r--docs/manual/programs/htpasswd.html.tr.utf827
-rw-r--r--docs/manual/programs/httpd.html.en2
-rw-r--r--docs/manual/programs/httpd.html.ko.euc-kr2
-rw-r--r--docs/manual/programs/httpd.html.tr.utf82
-rw-r--r--docs/manual/programs/httxt2dbm.html.en2
-rw-r--r--docs/manual/programs/httxt2dbm.html.tr.utf82
-rw-r--r--docs/manual/programs/index.html4
-rw-r--r--docs/manual/programs/index.html.en8
-rw-r--r--docs/manual/programs/index.html.es8
-rw-r--r--docs/manual/programs/index.html.ko.euc-kr8
-rw-r--r--docs/manual/programs/index.html.ru.koi8-r8
-rw-r--r--docs/manual/programs/index.html.tr.utf88
-rw-r--r--docs/manual/programs/index.html.zh-cn105
-rw-r--r--docs/manual/programs/logresolve.html.en2
-rw-r--r--docs/manual/programs/logresolve.html.ko.euc-kr2
-rw-r--r--docs/manual/programs/logresolve.html.tr.utf82
-rw-r--r--docs/manual/programs/other.html.en2
-rw-r--r--docs/manual/programs/other.html.ko.euc-kr2
-rw-r--r--docs/manual/programs/other.html.tr.utf82
-rw-r--r--docs/manual/programs/rotatelogs.html.en16
-rw-r--r--docs/manual/programs/rotatelogs.html.ko.euc-kr2
-rw-r--r--docs/manual/programs/rotatelogs.html.tr.utf814
-rw-r--r--docs/manual/programs/suexec.html.en2
-rw-r--r--docs/manual/programs/suexec.html.ko.euc-kr2
-rw-r--r--docs/manual/programs/suexec.html.tr.utf82
-rw-r--r--docs/manual/rewrite/access.html (renamed from docs/manual/rewrite/rewrite_tech.html)2
-rw-r--r--docs/manual/rewrite/access.html.en303
-rw-r--r--docs/manual/rewrite/advanced.html (renamed from docs/manual/rewrite/rewrite_flags.html)2
-rw-r--r--docs/manual/rewrite/advanced.html.en492
-rw-r--r--docs/manual/rewrite/avoid.html (renamed from docs/manual/rewrite/rewrite_guide.html)2
-rw-r--r--docs/manual/rewrite/avoid.html.en227
-rw-r--r--docs/manual/rewrite/flags.html9
-rw-r--r--docs/manual/rewrite/flags.html.en648
-rw-r--r--docs/manual/rewrite/flags.html.fr716
-rw-r--r--docs/manual/rewrite/htaccess.html (renamed from docs/manual/rewrite/rewrite_intro.html)2
-rw-r--r--docs/manual/rewrite/htaccess.html.en38
-rw-r--r--docs/manual/rewrite/index.html8
-rw-r--r--docs/manual/rewrite/index.html.en103
-rw-r--r--docs/manual/rewrite/index.html.fr101
-rw-r--r--docs/manual/rewrite/index.html.tr.utf8102
-rw-r--r--docs/manual/rewrite/index.html.zh-cn70
-rw-r--r--docs/manual/rewrite/intro.html9
-rw-r--r--docs/manual/rewrite/intro.html.en (renamed from docs/manual/rewrite/rewrite_intro.html.en)61
-rw-r--r--docs/manual/rewrite/intro.html.fr351
-rw-r--r--docs/manual/rewrite/proxy.html5
-rw-r--r--docs/manual/rewrite/proxy.html.en93
-rw-r--r--docs/manual/rewrite/remapping.html5
-rw-r--r--docs/manual/rewrite/remapping.html.en625
-rw-r--r--docs/manual/rewrite/rewrite_flags.html.en427
-rw-r--r--docs/manual/rewrite/rewrite_guide.html.en777
-rw-r--r--docs/manual/rewrite/rewrite_guide_advanced.html.en1289
-rw-r--r--docs/manual/rewrite/rewritemap.html5
-rw-r--r--docs/manual/rewrite/rewritemap.html.en417
-rw-r--r--docs/manual/rewrite/tech.html (renamed from docs/manual/rewrite/rewrite_guide_advanced.html)6
-rw-r--r--docs/manual/rewrite/tech.html.en (renamed from docs/manual/rewrite/rewrite_tech.html.en)16
-rw-r--r--docs/manual/rewrite/tech.html.fr178
-rw-r--r--docs/manual/rewrite/vhosts.html5
-rw-r--r--docs/manual/rewrite/vhosts.html.en205
-rw-r--r--docs/manual/sections.html.en9
-rw-r--r--docs/manual/sections.html.fr9
-rw-r--r--docs/manual/sections.html.ja.utf82
-rw-r--r--docs/manual/sections.html.ko.euc-kr2
-rw-r--r--docs/manual/sections.html.tr.utf89
-rw-r--r--docs/manual/server-wide.html.en2
-rw-r--r--docs/manual/server-wide.html.ja.utf82
-rw-r--r--docs/manual/server-wide.html.ko.euc-kr2
-rw-r--r--docs/manual/server-wide.html.tr.utf82
-rw-r--r--docs/manual/sitemap.html4
-rw-r--r--docs/manual/sitemap.html.de27
-rw-r--r--docs/manual/sitemap.html.en26
-rw-r--r--docs/manual/sitemap.html.es8
-rw-r--r--docs/manual/sitemap.html.ja.utf88
-rw-r--r--docs/manual/sitemap.html.ko.euc-kr8
-rw-r--r--docs/manual/sitemap.html.tr.utf826
-rw-r--r--docs/manual/sitemap.html.zh-cn271
-rw-r--r--docs/manual/ssl/index.html4
-rw-r--r--docs/manual/ssl/index.html.en8
-rw-r--r--docs/manual/ssl/index.html.ja.utf88
-rw-r--r--docs/manual/ssl/index.html.tr.utf88
-rw-r--r--docs/manual/ssl/index.html.zh-cn60
-rw-r--r--docs/manual/ssl/ssl_compat.html.en2
-rw-r--r--docs/manual/ssl/ssl_faq.html.en8
-rw-r--r--docs/manual/ssl/ssl_howto.html.en2
-rw-r--r--docs/manual/ssl/ssl_intro.html.en2
-rw-r--r--docs/manual/ssl/ssl_intro.html.ja.utf82
-rw-r--r--docs/manual/stopping.html.de2
-rw-r--r--docs/manual/stopping.html.en2
-rw-r--r--docs/manual/stopping.html.es2
-rw-r--r--docs/manual/stopping.html.fr2
-rw-r--r--docs/manual/stopping.html.ja.utf82
-rw-r--r--docs/manual/stopping.html.ko.euc-kr2
-rw-r--r--docs/manual/stopping.html.tr.utf82
-rw-r--r--docs/manual/suexec.html4
-rw-r--r--docs/manual/suexec.html.en6
-rw-r--r--docs/manual/suexec.html.fr662
-rw-r--r--docs/manual/suexec.html.ja.utf84
-rw-r--r--docs/manual/suexec.html.ko.euc-kr4
-rw-r--r--docs/manual/suexec.html.tr.utf88
-rw-r--r--docs/manual/upgrading.html.de2
-rw-r--r--docs/manual/upgrading.html.en2
-rw-r--r--docs/manual/upgrading.html.fr2
-rw-r--r--docs/manual/urlmapping.html.en2
-rw-r--r--docs/manual/urlmapping.html.ja.utf82
-rw-r--r--docs/manual/urlmapping.html.ko.euc-kr2
-rw-r--r--docs/manual/urlmapping.html.tr.utf82
-rw-r--r--docs/manual/vhosts/details.html.en2
-rw-r--r--docs/manual/vhosts/details.html.fr468
-rw-r--r--docs/manual/vhosts/details.html.ko.euc-kr2
-rw-r--r--docs/manual/vhosts/details.html.tr.utf82
-rw-r--r--docs/manual/vhosts/examples.html.en2
-rw-r--r--docs/manual/vhosts/examples.html.fr108
-rw-r--r--docs/manual/vhosts/examples.html.ja.utf82
-rw-r--r--docs/manual/vhosts/examples.html.ko.euc-kr2
-rw-r--r--docs/manual/vhosts/examples.html.tr.utf82
-rw-r--r--docs/manual/vhosts/fd-limits.html.en2
-rw-r--r--docs/manual/vhosts/fd-limits.html.fr2
-rw-r--r--docs/manual/vhosts/fd-limits.html.ja.utf82
-rw-r--r--docs/manual/vhosts/fd-limits.html.ko.euc-kr2
-rw-r--r--docs/manual/vhosts/fd-limits.html.tr.utf82
-rw-r--r--docs/manual/vhosts/index.html4
-rw-r--r--docs/manual/vhosts/index.html.de8
-rw-r--r--docs/manual/vhosts/index.html.en8
-rw-r--r--docs/manual/vhosts/index.html.fr8
-rw-r--r--docs/manual/vhosts/index.html.ja.utf88
-rw-r--r--docs/manual/vhosts/index.html.ko.euc-kr8
-rw-r--r--docs/manual/vhosts/index.html.ru.koi8-r8
-rw-r--r--docs/manual/vhosts/index.html.tr.utf88
-rw-r--r--docs/manual/vhosts/index.html.zh-cn98
-rw-r--r--docs/manual/vhosts/ip-based.html.en2
-rw-r--r--docs/manual/vhosts/ip-based.html.fr2
-rw-r--r--docs/manual/vhosts/ip-based.html.ja.utf82
-rw-r--r--docs/manual/vhosts/ip-based.html.ko.euc-kr2
-rw-r--r--docs/manual/vhosts/ip-based.html.tr.utf82
-rw-r--r--docs/manual/vhosts/mass.html.en2
-rw-r--r--docs/manual/vhosts/mass.html.ko.euc-kr2
-rw-r--r--docs/manual/vhosts/mass.html.tr.utf82
-rw-r--r--docs/manual/vhosts/name-based.html.de2
-rw-r--r--docs/manual/vhosts/name-based.html.en28
-rw-r--r--docs/manual/vhosts/name-based.html.fr59
-rw-r--r--docs/manual/vhosts/name-based.html.ja.utf82
-rw-r--r--docs/manual/vhosts/name-based.html.ko.euc-kr2
-rw-r--r--docs/manual/vhosts/name-based.html.tr.utf830
-rw-r--r--httpd.dep42
-rw-r--r--httpd.mak344
-rw-r--r--httpd.spec165
-rw-r--r--include/ap_config.h2
-rw-r--r--include/ap_mmn.h8
-rw-r--r--include/ap_release.h4
-rw-r--r--include/http_core.h2
-rw-r--r--include/httpd.h12
-rw-r--r--include/mpm_common.h13
-rw-r--r--libhttpd.dep1058
-rw-r--r--libhttpd.mak1052
-rw-r--r--modules/NWGNUmakefile8
-rw-r--r--modules/aaa/NWGNUauthbasc26
-rw-r--r--modules/aaa/NWGNUauthdigt26
-rw-r--r--modules/aaa/NWGNUauthnalias26
-rw-r--r--modules/aaa/NWGNUauthnano26
-rw-r--r--modules/aaa/NWGNUauthndbd28
-rw-r--r--modules/aaa/NWGNUauthndbm26
-rw-r--r--modules/aaa/NWGNUauthndef26
-rw-r--r--modules/aaa/NWGNUauthnfil26
-rw-r--r--modules/aaa/NWGNUauthnzldap27
-rw-r--r--modules/aaa/NWGNUauthzdbm26
-rw-r--r--modules/aaa/NWGNUauthzdef26
-rw-r--r--modules/aaa/NWGNUauthzgrp26
-rw-r--r--modules/aaa/NWGNUauthzusr26
-rw-r--r--modules/aaa/NWGNUmakefile10
-rw-r--r--modules/aaa/mod_auth_basic.dep35
-rw-r--r--modules/aaa/mod_auth_basic.mak353
-rw-r--r--modules/aaa/mod_auth_digest.dep39
-rw-r--r--modules/aaa/mod_auth_digest.mak353
-rw-r--r--modules/aaa/mod_authn_alias.dep29
-rw-r--r--modules/aaa/mod_authn_alias.mak381
-rw-r--r--modules/aaa/mod_authn_anon.dep32
-rw-r--r--modules/aaa/mod_authn_anon.mak381
-rw-r--r--modules/aaa/mod_authn_dbd.dep31
-rw-r--r--modules/aaa/mod_authn_dbd.mak409
-rw-r--r--modules/aaa/mod_authn_dbm.dep34
-rw-r--r--modules/aaa/mod_authn_dbm.mak381
-rw-r--r--modules/aaa/mod_authn_default.dep30
-rw-r--r--modules/aaa/mod_authn_default.mak381
-rw-r--r--modules/aaa/mod_authn_file.c12
-rw-r--r--modules/aaa/mod_authn_file.dep33
-rw-r--r--modules/aaa/mod_authn_file.mak381
-rw-r--r--modules/aaa/mod_authnz_ldap.dep36
-rw-r--r--modules/aaa/mod_authnz_ldap.mak381
-rw-r--r--modules/aaa/mod_authz_dbm.dep33
-rw-r--r--modules/aaa/mod_authz_dbm.mak381
-rw-r--r--modules/aaa/mod_authz_default.dep31
-rw-r--r--modules/aaa/mod_authz_default.mak381
-rw-r--r--modules/aaa/mod_authz_groupfile.dep32
-rw-r--r--modules/aaa/mod_authz_groupfile.mak381
-rw-r--r--modules/aaa/mod_authz_host.dep29
-rw-r--r--modules/aaa/mod_authz_host.mak381
-rw-r--r--modules/aaa/mod_authz_owner.dep31
-rw-r--r--modules/aaa/mod_authz_owner.mak381
-rw-r--r--modules/aaa/mod_authz_user.dep30
-rw-r--r--modules/aaa/mod_authz_user.mak381
-rw-r--r--modules/arch/netware/libprews.c7
-rw-r--r--modules/arch/netware/mod_auth_basic.def1
-rw-r--r--modules/arch/netware/mod_auth_digest.def1
-rw-r--r--modules/arch/netware/mod_authn_anon.def1
-rw-r--r--modules/arch/netware/mod_authn_dbm.def2
-rw-r--r--modules/arch/netware/mod_authn_default.def1
-rw-r--r--modules/arch/netware/mod_authn_file.def3
-rw-r--r--modules/arch/netware/mod_authz_dbm.def1
-rw-r--r--modules/arch/netware/mod_authz_default.def1
-rw-r--r--modules/arch/netware/mod_authz_groupfile.def2
-rw-r--r--modules/arch/netware/mod_authz_user.def1
-rw-r--r--modules/arch/netware/mod_cache.def5
-rw-r--r--modules/arch/netware/mod_cern_meta.def1
-rw-r--r--modules/arch/netware/mod_dav.def3
-rw-r--r--modules/arch/netware/mod_disk_cache.def3
-rw-r--r--modules/arch/netware/mod_echo.def2
-rw-r--r--modules/arch/netware/mod_expires.def1
-rw-r--r--modules/arch/netware/mod_file_cache.def2
-rw-r--r--modules/arch/netware/mod_headers.def1
-rw-r--r--modules/arch/netware/mod_info.def1
-rw-r--r--modules/arch/netware/mod_logio.def2
-rw-r--r--modules/arch/netware/mod_mem_cache.def3
-rw-r--r--modules/arch/netware/mod_mime_magic.def1
-rw-r--r--modules/arch/netware/mod_nw_ssl.c36
-rw-r--r--modules/arch/netware/mod_proxy.def6
-rw-r--r--modules/arch/netware/mod_proxy_connect.def4
-rw-r--r--modules/arch/netware/mod_proxy_ftp.def4
-rw-r--r--modules/arch/netware/mod_proxy_http.def7
-rw-r--r--modules/arch/netware/mod_rewrite.def1
-rw-r--r--modules/arch/netware/mod_speling.def1
-rw-r--r--modules/arch/netware/mod_status.def2
-rw-r--r--modules/arch/netware/mod_unique_id.def1
-rw-r--r--modules/arch/netware/mod_usertrack.def1
-rw-r--r--modules/arch/netware/mod_vhost_alias.def2
-rw-r--r--modules/arch/netware/moddavfs.def1
-rw-r--r--modules/arch/win32/mod_isapi.dep35
-rw-r--r--modules/arch/win32/mod_isapi.mak353
-rw-r--r--modules/arch/win32/mod_win32.c9
-rw-r--r--modules/cache/NWGNUdsk_cach20
-rw-r--r--modules/cache/NWGNUmakefile10
-rw-r--r--modules/cache/NWGNUmem_cach20
-rw-r--r--modules/cache/NWGNUmod_cach20
-rw-r--r--modules/cache/cache_storage.c5
-rw-r--r--modules/cache/cache_util.c70
-rw-r--r--modules/cache/mod_cache.c46
-rw-r--r--modules/cache/mod_cache.dep105
-rw-r--r--modules/cache/mod_cache.h9
-rw-r--r--modules/cache/mod_cache.mak370
-rw-r--r--modules/cache/mod_disk_cache.dep42
-rw-r--r--modules/cache/mod_disk_cache.mak381
-rw-r--r--modules/cache/mod_file_cache.dep30
-rw-r--r--modules/cache/mod_file_cache.mak353
-rw-r--r--modules/cache/mod_mem_cache.c5
-rw-r--r--modules/cache/mod_mem_cache.dep116
-rw-r--r--modules/cache/mod_mem_cache.mak407
-rw-r--r--modules/database/NWGNUmakefile28
-rw-r--r--modules/database/mod_dbd.dep32
-rw-r--r--modules/database/mod_dbd.mak353
-rw-r--r--modules/dav/fs/NWGNUmakefile26
-rw-r--r--modules/dav/fs/mod_dav_fs.dep101
-rw-r--r--modules/dav/fs/mod_dav_fs.mak407
-rw-r--r--modules/dav/lock/NWGNUmakefile25
-rw-r--r--modules/dav/lock/mod_dav_lock.dep54
-rw-r--r--modules/dav/lock/mod_dav_lock.mak389
-rw-r--r--modules/dav/main/NWGNUmakefile24
-rw-r--r--modules/dav/main/dav.imp64
-rw-r--r--modules/dav/main/mod_dav.c42
-rw-r--r--modules/dav/main/mod_dav.dep180
-rw-r--r--modules/dav/main/mod_dav.h3
-rw-r--r--modules/dav/main/mod_dav.mak406
-rw-r--r--modules/debug/NWGNUmakefile10
-rw-r--r--modules/debug/NWGNUmodbucketeer26
-rw-r--r--modules/debug/NWGNUmoddumpio26
-rw-r--r--modules/debug/mod_bucketeer.dep27
-rw-r--r--modules/debug/mod_bucketeer.mak353
-rw-r--r--modules/debug/mod_dumpio.dep27
-rw-r--r--modules/debug/mod_dumpio.mak353
-rw-r--r--modules/echo/NWGNUmakefile28
-rw-r--r--modules/echo/mod_echo.dep23
-rw-r--r--modules/echo/mod_echo.mak353
-rw-r--r--modules/experimental/NWGNUcase_flt26
-rw-r--r--modules/experimental/NWGNUcase_flt_in26
-rw-r--r--modules/experimental/NWGNUexample26
-rw-r--r--modules/experimental/NWGNUmakefile10
-rw-r--r--modules/experimental/mod_case_filter.dep24
-rw-r--r--modules/experimental/mod_case_filter.mak353
-rw-r--r--modules/experimental/mod_case_filter_in.dep24
-rw-r--r--modules/experimental/mod_case_filter_in.mak353
-rw-r--r--modules/experimental/mod_example.dep33
-rw-r--r--modules/experimental/mod_example.mak353
-rw-r--r--modules/filters/NWGNUcharsetl26
-rw-r--r--modules/filters/NWGNUdeflate28
-rw-r--r--modules/filters/NWGNUextfiltr26
-rw-r--r--modules/filters/NWGNUmakefile10
-rw-r--r--modules/filters/NWGNUmod_filter26
-rw-r--r--modules/filters/NWGNUreqtimeout26
-rw-r--r--modules/filters/NWGNUsubstitute26
-rw-r--r--modules/filters/mod_charset_lite.dep33
-rw-r--r--modules/filters/mod_charset_lite.mak353
-rw-r--r--modules/filters/mod_deflate.dep28
-rw-r--r--modules/filters/mod_deflate.mak353
-rw-r--r--modules/filters/mod_ext_filter.dep32
-rw-r--r--modules/filters/mod_ext_filter.mak353
-rw-r--r--modules/filters/mod_filter.dep27
-rw-r--r--modules/filters/mod_filter.mak353
-rw-r--r--modules/filters/mod_include.dep36
-rw-r--r--modules/filters/mod_include.mak353
-rw-r--r--modules/filters/mod_reqtimeout.dep32
-rw-r--r--modules/filters/mod_reqtimeout.mak353
-rw-r--r--modules/filters/mod_substitute.dep29
-rw-r--r--modules/filters/mod_substitute.mak353
-rw-r--r--modules/generators/NWGNUautoindex28
-rw-r--r--modules/generators/NWGNUinfo26
-rw-r--r--modules/generators/NWGNUmakefile10
-rw-r--r--modules/generators/NWGNUmod_asis28
-rw-r--r--modules/generators/NWGNUmod_cgi30
-rw-r--r--modules/generators/NWGNUstatus26
-rw-r--r--modules/generators/config5.m427
-rw-r--r--modules/generators/mod_asis.dep31
-rw-r--r--modules/generators/mod_asis.mak353
-rw-r--r--modules/generators/mod_autoindex.c9
-rw-r--r--modules/generators/mod_autoindex.dep35
-rw-r--r--modules/generators/mod_autoindex.mak353
-rw-r--r--modules/generators/mod_cgi.dep37
-rw-r--r--modules/generators/mod_cgi.mak353
-rw-r--r--modules/generators/mod_info.dep37
-rw-r--r--modules/generators/mod_info.mak353
-rw-r--r--modules/generators/mod_status.dep34
-rw-r--r--modules/generators/mod_status.mak353
-rw-r--r--modules/http/http_filters.c17
-rw-r--r--modules/http/http_protocol.c4
-rw-r--r--modules/http/http_request.c5
-rw-r--r--modules/http/mod_mime.dep29
-rw-r--r--modules/http/mod_mime.mak353
-rw-r--r--modules/ldap/NWGNUmakefile31
-rw-r--r--modules/ldap/mod_ldap.dep92
-rw-r--r--modules/ldap/mod_ldap.mak371
-rw-r--r--modules/loggers/NWGNUforensic28
-rw-r--r--modules/loggers/NWGNUmakefile10
-rw-r--r--modules/loggers/NWGNUmodlogio28
-rw-r--r--modules/loggers/mod_log_config.dep35
-rw-r--r--modules/loggers/mod_log_config.mak353
-rw-r--r--modules/loggers/mod_log_forensic.dep28
-rw-r--r--modules/loggers/mod_log_forensic.mak353
-rw-r--r--modules/loggers/mod_logio.dep32
-rw-r--r--modules/loggers/mod_logio.mak353
-rw-r--r--modules/mappers/NWGNUactions26
-rw-r--r--modules/mappers/NWGNUimagemap28
-rw-r--r--modules/mappers/NWGNUmakefile10
-rw-r--r--modules/mappers/NWGNUrewrite28
-rw-r--r--modules/mappers/NWGNUspeling26
-rw-r--r--modules/mappers/NWGNUuserdir28
-rw-r--r--modules/mappers/NWGNUvhost26
-rw-r--r--modules/mappers/mod_actions.dep32
-rw-r--r--modules/mappers/mod_actions.mak353
-rw-r--r--modules/mappers/mod_alias.dep29
-rw-r--r--modules/mappers/mod_alias.mak353
-rw-r--r--modules/mappers/mod_dir.dep32
-rw-r--r--modules/mappers/mod_dir.mak353
-rw-r--r--modules/mappers/mod_imagemap.dep34
-rw-r--r--modules/mappers/mod_imagemap.mak353
-rw-r--r--modules/mappers/mod_negotiation.dep32
-rw-r--r--modules/mappers/mod_negotiation.mak353
-rw-r--r--modules/mappers/mod_rewrite.c21
-rw-r--r--modules/mappers/mod_rewrite.dep36
-rw-r--r--modules/mappers/mod_rewrite.mak353
-rw-r--r--modules/mappers/mod_speling.dep29
-rw-r--r--modules/mappers/mod_speling.mak353
-rw-r--r--modules/mappers/mod_userdir.c38
-rw-r--r--modules/mappers/mod_userdir.dep24
-rw-r--r--modules/mappers/mod_userdir.mak353
-rw-r--r--modules/mappers/mod_vhost_alias.dep28
-rw-r--r--modules/mappers/mod_vhost_alias.mak353
-rw-r--r--modules/metadata/NWGNUcernmeta26
-rw-r--r--modules/metadata/NWGNUexpires26
-rw-r--r--modules/metadata/NWGNUheaders28
-rw-r--r--modules/metadata/NWGNUmakefile10
-rw-r--r--modules/metadata/NWGNUmimemagi26
-rw-r--r--modules/metadata/NWGNUmodident26
-rw-r--r--modules/metadata/NWGNUmodversion26
-rw-r--r--modules/metadata/NWGNUuniqueid26
-rw-r--r--modules/metadata/NWGNUusertrk26
-rw-r--r--modules/metadata/mod_cern_meta.dep29
-rw-r--r--modules/metadata/mod_cern_meta.mak353
-rw-r--r--modules/metadata/mod_env.dep25
-rw-r--r--modules/metadata/mod_env.mak353
-rw-r--r--modules/metadata/mod_expires.dep28
-rw-r--r--modules/metadata/mod_expires.mak353
-rw-r--r--modules/metadata/mod_headers.dep31
-rw-r--r--modules/metadata/mod_headers.mak353
-rw-r--r--modules/metadata/mod_ident.dep29
-rw-r--r--modules/metadata/mod_ident.mak353
-rw-r--r--modules/metadata/mod_mime_magic.dep32
-rw-r--r--modules/metadata/mod_mime_magic.mak353
-rw-r--r--modules/metadata/mod_setenvif.dep30
-rw-r--r--modules/metadata/mod_setenvif.mak353
-rw-r--r--modules/metadata/mod_unique_id.dep25
-rw-r--r--modules/metadata/mod_unique_id.mak353
-rw-r--r--modules/metadata/mod_usertrack.dep28
-rw-r--r--modules/metadata/mod_usertrack.mak353
-rw-r--r--modules/metadata/mod_version.dep24
-rw-r--r--modules/metadata/mod_version.mak353
-rw-r--r--modules/proxy/NWGNUmakefile10
-rw-r--r--modules/proxy/NWGNUproxy32
-rw-r--r--modules/proxy/NWGNUproxyajp28
-rw-r--r--modules/proxy/NWGNUproxybalancer28
-rw-r--r--modules/proxy/NWGNUproxycon28
-rw-r--r--modules/proxy/NWGNUproxyftp28
-rw-r--r--modules/proxy/NWGNUproxyhtp28
-rw-r--r--modules/proxy/NWGNUproxyscgi28
-rw-r--r--modules/proxy/mod_proxy.dep86
-rw-r--r--modules/proxy/mod_proxy.mak361
-rw-r--r--modules/proxy/mod_proxy_ajp.dep201
-rw-r--r--modules/proxy/mod_proxy_ajp.mak416
-rw-r--r--modules/proxy/mod_proxy_balancer.dep46
-rw-r--r--modules/proxy/mod_proxy_balancer.mak380
-rw-r--r--modules/proxy/mod_proxy_connect.c3
-rw-r--r--modules/proxy/mod_proxy_connect.dep42
-rw-r--r--modules/proxy/mod_proxy_connect.mak380
-rw-r--r--modules/proxy/mod_proxy_ftp.dep43
-rw-r--r--modules/proxy/mod_proxy_ftp.mak380
-rw-r--r--modules/proxy/mod_proxy_http.c12
-rw-r--r--modules/proxy/mod_proxy_http.dep42
-rw-r--r--modules/proxy/mod_proxy_http.mak380
-rw-r--r--modules/proxy/mod_proxy_scgi.c2
-rw-r--r--modules/proxy/mod_proxy_scgi.dep43
-rw-r--r--modules/proxy/mod_proxy_scgi.mak380
-rw-r--r--modules/ssl/NWGNUmakefile51
-rw-r--r--modules/ssl/mod_ssl.dep1017
-rw-r--r--modules/ssl/mod_ssl.mak733
-rw-r--r--modules/ssl/ssl_engine_config.c5
-rw-r--r--modules/ssl/ssl_engine_init.c7
-rw-r--r--modules/ssl/ssl_engine_io.c8
-rw-r--r--modules/ssl/ssl_private.h4
-rw-r--r--os/config.m44
-rw-r--r--os/netware/pre_nw.h6
-rw-r--r--os/netware/util_nw.c37
-rw-r--r--os/unix/unixd.c17
-rw-r--r--os/unix/unixd.h3
-rw-r--r--os/win32/Makefile.in5
-rw-r--r--os/win32/ap_regkey.c14
-rw-r--r--os/win32/os.h9
-rw-r--r--os/win32/util_win32.c3
-rw-r--r--server/Makefile.in2
-rw-r--r--server/NWGNUmakefile12
-rw-r--r--server/core.c44
-rw-r--r--server/gen_test_char.dep5
-rw-r--r--server/gen_test_char.mak234
-rw-r--r--server/mpm/config.m44
-rw-r--r--server/mpm/prefork/prefork.c9
-rw-r--r--server/mpm/winnt/Makefile.in5
-rw-r--r--server/mpm/winnt/child.c58
-rw-r--r--server/mpm/winnt/config.m43
-rw-r--r--server/mpm/winnt/mpm_winnt.c115
-rw-r--r--server/mpm/winnt/mpm_winnt.h6
-rw-r--r--server/mpm/winnt/nt_eventlog.c8
-rw-r--r--server/mpm/winnt/service.c47
-rw-r--r--server/mpm_common.c2
-rw-r--r--server/protocol.c33
-rw-r--r--server/request.c2
-rw-r--r--server/util.c11
-rw-r--r--server/util_script.c8
-rw-r--r--srclib/apr-util/CHANGES21
-rw-r--r--srclib/apr-util/NOTICE2
-rw-r--r--srclib/apr-util/NWGNUmakefile56
-rw-r--r--srclib/apr-util/build-outputs.mk70
-rw-r--r--srclib/apr-util/build.conf4
-rw-r--r--srclib/apr-util/build/apu-conf.m42
-rw-r--r--srclib/apr-util/build/dbd.m410
-rw-r--r--srclib/apr-util/build/dbm.m476
-rw-r--r--srclib/apr-util/build/find_apr.m42
-rw-r--r--srclib/apr-util/build/nw_apu_export.inc1
-rwxr-xr-xsrclib/apr-util/configure1965
-rw-r--r--srclib/apr-util/dbd/NWGNUdbdfreetds16
-rw-r--r--srclib/apr-util/dbd/NWGNUdbdmysql29
-rw-r--r--srclib/apr-util/dbd/NWGNUdbdpgsql28
-rw-r--r--srclib/apr-util/dbd/NWGNUdbdsqli216
-rw-r--r--srclib/apr-util/dbd/NWGNUdbdsqli316
-rw-r--r--srclib/apr-util/dbd/NWGNUmakefile6
-rw-r--r--srclib/apr-util/dbd/apr_dbd_freetds.mak8
-rw-r--r--srclib/apr-util/dbd/apr_dbd_mysql.mak8
-rw-r--r--srclib/apr-util/dbd/apr_dbd_odbc.c526
-rw-r--r--srclib/apr-util/dbd/apr_dbd_oracle.c2
-rw-r--r--srclib/apr-util/dbd/apr_dbd_oracle.mak8
-rw-r--r--srclib/apr-util/dbd/apr_dbd_pgsql.mak8
-rw-r--r--srclib/apr-util/dbd/apr_dbd_sqlite2.mak8
-rw-r--r--srclib/apr-util/dbd/apr_dbd_sqlite3.mak8
-rw-r--r--srclib/apr-util/dbm/NWGNUdbmdb28
-rw-r--r--srclib/apr-util/dbm/NWGNUdbmgdbm28
-rw-r--r--srclib/apr-util/dbm/NWGNUmakefile4
-rw-r--r--srclib/apr-util/dbm/apr_dbm_db.mak8
-rw-r--r--srclib/apr-util/dbm/apr_dbm_gdbm.mak8
-rw-r--r--srclib/apr-util/include/apu_version.h2
-rw-r--r--srclib/apr-util/include/private/apr_dbd_odbc_v2.h50
-rw-r--r--srclib/apr-util/ldap/NWGNUmakefile16
-rw-r--r--srclib/apr-util/ldap/apr_ldap.mak8
-rw-r--r--srclib/apr-util/ldap/apr_ldap_rebind.c34
-rw-r--r--srclib/apr-util/libaprutil.rc2
-rw-r--r--srclib/apr-util/misc/apr_queue.c16
-rw-r--r--srclib/apr-util/misc/apr_thread_pool.c12
-rw-r--r--srclib/apr-util/test/NWGNUaputest28
-rw-r--r--srclib/apr-util/test/NWGNUmakefile8
-rw-r--r--srclib/apr-util/test/nw_misc.c1
-rw-r--r--srclib/apr-util/test/testpass.c12
-rw-r--r--srclib/apr-util/uri/NWGNUmakefile257
-rw-r--r--srclib/apr-util/xml/NWGNUmakefile20
-rw-r--r--srclib/apr-util/xml/expat/Makefile.in6
-rwxr-xr-xsrclib/apr-util/xml/expat/conftools/PrintPath22
-rw-r--r--srclib/apr-util/xml/expat/lib/expat.dsp20
-rw-r--r--srclib/apr-util/xml/expat/lib/expat_config.hnw1
-rw-r--r--srclib/apr/CHANGES80
-rw-r--r--srclib/apr/Makefile.in2
-rw-r--r--srclib/apr/Makefile.win10
-rw-r--r--srclib/apr/NOTICE2
-rw-r--r--srclib/apr/NWGNUmakefile93
-rw-r--r--srclib/apr/README16
-rw-r--r--srclib/apr/apr.dep558
-rw-r--r--srclib/apr/apr.dsp8
-rw-r--r--srclib/apr/apr.mak1779
-rw-r--r--srclib/apr/atomic/win32/apr_atomic.c2
-rw-r--r--srclib/apr/build-outputs.mk375
-rw-r--r--srclib/apr/build/NWGNUenvironment.inc157
-rw-r--r--srclib/apr/build/NWGNUhead.inc64
-rw-r--r--srclib/apr/build/NWGNUmakefile102
-rw-r--r--srclib/apr/build/NWGNUtail.inc297
-rw-r--r--srclib/apr/build/aplibtool.c6
-rw-r--r--srclib/apr/build/apr_hints.m462
-rw-r--r--srclib/apr/build/apr_rules.mk.in1
-rw-r--r--srclib/apr/build/aprapp.dep10
-rw-r--r--srclib/apr/build/aprapp.mak614
-rw-r--r--srclib/apr/build/find_apr.m42
-rw-r--r--srclib/apr/build/fixwin32mak.pl22
-rwxr-xr-xsrclib/apr/build/gen-build.py11
-rw-r--r--srclib/apr/build/libaprapp.dep19
-rw-r--r--srclib/apr/build/libaprapp.mak632
-rw-r--r--srclib/apr/build/make_nw_export.awk75
-rwxr-xr-xsrclib/apr/buildconf55
-rwxr-xr-xsrclib/apr/configure1273
-rw-r--r--srclib/apr/configure.in177
-rw-r--r--srclib/apr/file_io/netware/mktemp.c8
-rw-r--r--srclib/apr/file_io/netware/pipe.c2
-rw-r--r--srclib/apr/file_io/os2/filedup.c2
-rw-r--r--srclib/apr/file_io/os2/open.c30
-rw-r--r--srclib/apr/file_io/os2/readwrite.c6
-rw-r--r--srclib/apr/file_io/unix/copy.c6
-rw-r--r--srclib/apr/file_io/unix/filedup.c10
-rw-r--r--srclib/apr/file_io/unix/mktemp.c6
-rw-r--r--srclib/apr/file_io/unix/open.c58
-rw-r--r--srclib/apr/file_io/unix/pipe.c2
-rw-r--r--srclib/apr/file_io/unix/readwrite.c12
-rw-r--r--srclib/apr/file_io/win32/dir.c24
-rw-r--r--srclib/apr/file_io/win32/filedup.c3
-rw-r--r--srclib/apr/file_io/win32/filepath.c26
-rw-r--r--srclib/apr/file_io/win32/filestat.c20
-rw-r--r--srclib/apr/file_io/win32/filesys.c12
-rw-r--r--srclib/apr/file_io/win32/open.c82
-rw-r--r--srclib/apr/file_io/win32/pipe.c67
-rw-r--r--srclib/apr/file_io/win32/readwrite.c8
-rw-r--r--srclib/apr/file_io/win32/seek.c8
-rw-r--r--srclib/apr/include/apr.h.in133
-rw-r--r--srclib/apr/include/apr.hnw278
-rw-r--r--srclib/apr/include/apr.hw1
-rw-r--r--srclib/apr/include/apr_file_io.h3
-rw-r--r--srclib/apr/include/apr_poll.h6
-rw-r--r--srclib/apr/include/apr_portable.h8
-rw-r--r--srclib/apr/include/apr_ring.h4
-rw-r--r--srclib/apr/include/apr_tables.h80
-rw-r--r--srclib/apr/include/apr_version.h4
-rw-r--r--srclib/apr/include/apr_want.h11
-rw-r--r--srclib/apr/include/arch/netware/apr_arch_file_io.h3
-rw-r--r--srclib/apr/include/arch/netware/apr_arch_pre_nw.h36
-rw-r--r--srclib/apr/include/arch/netware/apr_arch_threadproc.h12
-rw-r--r--srclib/apr/include/arch/netware/apr_private.h75
-rw-r--r--srclib/apr/include/arch/os2/apr_arch_file_io.h13
-rw-r--r--srclib/apr/include/arch/unix/apr_arch_inherit.h4
-rw-r--r--srclib/apr/include/arch/unix/apr_arch_poll_private.h1
-rw-r--r--srclib/apr/include/arch/unix/apr_private.h.in78
-rw-r--r--srclib/apr/include/arch/win32/apr_arch_file_io.h12
-rw-r--r--srclib/apr/include/arch/win32/apr_arch_misc.h151
-rw-r--r--srclib/apr/libapr.dep561
-rw-r--r--srclib/apr/libapr.dsp8
-rw-r--r--srclib/apr/libapr.mak1917
-rw-r--r--srclib/apr/libapr.rc2
-rw-r--r--srclib/apr/locks/netware/thread_rwlock.c8
-rw-r--r--srclib/apr/locks/os2/proc_mutex.c2
-rw-r--r--srclib/apr/locks/unix/proc_mutex.c10
-rw-r--r--srclib/apr/memory/unix/apr_pools.c86
-rw-r--r--srclib/apr/misc/netware/libprews.c4
-rw-r--r--srclib/apr/misc/netware/start.c25
-rw-r--r--srclib/apr/misc/unix/errorcodes.c100
-rw-r--r--srclib/apr/misc/win32/internal.c2
-rw-r--r--srclib/apr/misc/win32/misc.c12
-rw-r--r--srclib/apr/misc/win32/rand.c1
-rw-r--r--srclib/apr/misc/win32/start.c47
-rw-r--r--srclib/apr/mmap/win32/mmap.c1
-rw-r--r--srclib/apr/network_io/unix/sockaddr.c28
-rw-r--r--srclib/apr/network_io/unix/sockets.c25
-rw-r--r--srclib/apr/network_io/win32/sendrecv.c3
-rw-r--r--srclib/apr/network_io/win32/sockets.c9
-rw-r--r--srclib/apr/network_io/win32/sockopt.c25
-rw-r--r--srclib/apr/passwd/apr_getpass.c12
-rw-r--r--srclib/apr/poll/unix/poll.c22
-rw-r--r--srclib/apr/poll/unix/pollset.c40
-rw-r--r--srclib/apr/poll/unix/select.c19
-rw-r--r--srclib/apr/shmem/unix/shm.c6
-rw-r--r--srclib/apr/strings/apr_fnmatch.c611
-rw-r--r--srclib/apr/strings/apr_snprintf.c23
-rw-r--r--srclib/apr/test/NWGNUaprtest41
-rw-r--r--srclib/apr/test/NWGNUechod8
-rw-r--r--srclib/apr/test/NWGNUglobalmutexchild31
-rw-r--r--srclib/apr/test/NWGNUmakefile8
-rw-r--r--srclib/apr/test/NWGNUmod_test31
-rw-r--r--srclib/apr/test/NWGNUproc_child31
-rw-r--r--srclib/apr/test/NWGNUreadchild31
-rw-r--r--srclib/apr/test/NWGNUsockchild31
-rw-r--r--srclib/apr/test/NWGNUsockperf8
-rw-r--r--srclib/apr/test/NWGNUtestatmc34
-rw-r--r--srclib/apr/test/NWGNUtryread35
-rw-r--r--srclib/apr/test/nw_misc.c3
-rw-r--r--srclib/apr/test/sendfile.c4
-rw-r--r--srclib/apr/test/testdir.c2
-rw-r--r--srclib/apr/test/testdup.c16
-rw-r--r--srclib/apr/test/testfile.c78
-rw-r--r--srclib/apr/test/testfileinfo.c12
-rw-r--r--srclib/apr/test/testflock.c2
-rw-r--r--srclib/apr/test/testfnmatch.c180
-rw-r--r--srclib/apr/test/testmmap.c2
-rw-r--r--srclib/apr/test/testnames.c44
-rw-r--r--srclib/apr/test/testpoll.c64
-rw-r--r--srclib/apr/test/testproc.c6
-rw-r--r--srclib/apr/test/testrand.c2
-rw-r--r--srclib/apr/test/testshm.c2
-rw-r--r--srclib/apr/test/testsock.c44
-rw-r--r--srclib/apr/test/tryread.c2
-rw-r--r--srclib/apr/threadproc/netware/proc.c22
-rw-r--r--srclib/apr/threadproc/netware/signals.c7
-rw-r--r--srclib/apr/threadproc/netware/thread.c53
-rw-r--r--srclib/apr/threadproc/unix/proc.c5
-rw-r--r--srclib/apr/threadproc/win32/signals.c3
-rw-r--r--srclib/apr/threadproc/win32/threadpriv.c2
-rw-r--r--srclib/apr/time/win32/access.c204
-rw-r--r--srclib/apr/time/win32/timestr.c8
-rw-r--r--srclib/apr/user/win32/groupinfo.c4
-rw-r--r--srclib/apr/user/win32/userinfo.c12
-rw-r--r--srclib/pcre/NWGNUmakefile8
-rw-r--r--srclib/pcre/dftables.dep21
-rw-r--r--srclib/pcre/dftables.mak238
-rw-r--r--srclib/pcre/pcre.dep51
-rw-r--r--srclib/pcre/pcre.mak340
-rw-r--r--support/Makefile.in6
-rw-r--r--support/NWGNUab18
-rw-r--r--support/NWGNUhtcacheclean18
-rw-r--r--support/NWGNUhtdbm18
-rw-r--r--support/NWGNUhtdigest18
-rw-r--r--support/NWGNUhtpasswd18
-rw-r--r--support/NWGNUhttxt2dbm18
-rw-r--r--support/NWGNUlogres18
-rw-r--r--support/NWGNUmakefile10
-rw-r--r--support/NWGNUrotlogs16
-rw-r--r--support/ab.c6
-rw-r--r--support/ab.dep16
-rw-r--r--support/ab.mak317
-rw-r--r--support/abs.dep16
-rw-r--r--support/abs.mak336
-rw-r--r--support/config.m414
-rw-r--r--support/htcacheclean.dep15
-rw-r--r--support/htcacheclean.mak317
-rw-r--r--support/htdbm.dep14
-rw-r--r--support/htdbm.mak317
-rw-r--r--support/htdigest.dep12
-rw-r--r--support/htdigest.mak317
-rw-r--r--support/htpasswd.c37
-rw-r--r--support/htpasswd.dep13
-rw-r--r--support/htpasswd.mak317
-rw-r--r--support/httxt2dbm.dep12
-rw-r--r--support/httxt2dbm.mak317
-rw-r--r--support/logresolve.dep9
-rw-r--r--support/logresolve.mak317
-rw-r--r--support/rotatelogs.dep11
-rw-r--r--support/rotatelogs.mak317
-rw-r--r--support/win32/ApacheMonitor.dep17
-rw-r--r--support/win32/ApacheMonitor.mak309
-rw-r--r--support/win32/wintty.dep5
-rw-r--r--support/win32/wintty.mak317
1207 files changed, 77934 insertions, 13913 deletions
diff --git a/CHANGES b/CHANGES
index 09a2c64c..3992198a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,103 @@
- -*- coding: utf-8 -*-
+ -*- coding: utf-8 -*-
+Changes with Apache 2.2.19
+
+ *) Revert ABI breakage in 2.2.18 caused by the function signature change
+ of ap_unescape_url_keep2f(). This release restores the signature from
+ 2.2.17 and prior, and introduces ap_unescape_url_keep2f_ex().
+ [Eric Covener]
+
+Changes with Apache 2.2.18
+
+ *) Log an error for failures to read a chunk-size, and return 408 instead
+ 413 when this is due to a read timeout. This change also fixes some cases
+ of two error documents being sent in the response for the same scenario.
+ [Eric Covener] PR49167
+
+ *) core: Only log a 408 if it is no keepalive timeout. PR 39785
+ [Ruediger Pluem, Mark Montague <markmont umich.edu>]
+
+ *) core: Treat timeout reading request as 408 error, not 400.
+ Log 408 errors in access log as was done in Apache 1.3.x.
+ PR 39785 [Nobutaka Mantani <nobutaka nobutaka.org>, Stefan Fritsch,
+ Dan Poirier]
+
+ *) Core HTTP: disable keepalive when the Client has sent
+ Expect: 100-continue
+ but we respond directly with a non-100 response. Keepalive here led
+ to data from clients continuing being treated as a new request.
+ PR 47087. [Nick Kew]
+
+ *) htpasswd: Change the default algorithm for htpasswd to MD5 on all
+ platforms. Crypt with its 8 character limit is not useful anymore;
+ improve out of disk space handling (PR 30877); print a warning if
+ a password is truncated by crypt. [Stefan Fritsch]
+
+ *) mod_win32: Added shebang check for '! so that .vbs scripts work as CGI.
+ Win32's cscript interpreter can only use a single quote as comment char.
+ [Guenter Knauf]
+
+ *) configure: Fix htpasswd/htdbm libcrypt link errors with some newer
+ linkers. [Stefan Fritsch]
+
+ *) MinGW build improvements. PR 49535. [John Vandenberg
+ <jayvdb gmail.com>, Jeff Trawick]
+
+ *) mod_ssl, ab: Support OpenSSL compiled without SSLv2 support.
+ [Stefan Fritsch]
+
+ *) core: AllowEncodedSlashes new option NoDecode to allow encoded slashes
+ in request URL path info but not decode them. PR 35256,
+ PR 46830. [Dan Poirier]
+
+ *) mod_rewrite: Allow to unset environment variables. PR 50746.
+ [Rainer Jung]
+
+ *) suEXEC: Add Suexec directive to disable suEXEC without renaming the
+ binary (Suexec Off), or force startup failure if suEXEC is required
+ but not supported (Suexec On). [Jeff Trawick]
+
+ *) mod_proxy: Put the worker in error state if the SSL handshake with the
+ backend fails. PR 50332.
+ [Daniel Ruggeri <DRuggeri primary.net>, Ruediger Pluem]
+
+ *) prefork: Update MPM state in children during a graceful restart.
+ Allow the HTTP connection handling loop to terminate early
+ during a graceful restart. PR 41743.
+ [Andrew Punch <andrew.punch 247realmedia.com>]
+
+ *) mod_ssl: Correctly read full lines in input filter when the line is
+ incomplete during first read. PR 50481. [Ruediger Pluem]
+
+ *) mod_autoindex: Merge IndexOptions from server to directory context when
+ the directory has no mod_autoindex directives. PR 47766. [Eric Covener]
+
+ *) mod_cache: Make sure that we never allow a 304 Not Modified response
+ that we asked for to leak to the client should the 304 response be
+ uncacheable. PR45341 [Graham Leggett]
+
+ *) mod_dav: Send 400 error if malformed Content-Range header is received for
+ a put request (RFC 2616 14.16). PR 49825. [Stefan Fritsch]
+
+ *) mod_userdir: Add merging of enable, disable, and filename arguments
+ to UserDir directive, leaving enable/disable of userlists unmerged.
+ PR 44076 [Eric Covener]
+
+ *) core: Honor 'AcceptPathInfo OFF' during internal redirects,
+ such as per-directory mod_rewrite substitutions. PR 50349.
+ [Eric Covener]
+
+ *) mod_cache: Check the request to determine whether we are allowed
+ to return cached content at all, and respect a "Cache-Control:
+ no-cache" header from a client. Previously, "no-cache" would
+ behave like "max-age=0". [Graham Leggett]
+
+ *) mod_mem_cache: Add a debug msg when a streaming response exceeds
+ MCacheMaxStreamingBuffer, since mod_cache will follow up with a scary
+ 'memory allocation failed' debug message. PR 49604. [Eric Covener]
+
+ *) proxy_connect: Don't give up in the middle of a CONNECT tunnel
+ when the child process is starting to exit. PR50220. [Eric Covener]
+
Changes with Apache 2.2.17
*) prefork MPM: Run cleanups for final request when process exits gracefully
@@ -2643,6 +2742,3 @@ Changes with Apache 2.0.x and later:
*) http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/CHANGES?view=markup
-Changes with Apache 1.3.x and later:
-
- *) http://svn.apache.org/viewvc/httpd/httpd/branches/1.3.x/src/CHANGES?view=markup
diff --git a/NWGNUmakefile b/NWGNUmakefile
index 31ee905e..aa7756a2 100644
--- a/NWGNUmakefile
+++ b/NWGNUmakefile
@@ -45,7 +45,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -62,13 +62,13 @@ XINCDIRS += \
$(APR)/include \
$(APRUTIL)/include \
$(AP_WORK)/include \
- $(AP_WORK)/modules/filters/ \
- $(AP_WORK)/modules/generators/ \
- $(AP_WORK)/modules/http/ \
- $(AP_WORK)/modules/loggers/ \
- $(AP_WORK)/modules/mappers/ \
- $(AP_WORK)/modules/proxy/ \
- $(AP_WORK)/server/mpm/NetWare \
+ $(HTTPD) \
+ $(STDMOD)/filters \
+ $(STDMOD)/generators \
+ $(STDMOD)/loggers \
+ $(STDMOD)/mappers \
+ $(STDMOD)/proxy \
+ $(SERVER)/mpm/NetWare \
$(PCRE) \
$(NWOS) \
$(EOLIST)
@@ -165,7 +165,7 @@ NLM_SCREEN_NAME = Apache $(VERSION_STR) for NetWare
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -178,12 +178,12 @@ NLM_STACK_SIZE = 65536
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -213,6 +213,7 @@ TARGET_nlm = \
# If there is an LIB target, put it here
#
TARGET_lib = \
+ $(PCRELIB) \
$(EOLIST)
#
@@ -251,7 +252,6 @@ FILES_nlm_objs = \
$(OBJDIR)/modules.o \
$(OBJDIR)/mpm_common.o \
$(OBJDIR)/mpm_netware.o \
- $(OBJDIR)/pcre.o \
$(OBJDIR)/protocol.o \
$(OBJDIR)/provider.o \
$(OBJDIR)/request.o \
@@ -281,7 +281,8 @@ endif
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PCRELIB) \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -313,7 +314,7 @@ FILE_nlm_copyright =
#
FILES_nlm_Ximports = \
@netware.imp \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
GetCurrentAddressSpace \
$(EOLIST)
@@ -328,16 +329,38 @@ endif
# Any symbols exported to here
#
FILES_nlm_exports = \
- @$(NWOS)/httpd.imp \
+ @httpd.imp \
$(EOLIST)
#
# These are the OBJ files needed to create the LIB target above.
# Paths must all use the '/' character
#
+ifeq "$(wildcard $(PCRE)/pcre.c)" "$(PCRE)/pcre.c"
+
FILES_lib_objs = \
+ $(OBJDIR)/pcre.o \
$(EOLIST)
+else
+
+FILES_lib_objs = \
+ $(OBJDIR)/pcre_compile.o \
+ $(OBJDIR)/pcre_exec.o \
+ $(OBJDIR)/pcre_fullinfo.o \
+ $(OBJDIR)/pcre_globals.o \
+ $(OBJDIR)/pcre_info.o \
+ $(OBJDIR)/pcre_newline.o \
+ $(OBJDIR)/pcre_tables.o \
+ $(OBJDIR)/pcre_try_flipped.o \
+ $(OBJDIR)/pcre_version.o \
+ $(OBJDIR)/chartables.o \
+ $(EOLIST)
+
+XDEFINES += -DHAVE_CONFIG_H
+
+endif
+
#
# implement targets and dependancies (leave this section alone)
#
@@ -348,57 +371,70 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
+MKCNF = $(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -v SSLPORT=$(SSLPORT) -v MODSSL=$(WITH_MOD_SSL) -v BSDSKT=$(USE_STDSOCKETS) -f build/mkconfNW.awk $1 > $2
+
install :: nlms instscripts FORCE
- -copy $(OBJDIR)\Apache2.nlm $(INSTALL)\$(BASEDIR)\*.*
- -copy ABOUT_APACHE $(INSTALL)\$(BASEDIR)\*.*
- -copy README $(INSTALL)\$(BASEDIR)\*.*
- -copy STATUS $(INSTALL)\$(BASEDIR)\*.*
- -copy LICENSE $(INSTALL)\$(BASEDIR)\*.*
- -copy CHANGES $(INSTALL)\$(BASEDIR)\*.*
- -copy VERSIONING $(INSTALL)\$(BASEDIR)\*.*
- -copy support\dbmmanage.in $(INSTALL)\$(BASEDIR)\bin\dbmmanage.pl
- -copy support\logresolve.pl.in $(INSTALL)\$(BASEDIR)\bin\logresolve.pl
- -copy support\split-logfile.in $(INSTALL)\$(BASEDIR)\bin\split-logfile.pl
- -$(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -v SSLPORT=$(SSLPORT) -v MODSSL=$(WITH_MOD_SSL) -v BSDSKT=$(USE_STDSOCKETS) -f build\mkconfnw.awk docs\conf\httpd.conf.in >$(INSTALL)\$(BASEDIR)\conf\httpd.conf
- $(CHKNOT) $(INSTALL)\$(BASEDIR)\conf\extra\nul mkdir $(INSTALL)\$(BASEDIR)\conf\extra
- -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-autoindex.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-autoindex.conf
- -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-dav.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-dav.conf
- -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-default.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-default.conf
- -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-info.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-info.conf
- -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-languages.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-languages.conf
- -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-manual.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-manual.conf
- -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-mpm.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-mpm.conf
- -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-multilang-errordoc.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-multilang-errordoc.conf
- -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-userdir.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-userdir.conf
- -$(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -f build\mkconfnw.awk docs\conf\extra\httpd-vhosts.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-vhosts.conf
- -$(AWK) -v BDIR=$(BASEDIR) -v SSLPORT=$(SSLPORT) -f build\mkconfnw.awk docs\conf\extra\httpd-ssl.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-ssl.conf
- -copy docs\conf\magic $(INSTALL)\$(BASEDIR)\conf\magic
- -copy docs\conf\mime.types $(INSTALL)\$(BASEDIR)\conf\mime.types
- -copy docs\conf\charset.conv $(INSTALL)\$(BASEDIR)\conf\charset.conv
- -copy docs\cgi-examples\printenv $(INSTALL)\$(BASEDIR)\cgi-bin\printenv.pl
- @xcopy $(XCOPYSW) docs\error $(INSTALL)\$(BASEDIR)\error
- @xcopy $(XCOPYSW) docs\docroot $(INSTALL)\$(BASEDIR)\htdocs
- @xcopy $(XCOPYSW) docs\icons $(INSTALL)\$(BASEDIR)\icons
- @xcopy $(XCOPYSW) docs\man $(INSTALL)\$(BASEDIR)\man
- @xcopy $(XCOPYSW) docs\manual $(INSTALL)\$(BASEDIR)\manual
+ $(call COPY,$(OBJDIR)/$(NLM_NAME).nlm, $(INSTALLBASE)/)
+ $(call COPY,ABOUT_APACHE, $(INSTALLBASE)/)
+ $(call COPY,CHANGES, $(INSTALLBASE)/)
+ $(call COPY,LICENSE, $(INSTALLBASE)/)
+ $(call COPY,README, $(INSTALLBASE)/)
+ $(call COPY,VERSIONING, $(INSTALLBASE)/)
+ $(call COPY,STATUS, $(INSTALLBASE)/)
+ $(call COPY,support/dbmmanage.in, $(INSTALLBASE)/bin/dbmmanage.pl)
+ $(call COPY,support/logresolve.pl.in, $(INSTALLBASE)/bin/logresolve.pl)
+ $(call COPY,support/split-logfile.in, $(INSTALLBASE)/bin/split-logfile.pl)
+ $(call COPY,support/check_forensic, $(INSTALLBASE)/bin/check_forensic.sh)
+ $(call COPY,docs/conf/magic, $(INSTALLBASE)/conf/)
+ $(call COPY,docs/conf/mime.types, $(INSTALLBASE)/conf/)
+ $(call COPY,docs/conf/charset.conv, $(INSTALLBASE)/conf/)
+ $(call COPY,docs/cgi-examples/printenv, $(INSTALLBASE)/cgi-bin/printenv.pl)
+ $(call MKCNF,docs/conf/httpd.conf.in, $(INSTALLBASE)/conf/httpd.conf)
+ $(call MKCNF,docs/conf/extra/httpd-autoindex.conf.in, $(INSTALLBASE)/conf/extra/httpd-autoindex.conf)
+ $(call MKCNF,docs/conf/extra/httpd-dav.conf.in, $(INSTALLBASE)/conf/extra/httpd-dav.conf)
+ $(call MKCNF,docs/conf/extra/httpd-default.conf.in, $(INSTALLBASE)/conf/extra/httpd-default.conf)
+ $(call MKCNF,docs/conf/extra/httpd-info.conf.in, $(INSTALLBASE)/conf/extra/httpd-info.conf)
+ $(call MKCNF,docs/conf/extra/httpd-languages.conf.in, $(INSTALLBASE)/conf/extra/httpd-languages.conf)
+ $(call MKCNF,docs/conf/extra/httpd-manual.conf.in, $(INSTALLBASE)/conf/extra/httpd-manual.conf)
+ $(call MKCNF,docs/conf/extra/httpd-mpm.conf.in, $(INSTALLBASE)/conf/extra/httpd-mpm.conf)
+ $(call MKCNF,docs/conf/extra/httpd-multilang-errordoc.conf.in, $(INSTALLBASE)/conf/extra/httpd-multilang-errordoc.conf)
+ $(call MKCNF,docs/conf/extra/httpd-userdir.conf.in, $(INSTALLBASE)/conf/extra/httpd-userdir.conf)
+ $(call MKCNF,docs/conf/extra/httpd-vhosts.conf.in, $(INSTALLBASE)/conf/extra/httpd-vhosts.conf)
+ $(call MKCNF,docs/conf/extra/httpd-ssl.conf.in, $(INSTALLBASE)/conf/extra/httpd-ssl.conf)
+ $(call COPYR,docs/docroot, $(INSTALLBASE)/htdocs)
+ $(call COPYR,docs/error, $(INSTALLBASE)/error)
+ $(call COPYR,docs/icons, $(INSTALLBASE)/icons)
+ $(call COPYR,docs/man, $(INSTALLBASE)/man)
+ $(call COPYR,docs/manual, $(INSTALLBASE)/manual)
installdev :: FORCE
- -copy $(subst /,\,$(AP_WORK))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.*
- -copy $(subst /,\,$(AP_WORK))\os\netware\*.h $(INSTALL)\$(BASEDIR)\include\*.*
- -copy $(subst /,\,$(NWOS))\*.imp $(INSTALL)\$(BASEDIR)\lib\*.*
- -copy $(subst /,\,$(APR))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.*
- -copy $(subst /,\,$(APRUTIL))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.*
- -copy $(subst /,\,$(APR))\*.imp $(INSTALL)\$(BASEDIR)\lib\*.*
- -copy $(subst /,\,$(NWOS))\*.xdc $(INSTALL)\$(BASEDIR)\lib\*.*
+ $(call COPY,$(SRC)/include/*.h, $(INSTALLBASE)/include/)
+ $(call COPY,$(NWOS)/*.h, $(INSTALLBASE)/include/)
+ $(call COPY,$(APR)/include/*.h, $(INSTALLBASE)/include/)
+ $(call COPY,$(APRUTIL)/include/*.h, $(INSTALLBASE)/include/)
+ $(call COPY,$(STDMOD)/cache/mod_cache.h, $(INSTALLBASE)/include/)
+ $(call COPY,$(STDMOD)/database/mod_dbd.h, $(INSTALLBASE)/include/)
+ $(call COPY,$(STDMOD)/dav/main/mod_dav.h, $(INSTALLBASE)/include/)
+ $(call COPY,$(STDMOD)/filters/mod_include.h, $(INSTALLBASE)/include/)
+ $(call COPY,$(STDMOD)/generators/mod_cgi.h, $(INSTALLBASE)/include/)
+ $(call COPY,$(STDMOD)/generators/mod_status.h, $(INSTALLBASE)/include/)
+ $(call COPY,$(STDMOD)/loggers/mod_log_config.h, $(INSTALLBASE)/include/)
+ $(call COPY,$(STDMOD)/mappers/mod_rewrite.h, $(INSTALLBASE)/include/)
+ $(call COPY,$(STDMOD)/proxy/mod_proxy.h, $(INSTALLBASE)/include/)
+ $(call COPY,$(STDMOD)/ssl/mod_ssl.h, $(INSTALLBASE)/include/)
+ $(call COPY,$(APR)/*.imp, $(INSTALLBASE)/lib/)
+ $(call COPY,$(NWOS)/*.imp, $(INSTALLBASE)/lib/)
+ $(call COPY,$(NWOS)/*.xdc, $(INSTALLBASE)/lib/)
+ $(call COPY,$(APBUILD)/NWGNU*.inc, $(INSTALLBASE)/build/)
prebuild :: FORCE
- $(MAKE) -C server -f NWGNUMakefile
- $(MAKE) -C srclib/pcre -f NWGNUMakefile
- $(CHKNOT) $(PREBUILD_INST)\nul mkdir $(PREBUILD_INST)
- -copy $(AP_WORK)\server\$(OBJDIR)\*.nlm $(PREBUILD_INST)\*.*
- -copy $(AP_WORK)\srclib\pcre\$(basename $(OBJDIR))\*.nlm $(PREBUILD_INST)\*.*
+ $(MAKE) -C $(SERVER) -f NWGNUmakefile
+ $(MAKE) -C $(PCRE) -f NWGNUmakefile
+ $(call MKDIR,$(PREBUILD_INST))
+ $(call COPY,$(SERVER)/$(OBJDIR)/*.nlm, $(PREBUILD_INST)/)
+ $(call COPY,$(PCRE)/$(OBJDIR)/*.nlm, $(PREBUILD_INST)/)
#
# Any specialized rules here
@@ -406,15 +442,15 @@ prebuild :: FORCE
vpath %.c server:modules/arch/netware:modules/http:modules/aaa:modules/mappers
vpath %.c modules/generators:modules/metadata:modules/filters:modules/loggers
-vpath %.c os/netware:server/mpm/netware:srclib/pcre
+vpath %.c os/netware:server/mpm/netware:$(PCRE)
#
# Include the 'tail' makefile that has targets that depend on variables defined
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
-include $(AP_WORK)\build\NWGNUscripts.inc
+include $(AP_WORK)/build/NWGNUscripts.inc
diff --git a/README-win32.txt b/README-win32.txt
index 40f69678..86e232b7 100644
--- a/README-win32.txt
+++ b/README-win32.txt
@@ -1,55 +1,55 @@
-New version of APR
-------------------
-
-Note that the included APR is now version 1.3, which adds several
-subtle changes in the behavior of file handling, pipes and process
-creation. Most importantly, there is finer control over the handles
-inherited by processes, so the mod_fastcgi or mod_fcgid modules must
-be updated for httpd-2.2.9 to run correctly on Windows.
-
-Most other third party modules are unaffected by this change.
-
-
-Connecting to databases
------------------------
-
-Five SQL driver connectors (dbd) are provided in the binary distribution,
-for MySQL, SQLite3, PostgreSQL, Oracle and ODBC. Two keyed database
-connectors are provided, SDBM and Oracle Berkeley DB. All but SDBM will
-require you to install the corresponding client driver libraries.
-
-The sqlitedll.zip binary (containing sqlite3.dll) can be obtained from
- http://www.sqlite.org/download.html
-note that this binary was built with version 3.6.16 (earlier and later
-version 3.6 driver .dll's may work.) The lib binding is created using
-LIB /DEF:sqlite3.def and using the .h files from the _amalgamation zip.
-
-The Oracle Instant Client - Basic driver can be obtained from
- http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
-and note that this binary was built against version 11.1.0.6.0,
-other version 11.1 drivers may work.
-
-The PostgreSQL client binaries may be obtained from
- http://www.postgresql.org/ftp/binary/v8.3.1/win32/
-and note that this binary was built against version 8.3.1-1, and
-again it may work with other 8.1 version .dll's.
-
-The MySQL client binaries ("Essentials" is sufficient) is obtained from
- http://dev.mysql.com/downloads/mysql/5.1.html#win32
-but note that once using the MySQL database, the applicable exception
-clause demands copy-left terms on the resulting combination.
-
-The Oracle Berkeley DB binaries may be obtained from
- http://www.oracle.com/technology/software/products/berkeley-db/index.html
-but note that once using the Berkeley DB code, the Oracle license
-demands copy-left terms on the resulting combination.
-
-NOTE: For whichever database backend(s) you configure, the corresponding
-driver .dll's must be in your PATH to test from console mode, and in the
-systemwide path if used for a service such as Apache httpd.
-
-The FreeTDS driver is not built on Windows, since the Microsoft ODBC is
-provided instead. The sqlite2 and ndbm drivers are not used on Windows,
-as there is no point in legacy support of these old versions. The ASF
-does not distribute binary builds of the gdbm binding.
-
+New version of APR
+------------------
+
+Note that the included APR is now version 1.3, which adds several
+subtle changes in the behavior of file handling, pipes and process
+creation. Most importantly, there is finer control over the handles
+inherited by processes, so the mod_fastcgi or mod_fcgid modules must
+be updated for httpd-2.2.9 to run correctly on Windows.
+
+Most other third party modules are unaffected by this change.
+
+
+Connecting to databases
+-----------------------
+
+Five SQL driver connectors (dbd) are provided in the binary distribution,
+for MySQL, SQLite3, PostgreSQL, Oracle and ODBC. Two keyed database
+connectors are provided, SDBM and Oracle Berkeley DB. All but SDBM will
+require you to install the corresponding client driver libraries.
+
+The sqlitedll.zip binary (containing sqlite3.dll) can be obtained from
+ http://www.sqlite.org/download.html
+note that this binary was built with version 3.6.16 (earlier and later
+version 3.6 driver .dll's may work.) The lib binding is created using
+LIB /DEF:sqlite3.def and using the .h files from the _amalgamation zip.
+
+The Oracle Instant Client - Basic driver can be obtained from
+ http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
+and note that this binary was built against version 11.1.0.6.0,
+other version 11.1 drivers may work.
+
+The PostgreSQL client binaries may be obtained from
+ http://www.postgresql.org/ftp/binary/v8.3.1/win32/
+and note that this binary was built against version 8.3.1-1, and
+again it may work with other 8.1 version .dll's.
+
+The MySQL client binaries ("Essentials" is sufficient) is obtained from
+ http://dev.mysql.com/downloads/mysql/5.1.html#win32
+but note that once using the MySQL database, the applicable exception
+clause demands copy-left terms on the resulting combination.
+
+The Oracle Berkeley DB binaries may be obtained from
+ http://www.oracle.com/technology/software/products/berkeley-db/index.html
+but note that once using the Berkeley DB code, the Oracle license
+demands copy-left terms on the resulting combination.
+
+NOTE: For whichever database backend(s) you configure, the corresponding
+driver .dll's must be in your PATH to test from console mode, and in the
+systemwide path if used for a service such as Apache httpd.
+
+The FreeTDS driver is not built on Windows, since the Microsoft ODBC is
+provided instead. The sqlite2 and ndbm drivers are not used on Windows,
+as there is no point in legacy support of these old versions. The ASF
+does not distribute binary builds of the gdbm binding.
+
diff --git a/build/NWGNUenvironment.inc b/build/NWGNUenvironment.inc
index 9e6a5d83..d49b6ead 100644
--- a/build/NWGNUenvironment.inc
+++ b/build/NWGNUenvironment.inc
@@ -2,9 +2,9 @@
# Setup needed Tools and Libraries
#
-ifeq "$(wildcard $(AP_WORK)\NWGNUcustom.ini)" "$(AP_WORK)\NWGNUcustom.ini"
-include $(AP_WORK)\NWGNUcustom.ini
-CUSTOM_INI = $(AP_WORK)\NWGNUcustom.ini
+ifeq "$(wildcard $(AP_WORK)/NWGNUcustom.ini)" "$(AP_WORK)/NWGNUcustom.ini"
+include $(AP_WORK)/NWGNUcustom.ini
+CUSTOM_INI = $(AP_WORK)/NWGNUcustom.ini
endif
ifndef VERBOSE
@@ -49,13 +49,20 @@ ifneq "$(wildcard $(LDAPSDK)/inc/ldap.h)" "$(LDAPSDK)/inc/ldap.h"
$(error LDAPSDK does not point to a valid Novell CLDAP SDK)
endif
+ifndef PCRESRC
+PCRESRC = $(AP_WORK)/srclib/pcre
+endif
+ifneq "$(wildcard $(PCRESRC)/pcre-config.in)" "$(PCRESRC)/pcre-config.in"
+$(error PCRESRC does not point to a valid PCRE source tree)
+endif
+
# This is a placeholder
# ifndef ZLIBSDK
# ZLIBSDK = C:/novell/ndk/zlibsdk
# endif
ifndef METROWERKS
-METROWERKS = C:\Program Files\Metrowerks\CodeWarrior
+METROWERKS = $(ProgramFiles)\Metrowerks\CodeWarrior
endif
# If LM_LICENSE_FILE isn't defined, define a variable that can be used to
@@ -109,6 +116,9 @@ endif
OBJDIR = obj_$(RELEASE)
+# Define minimum APR version to check for
+APR_WANTED = 1003000
+
#
# Setup compiler information
#
@@ -123,21 +133,63 @@ WIN_CC = mwcc
# Setup build tools
AWK = awk
+# Setup distribution tools
+ZIP = zip -qr9
+7ZA = 7za >NUL a
+
+#
+# Declare Command and tool macros here
+#
+
+ifeq ($(findstring /sh,$(SHELL)),/sh)
+DEL = rm -f $1
+RMDIR = rm -fr $1
+MKDIR = mkdir -p $1
+COPY = -cp -afv $1 $2
+#COPYR = -cp -afr $1/* $2
+COPYR = -rsync -aC $1/* $2
+TOUCH = -touch $1
+ECHONL = echo ""
+DL = '
+CAT = cat
+else
+ifeq "$(OS)" "Windows_NT"
+DEL = $(shell if exist $(subst /,\,$1) del /q /f 2>NUL $(subst /,\,$1))
+RMDIR = $(shell if exist $(subst /,\,$1)\NUL rd /q /s 2>NUL $(subst /,\,$1))
+else
+DEL = $(shell if exist $(subst /,\,$1) del 2>NUL $(subst /,\,$1))
+RMDIR = $(shell if exist $(subst /,\,$1)\NUL deltree /y 2>NUL $(subst /,\,$1))
+endif
+ECHONL = $(ComSpec) /c echo.
+MKDIR = $(shell if not exist $(subst /,\,$1)\NUL md 2>NUL $(subst /,\,$1))
+COPY = -copy /y 2>NUL $(subst /,\,$1) $(subst /,\,$2)
+COPYR = -xcopy /q /y /e 2>NUL $(subst /,\,$1) $(subst /,\,$2)
+TOUCH = -copy /b 2>&1>NUL $(subst /,\,$1) +,,
+CAT = type
+endif
+
ifdef IPV6
ifndef USE_STDSOCKETS
USE_STDSOCKETS=1
endif
endif
-NOVI = $(NOVELLLIBC)\imports
+NOVI = $(NOVELLLIBC)/imports
+PRELUDE = $(NOVI)/libcpre.o
-INCDIRS = $(NOVELLLIBC)\include;$(NOVELLLIBC)\include\nks;$(NOVELLLIBC)\include\winsock;
+INCDIRS = $(NOVELLLIBC)/include;
+ifndef USE_STDSOCKETS
+INCDIRS += $(NOVELLLIBC)/include/winsock;
+endif
ifneq "$(LDAPSDK)" ""
-INCDIRS := $(INCDIRS);$(LDAPSDK)/inc
+INCDIRS += $(LDAPSDK)/inc;
endif
ifneq "$(ZLIBSDK)" ""
-INCDIRS := $(INCDIRS);$(ZLIBSDK)
+INCDIRS += $(ZLIBSDK);
endif
+#ifneq "$(PCRESRC)" ""
+#INCDIRS += $(PCRESRC);
+#endif
DEFINES = -DNETWARE
ifndef USE_STDSOCKETS
@@ -154,16 +206,23 @@ VERSION_SKT = (WINSOCK)
endif
# MetroWerks static Libraries
-CLIB3S = $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\Runtime\mwcrtl.lib
+CLIB3S = $(METROWERKS)/Novell Support/Metrowerks Support/Libraries/Runtime/mwcrtl.lib
MATH3S =
-PLIB3S = $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\MSL C++\MWCPP.lib
+PLIB3S = $(METROWERKS)/Novell Support/Metrowerks Support/Libraries/MSL C++/MWCPP.lib
-# MetroWerks Win32 build flags to create build tool
-MWCW_MSL = "$(METROWERKS)/MSL"
-MWCW_W32 = "$(METROWERKS)/Win32-x86 Support"
-WIN_CFLAGS = -O2 -gccinc -nodefaults -proc 586 -w off
-WIN_CFLAGS += -ir $(MWCW_MSL) -ir $(MWCW_W32) -lr $(MWCW_MSL) -lr $(MWCW_W32)
-WIN_CFLAGS += -lMSL_All_x86.lib -lkernel32.lib -luser32.lib
+ifeq "$(OS)" "Windows_NT"
+# MetroWerks Win32 build flags to create build tools
+MWCW_MSL = "$(METROWERKS)/MSL"
+MWCW_W32 = "$(METROWERKS)/Win32-x86 Support"
+HOST_CC = $(WIN_CC)
+HOST_CFLAGS = -O2 -gccinc -nodefaults -proc 586 -w off
+HOST_CFLAGS += -ir $(MWCW_MSL) -ir $(MWCW_W32) -lr $(MWCW_MSL) -lr $(MWCW_W32)
+HOST_CFLAGS += -lMSL_All_x86.lib -lkernel32.lib -luser32.lib
+else
+# GNUC build flags to create build tools
+HOST_CC = gcc
+HOST_CFLAGS = -Wall -O2
+endif
# Base compile flags
# and prefix or precompiled header added here.
@@ -179,11 +238,14 @@ WIN_CFLAGS += -lMSL_All_x86.lib -lkernel32.lib -luser32.lib
# -proc PII generate code base on Pentium II instruction set
# -inst mmx use MMX extensions (Not used)
-CFLAGS = -c -nosyspath -Cpp_exceptions off -RTTI off -align 4 -w nocmdline -proc PII
+CFLAGS = -c -nosyspath -Cpp_exceptions off -RTTI off -align 4 -w nocmdline -proc PII
+
+ifeq "$(REQUIRE_PROTOTYPES)" "1"
+CFLAGS += -r
+endif
# -g generate debugging information
# -O0 level 0 optimizations
-
ifeq "$(RELEASE)" "debug"
CFLAGS += -g -O0
endif
@@ -194,52 +256,58 @@ CFLAGS += -O4,p
endif
# -prefix pre_nw.h #include pre_nw.h for all files
-
CFLAGS += -prefix pre_nw.h
+ifneq ($(findstring /sh,$(SHELL)),/sh)
PATH:=$(PATH);$(METROWERKS)\bin;$(METROWERKS)\Other Metrowerks Tools\Command Line Tools
+endif
#
# Declare major project deliverables output directories here
#
+ifndef PORT
+PORT = 80
+endif
+
+ifndef SSLPORT
+SSLPORT = 443
+endif
+
ifdef DEST
-INSTALL = $(DEST)
-ifeq (\, $(findstring \,$(INSTALL)))
-INSTDIRS = $(DEST)
+INSTALL = $(subst \,/,$(DEST))
+ifeq (/, $(findstring /,$(INSTALL)))
+INSTDIRS = $(INSTALL)
endif
endif
ifdef dest
-INSTALL = $(dest)
-ifeq (\, $(findstring \,$(INSTALL)))
-INSTDIRS = $(dest)
+INSTALL = $(subst \,/,$(dest))
+ifeq (/, $(findstring /,$(INSTALL)))
+INSTDIRS = $(INSTALL)
endif
endif
ifndef INSTALL
-INSTALL = $(AP_WORK)\Dist
-INSTDIRS = $(AP_WORK)\Dist
+INSTALL = $(AP_WORK)/Dist
+INSTDIRS = $(INSTALL)
endif
+ifeq ($(MAKECMDGOALS),installdev)
ifndef BASEDIR
-BASEDIR = Apache22
-export BASEDIR
+export BASEDIR = apache_$(VERSION_STR)-sdk
endif
-
-ifndef PORT
-PORT = 80
+else
+ifndef BASEDIR
+export BASEDIR = Apache$(VERSION_MAJMIN)
endif
-
-ifndef SSLPORT
-SSLPORT = 443
endif
# Add support for building IPV6 alongside
ifneq "$(IPV6)" ""
DEFINES += -DNW_BUILD_IPV6
-# INCDIRS := $(NOVELLLIBC)\include\winsock\IPV6;$(INCDIRS)
+# INCDIRS := $(NOVELLLIBC)/include/winsock/IPV6;$(INCDIRS)
ifneq "$(findstring IPV6,$(OBJDIR))" "IPV6"
OBJDIR := $(OBJDIR)_IPV6
@@ -255,71 +323,51 @@ endif
endif
-INSTDEVDIRS := \
- $(INSTDIRS) \
- $(INSTALL)\$(BASEDIR)\include \
- $(INSTALL)\$(BASEDIR)\lib \
-
-INSTDIRS += \
- $(INSTALL)\$(BASEDIR) \
- $(INSTALL)\$(BASEDIR)\bin \
- $(INSTALL)\$(BASEDIR)\cgi-bin \
- $(INSTALL)\$(BASEDIR)\conf \
- $(INSTALL)\$(BASEDIR)\error \
- $(INSTALL)\$(BASEDIR)\htdocs \
- $(INSTALL)\$(BASEDIR)\icons \
- $(INSTALL)\$(BASEDIR)\logs \
- $(INSTALL)\$(BASEDIR)\man \
- $(INSTALL)\$(BASEDIR)\manual \
- $(INSTALL)\$(BASEDIR)\modules \
-
-#
-# Declare Command and tool macros here
-#
-
-# Os2LibPath is an extra check to see if we are on NT
-ifdef Os2LibPath
-OS = Windows_NT
-endif
-
-ifeq "$(OS)" "Windows_NT"
-CMD = cmd /C
-DEL = del /F
-DELTREE = rd /s/q
-WINNT = 1
-XCOPYSW = /E
-else
-CMD = command /C
-DEL = del
-DELTREE = deltree /y
-XCOPYSW = /E /Y
-endif
-
-CHK = $(CMD) if exist
-CHKNOT = $(CMD) if not exist
+INSTALLBASE = $(INSTALL)/$(BASEDIR)
+INSTDEVDIRS = \
+ $(INSTALL) \
+ $(INSTALLBASE) \
+ $(INSTALLBASE)/build \
+ $(INSTALLBASE)/include \
+ $(INSTALLBASE)/lib \
+ $(EOLIST)
-#
-# Setup base C compiler flags
-#
+INSTDIRS += \
+ $(INSTALLBASE) \
+ $(INSTALLBASE)/bin \
+ $(INSTALLBASE)/cgi-bin \
+ $(INSTALLBASE)/conf \
+ $(INSTALLBASE)/conf/extra \
+ $(INSTALLBASE)/error \
+ $(INSTALLBASE)/htdocs \
+ $(INSTALLBASE)/icons \
+ $(INSTALLBASE)/logs \
+ $(INSTALLBASE)/man \
+ $(INSTALLBASE)/manual \
+ $(INSTALLBASE)/modules \
+ $(EOLIST)
#
# Common directories
#
-STDMOD = $(AP_WORK)/modules
-NWOS = $(AP_WORK)/os/netware
-SERVER = $(AP_WORK)/server
-SRC = $(AP_WORK)
-APR = $(APR_WORK)
-APRUTIL = $(APU_WORK)
-APULDAP = $(APU_WORK)/ldap
-SUPMOD = $(AP_WORK)/support
-PCRE = $(AP_WORK)/srclib/pcre
-APRTEST = $(APR_WORK)/test
-HTTPD = $(AP_WORK)/modules/http
-XML = $(APU_WORK)/xml
-PREBUILD_INST = $(AP_WORK)\nwprebuild
+SRC = $(subst \,/,$(AP_WORK))
+APR = $(subst \,/,$(APR_WORK))
+APRUTIL = $(subst \,/,$(APU_WORK))
+APBUILD = $(SRC)/build
+STDMOD = $(SRC)/modules
+HTTPD = $(SRC)/modules/http
+DAV = $(SRC)/modules/dav
+NWOS = $(SRC)/os/netware
+SERVER = $(SRC)/server
+SUPMOD = $(SRC)/support
+APULDAP = $(APRUTIL)/ldap
+XML = $(APRUTIL)/xml
+APRTEST = $(APR)/test
+PCRE = $(PCRESRC)
+
+PREBUILD_INST = $(SRC)/nwprebuild
#
# Internal Libraries
@@ -329,7 +377,7 @@ APRLIB = $(APR)/$(OBJDIR)/aprlib.lib
APRUTLIB = $(APRUTIL)/$(OBJDIR)/aprutil.lib
APULDAPLIB = $(APULDAP)/$(OBJDIR)/apuldap.lib
STMODLIB = $(STDMOD)/$(OBJDIR)/stdmod.lib
-PCRELIB = $(PCRE)/$(OBJDIR)/pcre.lib
+PCRELIB = $(SRC)/$(OBJDIR)/pcre.lib
NWOSLIB = $(NWOS)/$(OBJDIR)/netware.lib
SERVLIB = $(SERVER)/$(OBJDIR)/server.lib
HTTPDLIB = $(HTTPD)/$(OBJDIR)/httpd.lib
diff --git a/build/NWGNUhead.inc b/build/NWGNUhead.inc
index cdbaf272..78a96db7 100644
--- a/build/NWGNUhead.inc
+++ b/build/NWGNUhead.inc
@@ -2,7 +2,7 @@
# Obtain the global build environment
#
-include $(AP_WORK)\build\NWGNUenvironment.inc
+include $(AP_WORK)/build/NWGNUenvironment.inc
#
# Define base targets and rules
@@ -26,7 +26,7 @@ install :: NO_LICENSE_FILE
installdev :: NO_LICENSE_FILE
NO_LICENSE_FILE :
- $(MAKE) $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(METROWERKS)\license.dat"
+ $(MAKE) $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(METROWERKS)/license.dat"
else # LM_LICENSE_FILE must be defined so use the real targets
@@ -41,41 +41,40 @@ install :: nlms $(INSTDIRS)
installdev :: $(INSTDEVDIRS)
$(INSTDIRS) ::
- $(CHKNOT) $@\NUL mkdir $@
+ $(call MKDIR,$@)
$(INSTDEVDIRS) ::
- $(CHKNOT) $@\NUL mkdir $@
+ $(call MKDIR,$@)
endif #NO_LICENSE_FILE check
help :
- @echo targets for RELEASE=$(RELEASE):
- @echo (default) . . . . libs nlms
- @echo all . . . . . . . does everything (libs nlms install)
- @echo libs. . . . . . . builds all libs
- @echo nlms. . . . . . . builds all nlms
- @echo install . . . . . builds libs and nlms and copies install files to
- @echo "$(INSTALL)"
- @echo installdev. . . . copies headers and files needed for development to
- @echo "$(INSTALL)"
- @echo clean . . . . . . deletes $(OBJDIR) dirs, *.err, and *.map
- @echo clobber_all . . . deletes all possible output from the make
- @echo clobber_install . deletes all files in $(INSTALL)
- @$(CMD) echo.
- @echo Multiple targets can be used on a single nmake command line -
- @echo (i.e. $(MAKE) clean all)
- @$(CMD) echo.
- @echo You can also specify RELEASE=debug, RELEASE=noopt, or RELEASE=optimized
- @echo The default is RELEASE=optimized
+ @echo $(DL)targets for RELEASE=$(RELEASE):$(DL)
+ @echo $(DL)(default) . . . . libs nlms$(DL)
+ @echo $(DL)all . . . . . . . does everything (libs nlms install)$(DL)
+ @echo $(DL)libs. . . . . . . builds all libs$(DL)
+ @echo $(DL)nlms. . . . . . . builds all nlms$(DL)
+ @echo $(DL)install . . . . . builds libs and nlms and copies install files to$(DL)
+ @echo $(DL) "$(INSTALL)"$(DL)
+ @echo $(DL)installdev. . . . copies headers and files needed for development to$(DL)
+ @echo $(DL) "$(INSTALL)"$(DL)
+ @echo $(DL)clean . . . . . . deletes $(OBJDIR) dirs, *.err, and *.map$(DL)
+ @echo $(DL)clobber_all . . . deletes all possible output from the make$(DL)
+ @echo $(DL)clobber_install . deletes all files in $(INSTALL)$(DL)
+ @$(ECHONL)
+ @echo $(DL)Multiple targets can be used on a single nmake command line -$(DL)
+ @echo $(DL)(i.e. $(MAKE) clean all)$(DL)
+ @$(ECHONL)
+ @echo $(DL)You can also specify RELEASE=debug, RELEASE=noopt, or RELEASE=optimized$(DL)
+ @echo $(DL)The default is RELEASE=optimized$(DL)
clobber_all :: clean clobber_install clobber_prebuild
clobber_install ::
- -$(DELTREE) $(INSTALL) 2>NUL
+ $(call RMDIR,$(INSTALL))
clobber_prebuild ::
- $(CHK) $(PREBUILD_INST)\*.* $(DEL) $(PREBUILD_INST)\*.*
- -$(DELTREE) $(PREBUILD_INST) 2> NUL
+ $(call RMDIR,$(PREBUILD_INST))
#
# build recursive targets
@@ -83,11 +82,11 @@ clobber_prebuild ::
$(SUBDIRS) : FORCE
ifneq "$(MAKECMDGOALS)" "clean"
- $(CMD) echo.
- @echo Building $(CURDIR)/$@
+ @$(ECHONL)
+ @echo $(DL)Building $(CURDIR)/$@$(DL)
endif
$(MAKE) -C $@ $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(LM_LICENSE_FILE)"
- $(CMD) echo.
+ @$(ECHONL)
FORCE:
@@ -96,15 +95,13 @@ FORCE:
#
clean :: $(SUBDIRS)
- @echo Cleaning up $(CURDIR)
- -$(DELTREE) $(OBJDIR) 2> NUL
- $(CHK) *.err $(DEL) *.err
- $(CHK) *.map $(DEL) *.map
- $(CHK) *.d $(DEL) *.d
- $(CHK) *.tmp $(DEL) *.tmp
- $(CHK) xc.bat $(DEL) xc.bat
- -$(DELTREE) $(OBJDIR) 2> NUL
+ @echo $(DL)Cleaning up $(CURDIR)$(DL)
+ $(call RMDIR,$(OBJDIR))
+ $(call DEL,*.err)
+ $(call DEL,*.map)
+ $(call DEL,*.tmp)
+# $(call DEL,*.d)
$(OBJDIR) ::
- $(CHKNOT) $(OBJDIR)\nul mkdir $(OBJDIR)
+ $(call MKDIR,$@)
diff --git a/build/NWGNUmakefile b/build/NWGNUmakefile
index fac1a828..a2618bf8 100644
--- a/build/NWGNUmakefile
+++ b/build/NWGNUmakefile
@@ -3,6 +3,7 @@
#
SUBDIRS = \
+ $(APR_WORK)/build \
$(EOLIST)
#
@@ -10,76 +11,74 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
FILES_prebuild_headers = \
- $(APR)/include/apr.h \
- $(APRUTIL)/include/apu.h \
- $(APRUTIL)/include/apr_ldap.h \
$(NWOS)/test_char.h \
$(PCRE)/config.h \
$(PCRE)/pcre.h \
$(EOLIST)
-nlms :: $(NWOS)/httpd.imp $(NWOS)/chartables.c
+nlms :: libs $(NWOS)/httpd.imp $(DAV)/main/dav.imp
+
+libs :: chkapr $(NWOS)/chartables.c
+
+$(DAV)/main/dav.imp : make_nw_export.awk $(DAV)/main/mod_dav.h
+ @echo $(DL)GEN $@$(DL)
+ $(AWK) -v EXPPREFIX=AP$(VERSION_MAJMIN) -f $^ >$@
$(NWOS)/httpd.imp : make_nw_export.awk nw_export.i
- @echo Generating $(subst /,\,$@)
- $(AWK) -v EXPPREFIX=AP$(VERSION_MAJMIN) -f $^ | sort >$@
+ @echo $(DL)GEN $@$(DL)
+ $(AWK) -v EXPPREFIX=AP$(VERSION_MAJMIN) -f $^ >$@
nw_export.i : nw_export.inc $(FILES_prebuild_headers) cc.opt
- @echo Generating $(subst /,\,$@)
+ @echo $(DL)GEN $@$(DL)
$(CC) $< @cc.opt
-
-cc.opt : NWGNUmakefile $(AP_WORK)\build\NWGNUenvironment.inc $(AP_WORK)\build\NWGNUtail.inc $(AP_WORK)\build\NWGNUhead.inc
- $(CHK) $@ $(DEL) $@
- @echo -P >> $@
- @echo -EP >> $@
- @echo -nosyspath >> $@
- @echo -w nocmdline >> $@
- @echo $(DEFINES) >> $@
- @echo -DCORE_PRIVATE >> $@
- @echo -I..\include >> $@
- @echo -I..\modules\http >> $@
- @echo -I..\modules\aaa >> $@
- @echo -I..\os\netware >> $@
- @echo -I..\server\mpm\netware >> $@
- @echo -I$(APR)\include >> $@
- @echo -I$(APRUTIL)\include >> $@
- @echo -ir $(NOVELLLIBC) >> $@
-
-$(APR)/include/%.h: $(subst /,\,$(APR))\include\%.hnw
- @echo Creating $(subst /,\,$@)
- copy $< $(subst /,\,$(APR))\include\$(@F)
-
-$(APRUTIL)/include/%.h: $(subst /,\,$(APRUTIL))\include\%.hnw
- @echo Creating $(subst /,\,$@)
- copy $< $(subst /,\,$(APRUTIL))\include\$(@F)
-
-$(PCRE)/%.h: $(subst /,\,$(PCRE))\%.hw
- @echo Creating $(subst /,\,$@)
- copy $< $(subst /,\,$(PCRE))\$(@F)
+
+cc.opt : NWGNUmakefile $(APBUILD)/NWGNUenvironment.inc $(APBUILD)/NWGNUtail.inc $(APBUILD)/NWGNUhead.inc
+ @echo $(DL)-P$(DL)> $@
+ @echo $(DL)-EP$(DL)>> $@
+ @echo $(DL)-nosyspath$(DL)>> $@
+ @echo $(DL)-w nocmdline$(DL)>> $@
+ @echo $(DL)$(DEFINES)$(DL)>> $@
+ @echo $(DL)-DCORE_PRIVATE$(DL) >> $@
+ @echo $(DL)-I$(SRC)/include$(DL)>> $@
+ @echo $(DL)-I$(HTTPD)$(DL)>> $@
+ @echo $(DL)-I$(STDMOD)/aaa$(DL)>> $@
+ @echo $(DL)-I$(NWOS)$(DL)>> $@
+ @echo $(DL)-I$(SERVER)/mpm/netware$(DL)>> $@
+ @echo $(DL)-I$(APR)/include$(DL)>> $@
+ @echo $(DL)-I$(APRUTIL)/include$(DL)>> $@
+ @echo $(DL)-ir $(NOVELLLIBC)$(DL)>> $@
+
+$(PCRE)/%.h: $(PCRE)/%.h.generic
+ @echo Creating $@
+ $(call COPY,$<,$@)
+
+$(PCRE)/%.h: $(PCRE)/%.hw
+ @echo Creating $@
+ $(call COPY,$<,$@)
ifneq "$(BUILDTOOL_AS_NLM)" "1"
-$(NWOS)/chartables.c: dftables.exe $(PCRE)/dftables.c $(FILES_prebuild_headers)
- @echo Creating $(subst /,\,$@)
- @$< $@
+$(NWOS)/chartables.c: dftables.exe $(PCRE)/dftables.c
+ @echo $(DL)GEN $@$(DL)
+ $< $@
-%.exe: $(PCRE)/%.c
- @echo Creating Build Helper $@
- @$(WIN_CC) $(WIN_CFLAGS) $< -o $@
+%.exe: $(PCRE)/%.c $(PCRE)/config.h $(PCRE)/pcre.h
+ @echo $(DL)Creating Build Helper $@$(DL)
+ $(HOST_CC) $(HOST_CFLAGS) -DHAVE_CONFIG_H $< -o $@
-$(NWOS)/test_char.h: gen_test_char.exe $(AP_WORK)/server/gen_test_char.c
- @echo Creating $(subst /,\,$@)
- @$< > $@
+$(NWOS)/test_char.h: gen_test_char.exe $(SERVER)/gen_test_char.c
+ @echo $(DL)GEN $@$(DL)
+ $< > $@
-%.exe: $(AP_WORK)/server/%.c
- @echo Creating Build Helper $@
- @$(WIN_CC) $(WIN_CFLAGS) -DCROSS_COMPILE $< -o $@
+%.exe: $(SERVER)/%.c
+ @echo $(DL)Creating Build Helper $@$(DL)
+ $(HOST_CC) $(HOST_CFLAGS) -DCROSS_COMPILE $< -o $@
else
@@ -94,24 +93,32 @@ endif
endif
#
+# Check for minimum APR version
+#
+chkapr: $(APR)/build/nw_ver.awk $(APR)/include/apr_version.h
+ @echo $(DL)Checking for APR version...$(DL)
+ $(AWK) -v WANTED=$(APR_WANTED) -f $^
+
+#
# You can use this target if all that is needed is to copy files to the
# installation area
#
install :: nlms FORCE
clean ::
- $(CHK) nw_export.i $(DEL) nw_export.i
- $(CHK) cc.opt $(DEL) cc.opt
- $(CHK) NWGNUversion.inc $(DEL) NWGNUversion.inc
- $(CHK) $(subst /,\,$(PCRE))\config.h $(DEL) $(subst /,\,$(PCRE))\config.h
- $(CHK) $(subst /,\,$(PCRE))\pcre.h $(DEL) $(subst /,\,$(PCRE))\pcre.h
- $(CHK) $(subst /,\,$(NWOS))\httpd.imp $(DEL) $(subst /,\,$(NWOS))\httpd.imp
- $(MAKE) -C $(APR) -f NWGNUmakefile clean
+ $(call DEL,$(SRC)/include/ap_config_layout.h)
+ $(call DEL,$(PCRE)/config.h)
+ $(call DEL,$(PCRE)/pcre.h)
+ $(call DEL,$(DAV)/main/dav.imp)
+ $(call DEL,$(NWOS)/httpd.imp)
+ $(call DEL,nw_export.i)
+ $(call DEL,cc.opt)
+ $(call DEL,NWGNUversion.inc)
ifneq "$(BUILDTOOL_AS_NLM)" "1"
- $(CHK) $(subst /,\,$(NWOS))\chartables.c $(DEL) $(subst /,\,$(NWOS))\chartables.c
- $(CHK) $(subst /,\,$(NWOS))\test_char.h $(DEL) $(subst /,\,$(NWOS))\test_char.h
- $(CHK) dftables.exe $(DEL) dftables.exe
- $(CHK) gen_test_char.exe $(DEL) gen_test_char.exe
+ $(call DEL,$(NWOS)/chartables.c)
+ $(call DEL,$(NWOS)/test_char.h)
+ $(call DEL,dftables.exe)
+ $(call DEL,gen_test_char.exe)
endif
#
@@ -119,5 +126,5 @@ endif
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/build/NWGNUscripts.inc b/build/NWGNUscripts.inc
index 9b04d19c..27029ebb 100644
--- a/build/NWGNUscripts.inc
+++ b/build/NWGNUscripts.inc
@@ -1,46 +1,43 @@
-# Include for creating start/stop/restart NCF scripts.
-
-instscripts:: FORCE $(INSTALL)/$(BASEDIR)/ap2start.ncf $(INSTALL)/$(BASEDIR)/ap2auto.ncf $(INSTALL)/$(BASEDIR)/ap2rest.ncf $(INSTALL)/$(BASEDIR)/ap2stop.ncf $(INSTALL)/$(BASEDIR)/ap2prod.ncf
-
-$(INSTALL)/$(BASEDIR)/ap2start.ncf:
- @echo # NCF to start Apache 2.x in own address space > $@
- @echo # Make sure that httpstk isn't listening on 80 >> $@
- @echo # httpcloseport 80 /silent >> $@
- @echo # search add SYS:/$(BASEDIR) >> $@
- @echo load address space = $(BASEDIR) SYS:/$(BASEDIR)/apache2 >> $@
- @echo # If you have problems with 3rd-party modules try to load in OS space. >> $@
- @echo # load $(BASEDIR)/apache2 >> $@
- @echo. >> $@
-
-$(INSTALL)/$(BASEDIR)/ap2auto.ncf:
- @echo # NCF to start Apache 2.x in own address space > $@
- @echo # and let automatically restart in case it crashes >> $@
- @echo # Make sure that httpstk isn't listening on 80 >> $@
- @echo # httpcloseport 80 /silent >> $@
- @echo # search add SYS:/$(BASEDIR) >> $@
- @echo restart address space = $(BASEDIR) SYS:/$(BASEDIR)/apache2 >> $@
- @echo # If you have problems with 3rd-party modules try to load in OS space. >> $@
- @echo # load $(BASEDIR)/apache2 >> $@
- @echo. >> $@
-
-$(INSTALL)/$(BASEDIR)/ap2rest.ncf:
- @echo # NCF to restart Apache 2.x in own address space > $@
- @echo apache2 restart -p $(BASEDIR) >> $@
- @echo # If you have loaded Apache2.x in OS space use the line below. >> $@
- @echo # apache2 restart >> $@
- @echo. >> $@
-
-$(INSTALL)/$(BASEDIR)/ap2stop.ncf:
- @echo # NCF to stop Apache 2.x in own address space > $@
- @echo apache2 shutdown -p $(BASEDIR) >> $@
- @echo # If you have loaded Apache2.x in OS space use the line below. >> $@
- @echo # apache2 shutdown >> $@
- @echo. >> $@
-
-$(INSTALL)/$(BASEDIR)/ap2prod.ncf:
- @echo # NCF to create a product record for Apache 2.x in product database > $@
- @echo PRODSYNC DEL APACHE$(VERSION_MAJMIN) >> $@
- @echo PRODSYNC ADD APACHE$(VERSION_MAJMIN) ProductRecord "$(VERSION_STR)" "Apache $(VERSION_STR) Webserver" >> $@
- @echo. >> $@
-
-
+# Include for creating start/stop/restart NCF scripts.
+
+instscripts:: FORCE $(INSTALLBASE)/ap2start.ncf $(INSTALLBASE)/ap2auto.ncf $(INSTALLBASE)/ap2rest.ncf $(INSTALLBASE)/ap2stop.ncf
+
+$(INSTALLBASE)/ap2start.ncf:
+ @echo $(DL)# NCF to start Apache 2.x in own address space$(DL)> $@
+ @echo $(DL)# Make sure that httpstk is not listening on 80$(DL)>> $@
+ @echo $(DL)# httpcloseport 80 /silent$(DL)>> $@
+ @echo $(DL)# search add SYS:/$(BASEDIR)$(DL)>> $@
+ @echo $(DL)load address space = $(BASEDIR) SYS:/$(BASEDIR)/apache2$(DL)>> $@
+ @echo $(DL)# If you have problems with 3rd-party modules try to load in OS space.$(DL)>> $@
+ @echo $(DL)# load SYS:/$(BASEDIR)/apache2$(DL)>> $@
+ @$(ECHONL)>> $@
+
+$(INSTALLBASE)/ap2auto.ncf:
+ @echo $(DL)# NCF to start Apache 2.x in own address space$(DL)> $@
+ @echo $(DL)# and let automatically restart in case it crashes$(DL)>> $@
+ @echo $(DL)# Make sure that httpstk is not listening on 80$(DL)>> $@
+ @echo $(DL)# httpcloseport 80 /silent$(DL)>> $@
+ @echo $(DL)# search add SYS:/$(BASEDIR)$(DL)>> $@
+ @echo $(DL)restart address space = $(BASEDIR) SYS:/$(BASEDIR)/apache2$(DL)>> $@
+ @$(ECHONL)>> $@
+
+$(INSTALLBASE)/ap2rest.ncf:
+ @echo $(DL)# NCF to restart Apache 2.x in own address space$(DL)> $@
+ @echo $(DL)apache2 restart -p $(BASEDIR)$(DL)>> $@
+ @echo $(DL)# If you have loaded Apache2.x in OS space use the line below.$(DL)>> $@
+ @echo $(DL)# apache2 restart$(DL)>> $@
+ @$(ECHONL)>> $@
+
+$(INSTALLBASE)/ap2stop.ncf:
+ @echo $(DL)# NCF to stop Apache 2.x in own address space$(DL)> $@
+ @echo $(DL)apache2 shutdown -p $(BASEDIR)$(DL)>> $@
+ @echo $(DL)# If you have loaded Apache2.x in OS space use the line below.$(DL)>> $@
+ @echo $(DL)# apache2 shutdown$(DL)>> $@
+ @$(ECHONL)>> $@
+
+$(INSTALLBASE)/ap2prod.ncf:
+ @echo $(DL)# NCF to create a product record for Apache 2.x in product database$(DL)> $@
+ @echo $(DL)PRODSYNC DEL APACHE$(VERSION_MAJMIN)$(DL)>> $@
+ @echo $(DL)PRODSYNC ADD APACHE$(VERSION_MAJMIN) ProductRecord "$(VERSION_STR)" "Apache $(VERSION_STR) Webserver"$(DL)>> $@
+ @$(ECHONL)>> $@
+
diff --git a/build/NWGNUtail.inc b/build/NWGNUtail.inc
index 2c04623d..2e83d6eb 100644
--- a/build/NWGNUtail.inc
+++ b/build/NWGNUtail.inc
@@ -7,7 +7,6 @@
# If we are going to create an nlm, make sure we have assigned variables to
# use during the link.
#
-echo NLM_NAME=$(NLM_NAME)
ifndef NLM_NAME
NLM_NAME = $(TARGET_nlm)
endif
@@ -28,32 +27,42 @@ ifndef NLM_COPYRIGHT
NLM_COPYRIGHT = Licensed under the Apache License, Version 2.0
endif
+ifeq "$(NLM_FLAGS)" ""
+NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+endif
+
+ifeq "$(NLM_STACK_SIZE)" ""
+NLM_STACK_SIZE = 65536
+endif
+
+ifeq "$(NLM_ENTRY_SYM)" ""
+NLM_ENTRY_SYM = _LibCPrelude
+endif
+
+ifeq "$(NLM_EXIT_SYM)" ""
+NLM_EXIT_SYM = _LibCPostlude
+endif
+
+ifeq "$(NLM_VERSION)" ""
+NLM_VERSION = $(VERSION)
+endif
+
#
# Create dependency lists based on the files available
#
-CCOPT_DEPENDS = \
- $(AP_WORK)\build\NWGNUhead.inc \
- $(AP_WORK)\build\NWGNUenvironment.inc \
- $(AP_WORK)\build\NWGNUtail.inc \
- NWGNUmakefile \
+STANDARD_DEPENDS = \
+ $(APBUILD)/NWGNUhead.inc \
+ $(APBUILD)/NWGNUenvironment.inc \
+ $(APBUILD)/NWGNUtail.inc \
$(CUSTOM_INI) \
$(EOLIST)
-CPPOPT_DEPENDS = \
- $(AP_WORK)\build\NWGNUhead.inc \
- $(AP_WORK)\build\NWGNUenvironment.inc \
- $(AP_WORK)\build\NWGNUtail.inc \
- NWGNUmakefile \
- $(CUSTOM_INI) \
- $(EOLIST)
+CCOPT_DEPENDS = $(STANDARD_DEPENDS)
$(NLM_NAME)_LINKOPT_DEPENDS = \
$(TARGET_lib) \
- $(AP_WORK)\build\NWGNUenvironment.inc \
- NWGNUmakefile \
- $(AP_WORK)\build\NWGNUtail.inc \
- $(CUSTOM_INI) \
+ $(STANDARD_DEPENDS) \
$(VERSION_INC) \
$(EOLIST)
@@ -61,36 +70,41 @@ ifeq "$(words $(strip $(TARGET_lib)))" "1"
LIB_NAME = $(basename $(notdir $(TARGET_lib)))
$(LIB_NAME)_LIBLST_DEPENDS = \
$(FILES_lib_objs) \
- $(AP_WORK)\build\NWGNUenvironment.inc \
- NWGNUmakefile \
- $(AP_WORK)\build\NWGNUtail.inc \
+ $(STANDARD_DEPENDS) \
$(CUSTOM_INI) \
$(EOLIST)
endif
ifeq "$(wildcard NWGNU$(LIB_NAME))" "NWGNU$(LIB_NAME)"
$(LIB_NAME)_LIBLST_DEPENDS += NWGNU$(LIB_NAME)
+CCOPT_DEPENDS += NWGNU$(LIB_NAME)
+else
+CCOPT_DEPENDS += NWGNUmakefile
endif
ifeq "$(wildcard NWGNU$(NLM_NAME))" "NWGNU$(NLM_NAME)"
$(NLM_NAME)_LINKOPT_DEPENDS += NWGNU$(NLM_NAME)
-CCOPT_DEPENDS += NWGNU$(NLM_NAME)
-CPPOPT_DEPENDS += NWGNU$(NLM_NAME)
+CCOPT_DEPENDS += NWGNU$(NLM_NAME)
+else
+CCOPT_DEPENDS += NWGNUmakefile
endif
+CPPOPT_DEPENDS = $(CCOPT_DEPENDS)
+
#
# Generic compiler rules
#
ifneq ($(MAKECMDGOALS),clean)
-$(AP_WORK)\build\NWGNUversion.inc : $(AP_WORK)\build\nw_ver.awk $(AP_WORK)\include\ap_release.h
- @echo Generating $(subst /,\,$@)
+$(APBUILD)/NWGNUversion.inc: $(APBUILD)/nw_ver.awk $(SRC)/include/ap_release.h
+# @echo Generating $@
+ @echo $(DL)GEN $@$(DL)
$(AWK) -f $^ > $@
--include $(AP_WORK)\build\NWGNUversion.inc
+-include $(APBUILD)/NWGNUversion.inc
ifneq "$(strip $(VERSION_STR))" ""
-VERSION_INC = $(AP_WORK)\build\NWGNUversion.inc
+VERSION_INC = $(APBUILD)/NWGNUversion.inc
else
VERSION = 2,2,0
VERSION_STR = 2.2.0
@@ -101,56 +115,56 @@ endif
ifeq "$(words $(strip $(TARGET_nlm)))" "1"
-$(OBJDIR)/%.o: %.c $(OBJDIR)\$(NLM_NAME)_cc.opt
- @echo Compiling $<
- $(CC) $< -o=$(OBJDIR)\$(@F) @$(OBJDIR)\$(NLM_NAME)_cc.opt
+$(OBJDIR)/%.o: %.c $(OBJDIR)/$(NLM_NAME)_cc.opt
+ @echo $(DL)CC $<$(DL)
+ $(CC) -o $@ $< @$(word 2, $^)
-$(OBJDIR)\$(NLM_NAME)_cc.opt: $(CCOPT_DEPENDS)
- $(CHK) $@ $(DEL) $@
- @echo Generating $@
+$(OBJDIR)/$(NLM_NAME)_cc.opt: $(CCOPT_DEPENDS)
+ $(call DEL,$@)
+ @echo $(DL)GEN $@$(DL)
ifneq "$(strip $(CFLAGS))" ""
- @echo $(CFLAGS) >> $@
+ @echo $(DL)$(CFLAGS)$(DL)>> $@
endif
ifneq "$(strip $(XCFLAGS))" ""
- @echo $(XCFLAGS) >> $@
+ @echo $(DL)$(XCFLAGS)$(DL)>> $@
endif
ifneq "$(strip $(XINCDIRS))" ""
- @echo $(foreach xincdir,$(strip $(subst ;,$(SPACE),$(XINCDIRS))),-I$(xincdir)) >> $@
+ @echo $(DL)$(foreach xincdir,$(strip $(subst ;,$(SPACE),$(XINCDIRS))),-I$(xincdir))$(DL)>> $@
endif
ifneq "$(strip $(INCDIRS))" ""
- @echo $(foreach incdir,$(strip $(subst ;,$(SPACE),$(INCDIRS))),-I$(incdir)) >> $@
+ @echo $(DL)$(foreach incdir,$(strip $(subst ;,$(SPACE),$(INCDIRS))),-I$(incdir))$(DL)>> $@
endif
ifneq "$(strip $(DEFINES))" ""
- @echo $(DEFINES) >> $@
+ @echo $(DL)$(DEFINES)$(DL)>> $@
endif
ifneq "$(strip $(XDEFINES))" ""
- @echo $(XDEFINES) >> $@
+ @echo $(DL)$(XDEFINES)$(DL)>> $@
endif
-$(OBJDIR)/%.o: %.cpp $(OBJDIR)\cpp.opt
- @echo Compiling $<
- $(CPP) $< -o=$(OBJDIR)\$(@F) @$(OBJDIR)\cpp.opt
+$(OBJDIR)/%.o: %.cpp $(OBJDIR)/$(NLM_NAME)_cpp.opt
+ @echo $(DL)CC $<$(DL)
+ $(CC) -o $@ $< @$(word 2, $^)
-$(OBJDIR)\cpp.opt: $(CPPOPT_DEPENDS)
- $(CHK) $@ $(DEL) $@
- @echo Generating $@
+$(OBJDIR)/$(NLM_NAME)_cpp.opt: $(CPPOPT_DEPENDS)
+ $(call DEL,$@)
+ @echo $(DL)GEN $@$(DL)
ifneq "$(strip $(CFLAGS))" ""
- @echo $(CFLAGS) >> $@
+ @echo $(DL)$(CFLAGS)$(DL)>> $@
endif
ifneq "$(strip $(XCFLAGS))" ""
- @echo $(XCFLAGS) >> $@
+ @echo $(DL)$(XCFLAGS)$(DL)>> $@
endif
ifneq "$(strip $(XINCDIRS))" ""
- @echo $(foreach xincdir,$(strip $(subst ;,$(SPACE),$(XINCDIRS))),-I$(xincdir)) >> $@
+ @echo $(DL)$(foreach xincdir,$(strip $(subst ;,$(SPACE),$(XINCDIRS))),-I$(xincdir))$(DL)>> $@
endif
ifneq "$(strip $(INCDIRS))" ""
- @echo $(foreach incdir,$(strip $(subst ;,$(SPACE),$(INCDIRS))),-I$(incdir)) >> $@
+ @echo $(DL)$(foreach incdir,$(strip $(subst ;,$(SPACE),$(INCDIRS))),-I$(incdir))$(DL)>> $@
endif
ifneq "$(strip $(DEFINES))" ""
- @echo $(DEFINES) >> $@
+ @echo $(DL)$(DEFINES)$(DL)>> $@
endif
ifneq "$(strip $(XDEFINES))" ""
- @echo $(XDEFINES) >> $@
+ @echo $(DL)$(XDEFINES)$(DL)>> $@
endif
endif # one target nlm
@@ -163,22 +177,22 @@ endif # one target nlm
ifeq "$(words $(strip $(TARGET_lib)))" "1"
-$(TARGET_lib) : $(OBJDIR)\$(LIB_NAME)_lib.lst
- @echo Generating $@
- $(CHK) $(OBJDIR)\$(@F) $(DEL) $(OBJDIR)\$(@F)
- $(LIB) -o $(OBJDIR)\$(@F) @$?
+$(TARGET_lib) : $(OBJDIR)/$(LIB_NAME)_lib.lst
+ $(call DEL,$@)
+ @echo $(DL)AR $@$(DL)
+ $(LIB) -o $@ @$<
-$(OBJDIR)\$(LIB_NAME)_lib.lst: $($(LIB_NAME)_LIBLST_DEPENDS)
- $(CHK) $@ $(DEL) $@
- @echo Generating $@
+$(OBJDIR)/$(LIB_NAME)_lib.lst: $($(LIB_NAME)_LIBLST_DEPENDS)
+ $(call DEL,$@)
ifneq "$(strip $(FILES_lib_objs))" ""
- @echo $(foreach objfile,$(FILES_lib_objs),$(subst /,\,$(objfile)) ) >> $@
+ @echo $(DL)GEN $@$(DL)
+ @echo $(DL)$(FILES_lib_objs)$(DL)>> $@
endif
else # We must have more than one target library so load the individual makefiles
-$(OBJDIR)/%.lib: NWGNU% $(AP_WORK)\build\NWGNUhead.inc $(AP_WORK)\build\NWGNUtail.inc $(AP_WORK)\build\NWGNUenvironment.inc FORCE
- @echo Calling $<
+$(OBJDIR)/%.lib: NWGNU% $(STANDARD_DEPENDS) FORCE
+ @echo $(DL)Calling $<$(DL)
$(MAKE) -f $< $(MAKECMDGOALS) RELEASE=$(RELEASE)
endif
@@ -187,120 +201,105 @@ endif
# Rules to build nlms.
#
-vpath libcpre.o $(NOVELLLIBC)\imports
-
# If we only have one target NLM then build it
ifeq "$(words $(strip $(TARGET_nlm)))" "1"
-$(TARGET_nlm) : $(FILES_nlm_objs) $(FILES_nlm_libs) $(OBJDIR)\$(NLM_NAME)_link.opt
- @echo Linking $@
- $(LINK) @$(OBJDIR)\$(NLM_NAME)_link.opt
+$(TARGET_nlm) : $(FILES_nlm_objs) $(FILES_nlm_libs) $(OBJDIR)/$(NLM_NAME)_link.opt
+ @echo $(DL)LINK $@$(DL)
+ $(LINK) @$(OBJDIR)/$(NLM_NAME)_link.opt
# This will force the link option file to be rebuilt if we change the
# corresponding makefile
-$(OBJDIR)\$(NLM_NAME)_link.opt : $($(NLM_NAME)_LINKOPT_DEPENDS)
- $(CHK) $(OBJDIR)\$(@F) $(DEL) $(OBJDIR)\$(@F)
- $(CHK) $(OBJDIR)\$(NLM_NAME)_link.def $(DEL) $(OBJDIR)\$(NLM_NAME)_link.def
- @echo Generating $@
- @echo -warnings off >> $@
- @echo -zerobss >> $@
- @echo -o $(TARGET_nlm) >> $@
+$(OBJDIR)/$(NLM_NAME)_link.opt : $($(NLM_NAME)_LINKOPT_DEPENDS)
+ $(call DEL,$@)
+ $(call DEL,$(@:.opt=.def))
+ @echo $(DL)GEN $@$(DL)
+ @echo $(DL)-warnings off$(DL)>> $@
+ @echo $(DL)-zerobss$(DL)>> $@
+ @echo $(DL)-o $(TARGET_nlm)$(DL)>> $@
ifneq "$(FILE_nlm_copyright)" ""
- @-type $(FILE_nlm_copyright) >> $@
+ @$(CAT) $(FILE_nlm_copyright)>> $@
endif
ifeq "$(RELEASE)" "debug"
- @echo -g >> $@
- @echo -sym internal >> $@
- @echo -sym codeview4 >> $@
- @echo -osym $(OBJDIR)\$(NLM_NAME).sym >> $@
+ @echo $(DL)-g$(DL)>> $@
+ @echo $(DL)-sym internal$(DL)>> $@
+ @echo $(DL)-sym codeview4$(DL)>> $@
+ @echo $(DL)-osym $(OBJDIR)/$(NLM_NAME).sym$(DL)>> $@
else
- @echo -sym internal >> $@
-endif
- @echo -l $(NWOS) >> $@
- @echo -l $(AP)/$(OBJDIR) >> $@
- @echo -l $(APR)/$(OBJDIR) >> $@
- @echo -l $(APRUTIL)/$(OBJDIR) >> $@
- @echo -l $(PCRE)/$(OBJDIR) >> $@
- @echo -l $(HTTPD)/$(OBJDIR) >> $@
- @echo -l $(SERVER)/$(OBJDIR) >> $@
- @echo -l $(STDMOD)/$(OBJDIR) >> $@
- @echo -l $(NWOS)/$(OBJDIR) >> $@
- @echo -l "$(METROWERKS)/Novell Support/Metrowerks Support/Libraries/Runtime" >> $@
- @echo -l "$(METROWERKS)/Novell Support/Metrowerks Support/Libraries/MSL C++" >> $@
+ @echo $(DL)-sym internal$(DL)>> $@
+endif
+ @echo $(DL)-l $(SRC)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-l $(HTTPD)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-l $(SERVER)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-l $(STDMOD)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-l $(NWOS)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-l $(NWOS)$(DL)>> $@
+ @echo $(DL)-l $(APR)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-l $(APR)$(DL)>> $@
+ @echo $(DL)-l $(APRUTIL)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-l $(PCRE)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-l "$(METROWERKS)/Novell Support/Metrowerks Support/Libraries/Runtime"$(DL)>> $@
+ @echo $(DL)-l "$(METROWERKS)/Novell Support/Metrowerks Support/Libraries/MSL C++"$(DL)>> $@
ifneq "$(IPV6)" ""
- @echo -l $(NOVELLLIBC)\include\winsock\IPV6 >> $@
+ @echo $(DL)-l $(NOVELLLIBC)/include/winsock/IPV6$(DL)>> $@
endif
- @echo -l $(NOVELLLIBC)/imports >> $@
+ @echo $(DL)-l $(NOVELLLIBC)/imports$(DL)>> $@
ifneq "$(LDAPSDK)" ""
- @echo -l $(LDAPSDK)/lib/nlm >> $@
+ @echo $(DL)-l $(LDAPSDK)/imports$(DL)>> $@
endif
- @echo -l $(APULDAP)/$(OBJDIR) >> $@
- @echo -l $(XML)/$(OBJDIR) >> $@
- @echo -nodefaults >> $@
- @echo -map $(OBJDIR)\$(NLM_NAME).map>> $@
+ @echo $(DL)-l $(APULDAP)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-l $(XML)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-l $(SRC)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-nodefaults$(DL)>> $@
+ @echo $(DL)-map $(OBJDIR)/$(NLM_NAME).map$(DL)>> $@
ifneq "$(strip $(XLFLAGS))" ""
- @echo $(XLFLAGS) >> $@
+ @echo $(DL)$(XLFLAGS)$(DL)>> $@
endif
ifneq "$(strip $(FILES_nlm_objs))" ""
- @echo $(foreach objfile,$(strip $(FILES_nlm_objs)),$(subst /,\,$(objfile))) >> $@
+ @echo $(DL)$(foreach objfile,$(strip $(FILES_nlm_objs)),$(objfile))$(DL)>> $@
endif
ifneq "$(FILES_nlm_libs)" ""
- @echo $(foreach libfile, $(notdir $(strip $(FILES_nlm_libs))),-l$(subst /,\,$(libfile))) >> $@
+ @echo $(DL)$(foreach libfile, $(notdir $(strip $(FILES_nlm_libs))),-l$(libfile))$(DL)>> $@
endif
- @echo -commandfile $(OBJDIR)\$(NLM_NAME)_link.def >> $@
- @echo # Do not edit this file - it is created by make! > $(OBJDIR)\$(NLM_NAME)_link.def
- @echo # All your changes will be lost!! >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)-commandfile $(@:.opt=.def)$(DL)>> $@
+ @echo $(DL)# Do not edit this file - it is created by make!$(DL)> $(@:.opt=.def)
+ @echo $(DL)# All your changes will be lost!!$(DL)>> $(@:.opt=.def)
ifneq "$(FILE_nlm_msg)" ""
- @echo Messages $(FILE_nlm_msg) >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)Messages $(FILE_nlm_msg)$(DL)>> $(@:.opt=.def)
endif
ifneq "$(FILE_nlm_hlp)" ""
- @echo Help $(FILE_nlm_hlp) >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)Help $(FILE_nlm_hlp)$(DL)>> $(@:.opt=.def)
endif
ifeq "$(FILE_nlm_copyright)" ""
- @echo copyright "$(NLM_COPYRIGHT)" >> $(OBJDIR)\$(NLM_NAME)_link.def
-endif
- @echo description "$(NLM_DESCRIPTION)" >> $(OBJDIR)\$(NLM_NAME)_link.def
- @echo threadname "$(NLM_THREAD_NAME)" >> $(OBJDIR)\$(NLM_NAME)_link.def
-ifneq "$(NLM_STACK_SIZE)" ""
- @echo stacksize $(subst K,000,$(subst k,K,$(strip $(NLM_STACK_SIZE)))) >> $(OBJDIR)\$(NLM_NAME)_link.def
-else
- @echo stacksize 64000 >> $(OBJDIR)\$(NLM_NAME)_link.def
-endif
- @echo screenname "$(NLM_SCREEN_NAME)" >> $(OBJDIR)\$(NLM_NAME)_link.def
-ifneq "$(NLM_VERSION)" ""
- @echo version $(NLM_VERSION) >> $(OBJDIR)\$(NLM_NAME)_link.def
-else
- @echo version $(VERSION) >> $(OBJDIR)\$(NLM_NAME)_link.def
-endif
-ifneq "$(NLM_ENTRY_SYM)" ""
- @echo start $(NLM_ENTRY_SYM) >> $(OBJDIR)\$(NLM_NAME)_link.def
-endif
-ifneq "$(NLM_EXIT_SYM)" ""
- @echo exit $(NLM_EXIT_SYM) >> $(OBJDIR)\$(NLM_NAME)_link.def
-endif
+ @echo $(DL)copyright "$(NLM_COPYRIGHT)"$(DL)>> $(@:.opt=.def)
+endif
+ @echo $(DL)description "$(NLM_DESCRIPTION)"$(DL)>> $(@:.opt=.def)
+ @echo $(DL)threadname "$(NLM_THREAD_NAME)"$(DL)>> $(@:.opt=.def)
+ @echo $(DL)screenname "$(NLM_SCREEN_NAME)"$(DL)>> $(@:.opt=.def)
+ @echo $(DL)stacksize $(subst K,000,$(subst k,K,$(strip $(NLM_STACK_SIZE))))$(DL)>> $(@:.opt=.def)
+ @echo $(DL)version $(NLM_VERSION) $(DL)>> $(@:.opt=.def)
+ @echo $(DL)start $(NLM_ENTRY_SYM)$(DL)>> $(@:.opt=.def)
+ @echo $(DL)exit $(NLM_EXIT_SYM)$(DL)>> $(@:.opt=.def)
ifneq "$(NLM_CHECK_SYM)" ""
- @echo check $(NLM_CHECK_SYM) >> $(OBJDIR)\$(NLM_NAME)_link.def
-endif
-ifneq "$(NLM_FLAGS)" ""
- @echo $(strip $(NLM_FLAGS)) >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)check $(NLM_CHECK_SYM)$(DL)>> $(@:.opt=.def)
endif
+ @echo $(DL)$(strip $(NLM_FLAGS))$(DL)>> $(@:.opt=.def)
ifneq "$(FILES_nlm_modules)" ""
- @echo module $(foreach module,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_modules))),$(subst /,\,$(module))) >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)module $(foreach module,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_modules))),$(module))$(DL)>> $(@:.opt=.def)
endif
ifneq "$(FILES_nlm_Ximports)" ""
- @echo import $(foreach import,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_Ximports))),$(subst /,\,$(import))) >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)import $(foreach import,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_Ximports))),$(import))$(DL)>> $(@:.opt=.def)
endif
ifneq "$(FILES_nlm_exports)" ""
- @echo export $(foreach export,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_exports))),$(subst /,\,$(export))) >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)export $(foreach export,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_exports))),$(export))$(DL)>> $(@:.opt=.def)
endif
-
# if APACHE_UNIPROC is defined, don't include XDCData
ifndef APACHE_UNIPROC
ifneq "$(string $(XDCDATA))" ""
- @echo xdcdata $(XDCDATA) >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)xdcdata $(XDCDATA)$(DL)>> $(@:.opt=.def)
else
- @echo xdcdata $(NWOS)\apache.xdc >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)xdcdata apache.xdc$(DL)>> $(@:.opt=.def)
endif
endif
@@ -311,10 +310,10 @@ else # more than one target so look for individual makefiles.
ifndef NO_LICENSE_FILE
-$(OBJDIR)/%.nlm: NWGNU% $(AP_WORK)\build\NWGNUhead.inc $(AP_WORK)\build\NWGNUtail.inc $(AP_WORK)\build\NWGNUenvironment.inc $(CUSTOM_INI) $(VERSION_INC) FORCE
- @echo Calling $<
+$(OBJDIR)/%.nlm: NWGNU% $($(NLM_NAME)_LINKOPT_DEPENDS) FORCE
+ @echo $(DL)Calling $<$(DL)
$(MAKE) -f $< $(MAKECMDGOALS) RELEASE=$(RELEASE)
- $(CMD) echo.
+ @$(ECHONL)
else
diff --git a/build/find_apr.m4 b/build/find_apr.m4
index 88f64a7e..925e523f 100644
--- a/build/find_apr.m4
+++ b/build/find_apr.m4
@@ -176,7 +176,7 @@ AC_DEFUN([APR_FIND_APR], [
fi
dnl if we have not found anything yet and have bundled source, use that
if test "$apr_found" = "no" && test -d "$1"; then
- apr_temp_abs_srcdir="`cd $1 && pwd`"
+ apr_temp_abs_srcdir="`cd \"$1\" && pwd`"
apr_found="reconfig"
apr_bundled_major="`sed -n '/#define.*APR_MAJOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p' \"$1/include/apr_version.h\"`"
case $apr_bundled_major in
diff --git a/build/make_nw_export.awk b/build/make_nw_export.awk
index ca6e6a07..93812c90 100644
--- a/build/make_nw_export.awk
+++ b/build/make_nw_export.awk
@@ -13,35 +13,25 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-#
# Based on apr's make_export.awk, which is
# based on Ryan Bloom's make_export.pl
+#
BEGIN {
- printf(" ("EXPPREFIX")\n")
+}
+
+function add_symbol(sym_name) {
+ sub(" ", "", sym_name)
+ exports[++idx] = sym_name
}
# List of functions that we don't support, yet??
#/ap_some_name/{next}
-function add_symbol (sym_name) {
- if (count) {
- found++
- }
- gsub (/ /, "", sym_name)
- line = line sym_name ",\n"
-
- if (count == 0) {
- printf(" %s", line)
- line = ""
- }
-}
-
-/^[ \t]*AP([RU]|_CORE)?_DECLARE[^(]*[(][^)]*[)]([^ ]* )*[^(]+[(]/ {
- sub("[ \t]*AP([RU]|_CORE)?_DECLARE[^(]*[(][^)]*[)][ \t]*", "")
+/^[ \t]*(AP|DAV)([RU]|_CORE)?_DECLARE[^(]*[(][^)]*[)]([^ ]* )*[^(]+[(]/ {
+ sub("[ \t]*(AP|DAV)([RU]|_CORE)?_DECLARE[^(]*[(][^)]*[)][ \t]*", "")
sub("[(].*", "")
sub("([^ ]* (^([ \t]*[(])))+", "")
-
add_symbol($0)
next
}
@@ -51,13 +41,25 @@ function add_symbol (sym_name) {
symbol = args[2]
sub("^[ \t]+", "", symbol)
sub("[ \t]+$", "", symbol)
-
add_symbol("ap_hook_" symbol)
add_symbol("ap_hook_get_" symbol)
add_symbol("ap_run_" symbol)
next
}
+/^[ \t]*AP[RU]?_DECLARE_EXTERNAL_HOOK[^(]*[(][^)]*/ {
+ split($0, args, ",")
+ prefix = args[1]
+ sub("^.*[(]", "", prefix)
+ symbol = args[4]
+ sub("^[ \t]+", "", symbol)
+ sub("[ \t]+$", "", symbol)
+ add_symbol(prefix "_hook_" symbol)
+ add_symbol(prefix "_hook_get_" symbol)
+ add_symbol(prefix "_run_" symbol)
+ next
+}
+
/^[ \t]*APR_POOL_DECLARE_ACCESSOR[^(]*[(][^)]*[)]/ {
sub("[ \t]*APR_POOL_DECLARE_ACCESSOR[^(]*[(]", "", $0)
sub("[)].*$", "", $0)
@@ -79,13 +81,37 @@ function add_symbol (sym_name) {
next
}
-/^[ \t]*(extern[ \t]+)?AP[RU]?_DECLARE_DATA .*;$/ {
- varname = $NF;
- gsub( /[*;]/, "", varname);
- gsub( /\[.*\]/, "", varname);
- add_symbol(varname);
+/^[ \t]*(extern[ \t]+)?AP[RU]?_DECLARE_DATA .*;/ {
+ gsub(/[*;\n\r]/, "", $NF)
+ gsub(/\[.*\]/, "", $NF)
+ add_symbol($NF)
+}
+
+
+END {
+ printf("Added %d symbols to export list.\n", idx) > "/dev/stderr"
+ # sort symbols with shell sort
+ increment = int(idx / 2)
+ while (increment > 0) {
+ for (i = increment+1; i <= idx; i++) {
+ j = i
+ temp = exports[i]
+ while ((j >= increment+1) && (exports[j-increment] > temp)) {
+ exports[j] = exports[j-increment]
+ j -= increment
+ }
+ exports[j] = temp
+ }
+ if (increment == 2)
+ increment = 1
+ else
+ increment = int(increment*5/11)
+ }
+ # print the array
+ printf(" (%s)\n", EXPPREFIX)
+ while (x < idx - 1) {
+ printf(" %s,\n", exports[++x])
+ }
+ printf(" %s\n", exports[++x])
}
-#END {
-# printf(" %s", line)
-#}
diff --git a/build/mkconfNW.awk b/build/mkconfNW.awk
index 623a7395..0ec0f76f 100644
--- a/build/mkconfNW.awk
+++ b/build/mkconfNW.awk
@@ -37,8 +37,6 @@ BEGIN {
B["logfiledir"] = A["logfiledir"]
B["sysconfdir"] = A["sysconfdir"]
B["runtimedir"] = A["runtimedir"]
- B["listen_stmt_1"] = "Listen "A["Port"]
- B["listen_stmt_2"] = ""
}
/@@LoadModule@@/ {
diff --git a/build/nw_export.inc b/build/nw_export.inc
index 94d9a45a..2643a871 100644
--- a/build/nw_export.inc
+++ b/build/nw_export.inc
@@ -7,11 +7,17 @@
so that httpd.h will not mess with them. This allows
them to pass untouched so that the AWK script can pick
them out of the preprocessed result file. */
+#undef AP_DECLARE
#define AP_DECLARE AP_DECLARE
+#undef AP_CORE_DECLARE
#define AP_CORE_DECLARE AP_CORE_DECLARE
+#undef AP_DECLARE_NONSTD
#define AP_DECLARE_NONSTD AP_DECLARE_NONSTD
+#undef AP_CORE_DECLARE_NONSTD
#define AP_CORE_DECLARE_NONSTD AP_CORE_DECLARE_NONSTD
+#undef AP_DECLARE_HOOK
#define AP_DECLARE_HOOK AP_DECLARE_HOOK
+#undef AP_DECLARE_DATA
#define AP_DECLARE_DATA AP_DECLARE_DATA
#undef APACHE_OS_H
diff --git a/build/rpm/httpd.init b/build/rpm/httpd.init
index cf3f5a60..86aabd36 100755
--- a/build/rpm/httpd.init
+++ b/build/rpm/httpd.init
@@ -38,8 +38,12 @@
# Source function library.
. /etc/rc.d/init.d/functions
-if [ -f /etc/sysconfig/httpd ]; then
- . /etc/sysconfig/httpd
+# What were we called? Multiple instances of the same daemon can be
+# created by creating suitably named symlinks to this startup script
+prog=$(basename $0 | sed -e 's/^[SK][0-9][0-9]//')
+
+if [ -f /etc/sysconfig/${prog} ]; then
+ . /etc/sysconfig/${prog}
fi
# Start httpd in the C locale by default.
@@ -54,9 +58,8 @@ INITLOG_ARGS=""
# work correctly with a thread-based MPM; notably PHP will refuse to start.
httpd=${HTTPD-/usr/sbin/httpd}
-prog=httpd
-pidfile=${PIDFILE-/var/log/httpd/httpd.pid}
-lockfile=${LOCKFILE-/var/lock/subsys/httpd}
+pidfile=${PIDFILE-/var/log/httpd/${prog}.pid}
+lockfile=${LOCKFILE-/var/lock/subsys/${prog}}
RETVAL=0
# check for 1.3 configuration
@@ -90,7 +93,7 @@ start() {
}
stop() {
echo -n $"Stopping $prog: "
- killproc -p ${pidfile} $httpd
+ killproc -p ${pidfile} -d 10 $httpd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
@@ -116,7 +119,7 @@ case "$1" in
echo $prog is stopped
RETVAL=3
else
- status -p {$pidfile} $httpd
+ status -p ${pidfile} $httpd
RETVAL=$?
fi
;;
diff --git a/build/rpm/httpd.logrotate b/build/rpm/httpd.logrotate
index dd0ce1b9..1a03e85e 100644
--- a/build/rpm/httpd.logrotate
+++ b/build/rpm/httpd.logrotate
@@ -3,6 +3,6 @@
notifempty
sharedscripts
postrotate
- /bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
+ /sbin/service httpd graceful 2> /dev/null || true
endscript
}
diff --git a/build/rpm/httpd.spec.in b/build/rpm/httpd.spec.in
index b8ec8aed..240a93cb 100644
--- a/build/rpm/httpd.spec.in
+++ b/build/rpm/httpd.spec.in
@@ -15,7 +15,7 @@ Group: System Environment/Daemons
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildPrereq: apr-devel, apr-util-devel, openldap-devel, db4-devel, expat-devel, findutils, perl, pkgconfig, pcre-devel >= 5.0
BuildPrereq: /usr/bin/apr-1-config, /usr/bin/apu-1-config
-Requires: apr >= 1.2.0, apr-util >= 1.2.0, pcre >= 5.0, gawk, /usr/share/magic.mime, /usr/bin/find, openldap
+Requires: apr >= 1.4.2, apr-util >= 1.3.10, pcre >= 5.0, gawk, /usr/bin/find, openldap
Prereq: /sbin/chkconfig, /bin/mktemp, /bin/rm, /bin/mv
Prereq: sh-utils, textutils, /usr/sbin/useradd
Provides: webserver
@@ -33,7 +33,7 @@ Group: Development/Libraries
Summary: Development tools for the Apache HTTP server.
Obsoletes: secureweb-devel, apache-devel
Requires: libtool, httpd = %{version}
-Requires: apr-devel >= 1.2.0, apr-util-devel >= 1.2.0
+Requires: apr-devel >= 1.4.2, apr-util-devel >= 1.3.10
%description devel
The httpd-devel package contains the APXS binary and other files
@@ -215,8 +215,8 @@ fi
%post -n mod_ssl
umask 077
-if [ ! -f %{_sysconfdir}/httpd/conf/ssl.key/server.key ] ; then
-%{_bindir}/openssl genrsa -rand /proc/apm:/proc/cpuinfo:/proc/dma:/proc/filesystems:/proc/interrupts:/proc/ioports:/proc/pci:/proc/rtc:/proc/uptime 1024 > %{_sysconfdir}/httpd/conf/ssl.key/server.key 2> /dev/null
+if [ ! -f %{_sysconfdir}/httpd/conf/server.key ] ; then
+%{_bindir}/openssl genrsa -rand /proc/apm:/proc/cpuinfo:/proc/dma:/proc/filesystems:/proc/interrupts:/proc/ioports:/proc/pci:/proc/rtc:/proc/uptime 1024 > %{_sysconfdir}/httpd/conf/server.key 2> /dev/null
fi
FQDN=`hostname`
@@ -224,8 +224,8 @@ if [ "x${FQDN}" = "x" ]; then
FQDN=localhost.localdomain
fi
-if [ ! -f %{_sysconfdir}/httpd/conf/ssl.crt/server.crt ] ; then
-cat << EOF | %{_bindir}/openssl req -new -key %{_sysconfdir}/httpd/conf/ssl.key/server.key -x509 -days 365 -out %{_sysconfdir}/httpd/conf/ssl.crt/server.crt 2>/dev/null
+if [ ! -f %{_sysconfdir}/httpd/conf/server.crt ] ; then
+cat << EOF | %{_bindir}/openssl req -new -key %{_sysconfdir}/httpd/conf/server.key -x509 -days 365 -out %{_sysconfdir}/httpd/conf/server.crt 2>/dev/null
--
SomeState
SomeCity
@@ -370,154 +370,3 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/httpd/build/config.nice
%{_libdir}/httpd/build/mkdir.sh
-%changelog
-* Mon Mar 27 2006 Graham Leggett <minfrin@apache.org> 2.2.1-dev
-- Update dependancies on apr and apr-util to at least v1.2.0.
-- Add the missing file-cache module to the cache build.
-
-* Fri Aug 26 2005 Graham Leggett <minfrin@apache.org> 2.1.7
-- Deleting the xml doc files is no longer necessary.
-- Add httxt2dbm to the sbin directory
-
-* Sat Jul 2 2005 Graham Leggett <minfrin@apache.org> 2.1.7-dev
-- Fixed complaints about unpackaged files with new config file changes.
-
-* Thu Dec 16 2004 Graham Leggett <minfrin@apache.org> 2.1.3-dev
-- Changed build to use external apr and apr-util
-
-* Thu May 20 2004 Graham Leggett <minfrin@apache.org> 2.0.50-dev
-- Changed default dependancy to link to db4 instead of db3.
-- Fixed complaints about unpackaged files.
-
-* Sat Apr 5 2003 Graham Leggett <minfrin@apache.org> 2.0.46-dev
-- Moved mime.types back to the default location.
-- Added mod_ldap and friends, mod_cache and friends.
-- Added openldap dependancy.
-
-* Sun Mar 30 2003 Graham Leggett <minfrin@apache.org> 2.0.45-1
-- Created generic Apache rpm spec file from that donated by Redhat.
-- Removed Redhat specific patches and boilerplate files.
-- Removed SSL related Makefiles.
-
-* Mon Feb 24 2003 Joe Orton <jorton@redhat.com> 2.0.40-21
-- add security fix for CAN-2003-0020; replace non-printable characters
- with '!' when printing to error log.
-- disable debuginfo on IA64.
-
-* Tue Feb 11 2003 Joe Orton <jorton@redhat.com> 2.0.40-20
-- disable POSIX semaphores to support 2.4.18 kernel (#83324)
-
-* Wed Jan 29 2003 Joe Orton <jorton@redhat.com> 2.0.40-19
-- require xmlto 0.0.11 or later
-- fix apr_strerror on glibc2.3
-
-* Wed Jan 22 2003 Tim Powers <timp@redhat.com> 2.0.40-18
-- rebuilt
-
-* Thu Jan 16 2003 Joe Orton <jorton@redhat.com> 2.0.40-17
-- add mod_cgid and httpd binary built with worker MPM (#75496)
-- allow choice of httpd binary in init script
-- pick appropriate CGI module based on loaded MPM in httpd.conf
-- source /etc/sysconfig/httpd in apachectl to get httpd choice
-- make "apachectl status" fail gracefully when links isn't found (#78159)
-
-* Mon Jan 13 2003 Joe Orton <jorton@redhat.com> 2.0.40-16
-- rebuild for OpenSSL 0.9.7
-
-* Fri Jan 3 2003 Joe Orton <jorton@redhat.com> 2.0.40-15
-- fix possible infinite recursion in config dir processing (#77206)
-- fix memory leaks in request body processing (#79282)
-
-* Thu Dec 12 2002 Joe Orton <jorton@redhat.com> 2.0.40-14
-- remove unstable shmht session cache from mod_ssl
-- get SSL libs from pkg-config if available (Nalin Dahyabhai)
-- stop "apxs -a -i" from inserting AddModule into httpd.conf (#78676)
-
-* Wed Nov 6 2002 Joe Orton <jorton@redhat.com> 2.0.40-13
-- fix location of installbuilddir in apxs when libdir!=/usr/lib
-
-* Wed Nov 6 2002 Joe Orton <jorton@redhat.com> 2.0.40-12
-- pass libdir to configure; clean up config_vars.mk
-- package instdso.sh, fixing apxs -i (#73428)
-- prevent build if upstream MMN differs from mmn macro
-- remove installed but unpackaged files
-
-* Wed Oct 9 2002 Joe Orton <jorton@redhat.com> 2.0.40-11
-- correct SERVER_NAME encoding in i18n error pages (thanks to Andre Malo)
-
-* Wed Oct 9 2002 Joe Orton <jorton@redhat.com> 2.0.40-10
-- fix patch for CAN-2002-0840 to also cover i18n error pages
-
-* Wed Oct 2 2002 Joe Orton <jorton@redhat.com> 2.0.40-9
-- security fixes for CAN-2002-0840 and CAN-2002-0843
-- fix for possible mod_dav segfault for certain requests
-
-* Tue Sep 24 2002 Gary Benson <gbenson@redhat.com>
-- updates to the migration guide
-
-* Wed Sep 4 2002 Nalin Dahyabhai <nalin@redhat.com> 2.0.40-8
-- link httpd with libssl to avoid library loading/unloading weirdness
-
-* Tue Sep 3 2002 Joe Orton <jorton@redhat.com> 2.0.40-7
-- add LoadModule lines for proxy modules in httpd.conf (#73349)
-- fix permissions of conf/ssl.*/ directories; add Makefiles for
- certificate management (#73352)
-
-* Mon Sep 2 2002 Joe Orton <jorton@redhat.com> 2.0.40-6
-- provide "httpd-mmn" to manage module ABI compatibility
-
-* Sun Sep 1 2002 Joe Orton <jorton@redhat.com> 2.0.40-5
-- fix SSL session cache (#69699)
-- revert addition of LDAP support to apr-util
-
-* Mon Aug 26 2002 Joe Orton <jorton@redhat.com> 2.0.40-4
-- set SIGXFSZ disposition to "ignored" (#69520)
-- make dummy connections to the first listener in config (#72692)
-
-* Mon Aug 26 2002 Joe Orton <jorton@redhat.com> 2.0.40-3
-- allow "apachectl configtest" on a 1.3 httpd.conf
-- add mod_deflate
-- enable LDAP support in apr-util
-- don't package everything in /var/www/error as config(noreplace)
-
-* Wed Aug 21 2002 Bill Nottingham <notting@redhat.com> 2.0.40-2
-- add trigger (#68657)
-
-* Mon Aug 12 2002 Joe Orton <jorton@redhat.com> 2.0.40-1
-- update to 2.0.40
-
-* Wed Jul 24 2002 Joe Orton <jorton@redhat.com> 2.0.36-8
-- improve comment on use of UserDir in default config (#66886)
-
-* Wed Jul 10 2002 Joe Orton <jorton@redhat.com> 2.0.36-7
-- use /sbin/nologin as shell for apache user (#68371)
-- add patch from CVS to fix possible infinite loop when processing
- internal redirects
-
-* Wed Jun 26 2002 Gary Benson <gbenson@redhat.com> 2.0.36-6
-- modify init script to detect 1.3.x httpd.conf's and direct users
- to the migration guide
-
-* Tue Jun 25 2002 Gary Benson <gbenson@redhat.com> 2.0.36-5
-- patch apachectl to detect 1.3.x httpd.conf's and direct users
- to the migration guide
-- ship the migration guide
-
-* Fri Jun 21 2002 Joe Orton <jorton@redhat.com>
-- move /etc/httpd2 back to /etc/httpd
-- add noindex.html page and poweredby logo; tweak default config
- to load noindex.html if no default "/" page is present.
-- add patch to prevent mutex errors on graceful restart
-
-* Fri Jun 21 2002 Tim Powers <timp@redhat.com> 2.0.36-4
-- automated rebuild
-
-* Wed Jun 12 2002 Joe Orton <jorton@redhat.com> 2.0.36-3
-- add patch to fix SSL mutex handling
-
-* Wed Jun 12 2002 Joe Orton <jorton@redhat.com> 2.0.36-2
-- improved config directory patch
-
-* Mon May 20 2002 Joe Orton <jorton@redhat.com>
-- initial build; based heavily on apache.spec and mod_ssl.spec
-- fixes: #65214, #58490, #57376, #61265, #65518, #58177, #57245
diff --git a/buildconf b/buildconf
index 6a50c169..4e031818 100755
--- a/buildconf
+++ b/buildconf
@@ -73,7 +73,7 @@ if [ $apr_found -lt 1 ]; then
echo "or specify the location of the source with "
echo "--with-apr=[path to apr] :"
echo ""
- echo " svn co http://svn.apache.org/repos/asf/apr/apr/trunk srclib/apr"
+ echo " svn co http://svn.apache.org/repos/asf/apr/apr/branches/1.4.x srclib/apr"
echo ""
should_exit=1
fi
@@ -91,11 +91,11 @@ done
if [ $apu_found -lt 1 ]; then
echo ""
echo "You don't have a copy of the apr-util source in srclib/apr-util. "
- echo "Please get one the source using the following instructions, "
+ echo "Please get the source using the following instructions, "
echo "or specify the location of the source with "
- echo "--with-apr-util=[path to apr-util]:"
+ echo "--with-apr-util=[path to apr-util] :"
echo ""
- echo " svn co http://svn.apache.org/repos/asf/apr/apr-util/trunk srclib/apr-util"
+ echo " svn co http://svn.apache.org/repos/asf/apr/apr-util/branches/1.3.x srclib/apr-util"
echo ""
should_exit=1
fi
diff --git a/configure b/configure
index 7cc39f37..417246dc 100755
--- a/configure
+++ b/configure
@@ -732,6 +732,7 @@ MOD_DAV_LDADD
MOD_MIME_LDADD
MOD_HTTP_LDADD
APACHECTL_ULIMIT
+NONPORTABLE_SUPPORT
httxt2dbm_LTFLAGS
htcacheclean_LTFLAGS
checkgid_LTFLAGS
@@ -806,6 +807,7 @@ MOD_AUTHN_DBM_LDADD
MOD_AUTHN_FILE_LDADD
PILDFLAGS
PICFLAGS
+CRYPT_LIBS
MKDEP
EGREP
GREP
@@ -1811,7 +1813,7 @@ Optional Packages:
--with-sslc=DIR RSA SSL-C SSL/TLS toolkit
--with-ssl=DIR OpenSSL SSL/TLS toolkit
--with-mpm=MPM Choose the process model for Apache to use.
- MPM={beos|event|worker|prefork|mpmt_os2}
+ MPM={beos|event|worker|prefork|mpmt_os2|winnt}
--with-module=module-type:module-file
Enable module-file in the modules/<module-type>
directory.
@@ -3566,7 +3568,7 @@ else
done
fi
if test "$apr_found" = "no" && test -d ""$srcdir/srclib/apr""; then
- apr_temp_abs_srcdir="`cd "$srcdir/srclib/apr" && pwd`"
+ apr_temp_abs_srcdir="`cd \""$srcdir/srclib/apr"\" && pwd`"
apr_found="reconfig"
apr_bundled_major="`sed -n '/#define.*APR_MAJOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p' \""$srcdir/srclib/apr"/include/apr_version.h\"`"
case $apr_bundled_major in
@@ -5861,6 +5863,33 @@ case $host in
SINGLE_LISTEN_UNSERIALIZED_ACCEPT="1"
;;
+ *mingw32*)
+
+ test "x$silent" != "xyes" && echo " forcing APACHE_MPM to \"winnt\""
+ APACHE_MPM="winnt"
+
+
+ if test "x$CPPFLAGS" = "x"; then
+ test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DAP_DECLARE_EXPORT\""
+ CPPFLAGS="-DAP_DECLARE_EXPORT"
+ else
+ apr_addto_bugger="-DAP_DECLARE_EXPORT"
+ 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
+
+ ;;
*aix*)
aixver=`echo $host | sed 's/^[^0-9]*//' | sed 's/\.//g'`
if test $aixver -ge 4320; then
@@ -7675,6 +7704,102 @@ if test "$ac_res" != no; then
fi
+saved_LIBS="$LIBS"
+LIBS=""
+{ $as_echo "$as_me:$LINENO: checking for library containing crypt" >&5
+$as_echo_n "checking for library containing crypt... " >&6; }
+if test "${ac_cv_search_crypt+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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 crypt ();
+int
+main ()
+{
+return crypt ();
+ ;
+ return 0;
+}
+_ACEOF
+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
+ rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_search_crypt=$ac_res
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+ if test "${ac_cv_search_crypt+set}" = set; then
+ break
+fi
+done
+if test "${ac_cv_search_crypt+set}" = set; then
+ :
+else
+ ac_cv_search_crypt=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_crypt" >&5
+$as_echo "$ac_cv_search_crypt" >&6; }
+ac_res=$ac_cv_search_crypt
+if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+CRYPT_LIBS="$LIBS"
+
+ APACHE_VAR_SUBST="$APACHE_VAR_SUBST CRYPT_LIBS"
+
+
+LIBS="$saved_LIBS"
+
@@ -8002,6 +8127,9 @@ else
*freebsd5*|*netbsd*|*openbsd*)
v4mapped=no
;;
+ *mingw*)
+ v4mapped=no
+ ;;
*)
v4mapped=yes
;;
@@ -16654,6 +16782,10 @@ bs2000*)
OS="cygwin"
OS_DIR="unix"
;;
+*mingw32*)
+ OS="win32"
+ OS_DIR=$OS
+ ;;
*)
OS="unix"
OS_DIR=$OS;;
@@ -17538,7 +17670,7 @@ apache_cv_mpm=$APACHE_MPM
ap_mpm_is_threaded ()
{
- if test "$apache_cv_mpm" = "worker" -o "$apache_cv_mpm" = "event" ; then
+ if test "$apache_cv_mpm" = "worker" -o "$apache_cv_mpm" = "event" -o "$apache_cv_mpm" = "winnt" ; then
return 0
else
return 1
@@ -17646,6 +17778,12 @@ if test "$MPM_NAME" = "prefork" ; then
fi
+if test "$MPM_NAME" = "winnt" ; then
+
+ APACHE_FAST_OUTPUT_FILES="$APACHE_FAST_OUTPUT_FILES server/mpm/$MPM_NAME/Makefile"
+
+fi
+
htpasswd_LTFLAGS=""
htdigest_LTFLAGS=""
rotatelogs_LTFLAGS=""
@@ -18349,6 +18487,23 @@ fi
+# Configure or check which of the non-portable support programs can be enabled.
+
+NONPORTABLE_SUPPORT=""
+case $host in
+ *mingw*)
+ ;;
+ *)
+ NONPORTABLE_SUPPORT="checkgid"
+ ;;
+esac
+
+ APACHE_VAR_SUBST="$APACHE_VAR_SUBST NONPORTABLE_SUPPORT"
+
+
+
+# Configure the ulimit -n command used by apachectl.
+
case $host in
*aix*)
# this works in any locale, unlike the default command below, which
@@ -19305,9 +19460,21 @@ EOF
fi
-if ap_mpm_is_threaded; then
-# if we are using a threaded MPM, we will get better performance with
-# mod_cgid, so make it the default.
+# Is mod_cgid needed?
+case $host in
+ *mingw*)
+ cgid_needed="no"
+ ;;
+ *)
+ if ap_mpm_is_threaded; then
+ cgid_needed="yes"
+ else
+ cgid_needed="no"
+ fi
+ ;;
+esac
+
+if test $cgid_needed = "yes"; then
{ $as_echo "$as_me:$LINENO: checking whether to enable mod_cgid" >&5
$as_echo_n "checking whether to enable mod_cgid... " >&6; }
@@ -19495,9 +19662,6 @@ EOF
fi
else
-# if we are using a non-threaded MPM, it makes little sense to use
-# mod_cgid, and it just opens up holes we don't need. Make mod_cgi the
-# default
{ $as_echo "$as_me:$LINENO: checking whether to enable mod_cgi" >&5
$as_echo_n "checking whether to enable mod_cgi... " >&6; }
diff --git a/configure.in b/configure.in
index 0ccf8591..0557b4ad 100644
--- a/configure.in
+++ b/configure.in
@@ -302,6 +302,10 @@ case $host in
APR_SETVAR(APACHE_MPM, [prefork])
APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
;;
+ *mingw32*)
+ APR_SETVAR(APACHE_MPM, [winnt])
+ APR_ADDTO(CPPFLAGS, [-DAP_DECLARE_EXPORT])
+ ;;
*aix*)
aixver=`echo $host | sed 's/^[[^0-9]]*//' | sed 's/\.//g'`
if test $aixver -ge 4320; then
@@ -397,6 +401,13 @@ AC_C_CONST
dnl ## Check for library functions
AC_SEARCH_LIBS(sqrt, m)
+saved_LIBS="$LIBS"
+LIBS=""
+AC_SEARCH_LIBS(crypt, crypt)
+CRYPT_LIBS="$LIBS"
+APACHE_SUBST(CRYPT_LIBS)
+LIBS="$saved_LIBS"
+
dnl See Comment #Spoon
AC_CHECK_FUNCS( \
@@ -463,6 +474,11 @@ AC_ARG_ENABLE(v4-mapped,APACHE_HELP_STRING(--enable-v4-mapped,Allow IPv6 sockets
*freebsd5*|*netbsd*|*openbsd*)
v4mapped=no
;;
+ *mingw*)
+ dnl WinNT is the only MPM on this platform, and it doesn't support
+ dnl this feature.
+ v4mapped=no
+ ;;
*)
v4mapped=yes
;;
diff --git a/docs/conf/mime.types b/docs/conf/mime.types
index 1ae00972..6a90929c 100644
--- a/docs/conf/mime.types
+++ b/docs/conf/mime.types
@@ -11,7 +11,9 @@
# Internet media types should be registered as described in RFC 4288.
# The registry is at <http://www.iana.org/assignments/media-types/>.
#
-# MIME type Extensions
+# MIME type (lowercased) Extensions
+# ============================================ ==========
+# application/1d-interleaved-parityfec
# application/3gpp-ims+xml
# application/activemessage
application/andrew-inset ez
@@ -26,8 +28,14 @@ application/atomsvc+xml atomsvc
# application/beep+xml
# application/cals-1840
application/ccxml+xml ccxml
+application/cdmi-capability cdmia
+application/cdmi-container cdmic
+application/cdmi-domain cdmid
+application/cdmi-object cdmio
+application/cdmi-queue cdmiq
# application/cea-2018+xml
# application/cellml+xml
+# application/cfw
# application/cnrp+xml
# application/commonground
# application/conference-info+xml
@@ -42,6 +50,7 @@ application/davmount+xml davmount
# application/dialog-info+xml
# application/dicom
# application/dns
+# application/dskpp+xml
application/dssc+der dssc
application/dssc+xml xdssc
# application/dvcs
@@ -54,10 +63,12 @@ application/emma+xml emma
application/epub+zip epub
# application/eshop
# application/example
+application/exi exi
# application/fastinfoset
# application/fastsoap
# application/fits
application/font-tdpfr pfr
+# application/framework-attributes+xml
# application/h224
# application/held+xml
# application/http
@@ -87,8 +98,12 @@ application/lost+xml lostxml
application/mac-binhex40 hqx
application/mac-compactpro cpt
# application/macwriteii
+application/mads+xml mads
application/marc mrc
+application/marcxml+xml mrcx
application/mathematica ma nb mb
+# application/mathml-content+xml
+# application/mathml-presentation+xml
application/mathml+xml mathml
# application/mbms-associated-procedure-description+xml
# application/mbms-deregister+xml
@@ -103,15 +118,21 @@ application/mathml+xml mathml
application/mbox mbox
# application/media_control+xml
application/mediaservercontrol+xml mscml
+application/metalink4+xml meta4
+application/mets+xml mets
# application/mikey
+application/mods+xml mods
# application/moss-keys
# application/moss-signature
# application/mosskey-data
# application/mosskey-request
+application/mp21 m21 mp21
application/mp4 mp4s
# application/mpeg4-generic
# application/mpeg4-iod
# application/mpeg4-iod-xmt
+# application/msc-ivr+xml
+# application/msc-mixer+xml
application/msword doc dot
application/mxf mxf
# application/nasdata
@@ -138,6 +159,8 @@ application/pics-rules prf
application/pkcs10 p10
application/pkcs7-mime p7m p7c
application/pkcs7-signature p7s
+application/pkcs8 p8
+application/pkix-attr-cert ac
application/pkix-cert cer
application/pkix-crl crl
application/pkix-pkipath pkipath
@@ -149,6 +172,9 @@ application/postscript ai eps ps
application/prs.cww cww
# application/prs.nprend
# application/prs.plucker
+# application/prs.rdf-xml-crypt
+# application/prs.xsf+xml
+application/pskc+xml pskcxml
# application/qsig
application/rdf+xml rdf
application/reginfo+xml rif
@@ -192,9 +218,24 @@ application/sparql-results+xml srx
# application/spirits-event+xml
application/srgs gram
application/srgs+xml grxml
+application/sru+xml sru
application/ssml+xml ssml
+# application/tamp-apex-update
+# application/tamp-apex-update-confirm
+# application/tamp-community-update
+# application/tamp-community-update-confirm
+# application/tamp-error
+# application/tamp-sequence-adjust
+# application/tamp-sequence-adjust-confirm
+# application/tamp-status-query
+# application/tamp-status-response
+# application/tamp-update
+# application/tamp-update-confirm
+application/tei+xml tei teicorpus
+application/thraud+xml tfi
# application/timestamp-query
# application/timestamp-reply
+application/timestamped-data tsd
# application/tve-trigger
# application/ulpfec
# application/vemmi
@@ -213,15 +254,19 @@ application/vnd.accpac.simply.imp imp
application/vnd.acucobol acu
application/vnd.acucorp atc acutc
application/vnd.adobe.air-application-installer-package+zip air
+application/vnd.adobe.fxp fxp fxpl
# application/vnd.adobe.partial-upload
application/vnd.adobe.xdp+xml xdp
application/vnd.adobe.xfdf xfdf
# application/vnd.aether.imp
+# application/vnd.ah-barcode
+application/vnd.ahead.space ahead
application/vnd.airzip.filesecure.azf azf
application/vnd.airzip.filesecure.azs azs
application/vnd.amazon.ebook azw
application/vnd.americandynamics.acc acc
application/vnd.amiga.ami ami
+# application/vnd.amundsen.maze+xml
application/vnd.android.package-archive apk
application/vnd.anser-web-certificate-issue-initiation cii
application/vnd.anser-web-funds-transfer-initiation fti
@@ -248,6 +293,8 @@ application/vnd.cinderella cdy
application/vnd.claymore cla
application/vnd.cloanto.rp9 rp9
application/vnd.clonk.c4group c4g c4d c4f c4p c4u
+application/vnd.cluetrust.cartomobile-config c11amc
+application/vnd.cluetrust.cartomobile-config-pkg c11amz
# application/vnd.commerce-battelle
application/vnd.commonspace csp
application/vnd.contact.cmsg cdbcmsg
@@ -269,6 +316,9 @@ application/vnd.curl.car car
application/vnd.curl.pcurl pcurl
# application/vnd.cybank
application/vnd.data-vision.rdz rdz
+application/vnd.dece.data uvf uvvf uvd uvvd
+application/vnd.dece.ttml+xml uvt uvvt
+application/vnd.dece.unspecified uvx uvvx
application/vnd.denovo.fcselayout-link fe_launch
# application/vnd.dir-bi.plate-dl-nosuffix
application/vnd.dna dna
@@ -277,9 +327,13 @@ application/vnd.dolby.mlp mlp
# application/vnd.dolby.mobile.2
application/vnd.dpgraph dpg
application/vnd.dreamfactory dfac
+application/vnd.dvb.ait ait
+# application/vnd.dvb.dvbj
# application/vnd.dvb.esgcontainer
# application/vnd.dvb.ipdcdftnotifaccess
# application/vnd.dvb.ipdcesgaccess
+# application/vnd.dvb.ipdcesgaccess2
+# application/vnd.dvb.ipdcesgpdd
# application/vnd.dvb.ipdcroaming
# application/vnd.dvb.iptv.alfec-base
# application/vnd.dvb.iptv.alfec-enhancement
@@ -290,8 +344,11 @@ application/vnd.dreamfactory dfac
# application/vnd.dvb.notif-ia-registration-request+xml
# application/vnd.dvb.notif-ia-registration-response+xml
# application/vnd.dvb.notif-init+xml
+# application/vnd.dvb.pfr
+application/vnd.dvb.service svc
# application/vnd.dxr
application/vnd.dynageo geo
+# application/vnd.easykaraoke.cdgdownload
# application/vnd.ecdis-update
application/vnd.ecowin.chart mag
# application/vnd.ecowin.filerequest
@@ -316,8 +373,11 @@ application/vnd.eszigno3+xml es3 et3
# application/vnd.etsi.iptvsad-bc+xml
# application/vnd.etsi.iptvsad-cod+xml
# application/vnd.etsi.iptvsad-npvr+xml
+# application/vnd.etsi.iptvservice+xml
+# application/vnd.etsi.iptvsync+xml
# application/vnd.etsi.iptvueprofile+xml
# application/vnd.etsi.mcid+xml
+# application/vnd.etsi.overload-control-policy-dataset+xml
# application/vnd.etsi.sci+xml
# application/vnd.etsi.simservs+xml
# application/vnd.etsi.tsl+xml
@@ -373,6 +433,7 @@ application/vnd.groove-injector grv
application/vnd.groove-tool-message gtm
application/vnd.groove-tool-template tpl
application/vnd.groove-vcard vcg
+application/vnd.hal+xml hal
application/vnd.handheld-entertainment+xml zmm
application/vnd.hbci hbci
# application/vnd.hcl-bireports
@@ -398,7 +459,11 @@ application/vnd.immervision-ivp ivp
application/vnd.immervision-ivu ivu
# application/vnd.informedcontrol.rms+xml
# application/vnd.informix-visionary
+# application/vnd.infotech.project
+# application/vnd.infotech.project+xml
+application/vnd.insors.igm igm
application/vnd.intercon.formnet xpw xpx
+application/vnd.intergeo i2g
# application/vnd.intertrust.digibox
# application/vnd.intertrust.nncp
application/vnd.intu.qbo qbo
@@ -410,6 +475,7 @@ application/vnd.intu.qfx qfx
application/vnd.ipunplugged.rcprofile rcprofile
application/vnd.irepository.package+xml irp
application/vnd.is-xpr xpr
+application/vnd.isac.fcs fcs
application/vnd.jam jam
# application/vnd.japannet-directory-service
# application/vnd.japannet-jpnstore-wakeup
@@ -436,6 +502,7 @@ application/vnd.kidspiration kia
application/vnd.kinar kne knp
application/vnd.koan skp skd skt skm
application/vnd.kodak-descriptor sse
+application/vnd.las.las+xml lasxml
# application/vnd.liberty-request+xml
application/vnd.llamagraphics.life-balance.desktop lbd
application/vnd.llamagraphics.life-balance.exchange+xml lbe
@@ -492,6 +559,8 @@ application/vnd.ms-fontobject eot
application/vnd.ms-htmlhelp chm
application/vnd.ms-ims ims
application/vnd.ms-lrm lrm
+# application/vnd.ms-office.activex+xml
+application/vnd.ms-officetheme thmx
application/vnd.ms-pki.seccat cat
application/vnd.ms-pki.stl stl
# application/vnd.ms-playready.initiator+xml
@@ -547,6 +616,8 @@ application/vnd.novadigm.edm edm
application/vnd.novadigm.edx edx
application/vnd.novadigm.ext ext
# application/vnd.ntt-local.file-transfer
+# application/vnd.ntt-local.sip-ta_remote
+# application/vnd.ntt-local.sip-ta_tcp_stream
application/vnd.oasis.opendocument.chart odc
application/vnd.oasis.opendocument.chart-template otc
application/vnd.oasis.opendocument.database odb
@@ -561,10 +632,21 @@ application/vnd.oasis.opendocument.presentation-template otp
application/vnd.oasis.opendocument.spreadsheet ods
application/vnd.oasis.opendocument.spreadsheet-template ots
application/vnd.oasis.opendocument.text odt
-application/vnd.oasis.opendocument.text-master otm
+application/vnd.oasis.opendocument.text-master odm
application/vnd.oasis.opendocument.text-template ott
application/vnd.oasis.opendocument.text-web oth
# application/vnd.obn
+# application/vnd.oipf.contentaccessdownload+xml
+# application/vnd.oipf.contentaccessstreaming+xml
+# application/vnd.oipf.cspg-hexbinary
+# application/vnd.oipf.dae.svg+xml
+# application/vnd.oipf.dae.xhtml+xml
+# application/vnd.oipf.mippvcontrolmessage+xml
+# application/vnd.oipf.pae.gem
+# application/vnd.oipf.spdiscovery+xml
+# application/vnd.oipf.spdlist+xml
+# application/vnd.oipf.ueprofile+xml
+# application/vnd.oipf.userprofile+xml
application/vnd.olpc-sugar xo
# application/vnd.oma-scws-config
# application/vnd.oma-scws-http-request
@@ -582,6 +664,8 @@ application/vnd.olpc-sugar xo
# application/vnd.oma.bcast.smartcard-trigger+xml
# application/vnd.oma.bcast.sprov+xml
# application/vnd.oma.bcast.stkm
+# application/vnd.oma.cab-address-book+xml
+# application/vnd.oma.cab-pcc+xml
# application/vnd.oma.dcd
# application/vnd.oma.dcdc
application/vnd.oma.dd2+xml dd2
@@ -656,6 +740,7 @@ application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx
# application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml
# application/vnd.openxmlformats-officedocument.theme+xml
# application/vnd.openxmlformats-officedocument.themeoverride+xml
+# application/vnd.openxmlformats-officedocument.vmldrawing
# application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml
application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
# application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml
@@ -672,7 +757,10 @@ application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
# application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml
# application/vnd.openxmlformats-package.core-properties+xml
# application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml
+# application/vnd.openxmlformats-package.relationships+xml
+# application/vnd.quobject-quoxdocument
# application/vnd.osa.netdeploy
+application/vnd.osgeo.mapguide.package mgp
# application/vnd.osgi.bundle
application/vnd.osgi.dp dp
# application/vnd.otps.ct-kip+xml
@@ -716,11 +804,13 @@ application/vnd.quark.quarkxpress qxd qxt qwd qwt qxl qxb
# application/vnd.radisys.msml-dialog-group+xml
# application/vnd.radisys.msml-dialog-speech+xml
# application/vnd.radisys.msml-dialog-transform+xml
+# application/vnd.rainstor.data
# application/vnd.rapid
application/vnd.realvnc.bed bed
application/vnd.recordare.musicxml mxl
application/vnd.recordare.musicxml+xml musicxml
# application/vnd.renlearn.rlprint
+application/vnd.rig.cryptonote cryptonote
application/vnd.rim.cod cod
application/vnd.rn-realmedia rm
application/vnd.route66.link66+xml link66
@@ -765,9 +855,9 @@ application/vnd.stardivision.calc sdc
application/vnd.stardivision.draw sda
application/vnd.stardivision.impress sdd
application/vnd.stardivision.math smf
-application/vnd.stardivision.writer sdw
-application/vnd.stardivision.writer vor
+application/vnd.stardivision.writer sdw vor
application/vnd.stardivision.writer-global sgl
+application/vnd.stepmania.stepchart sm
# application/vnd.street-stream
application/vnd.sun.xml.calc sxc
application/vnd.sun.xml.calc.template stc
@@ -795,6 +885,7 @@ application/vnd.trid.tpt tpt
application/vnd.triscape.mxs mxs
application/vnd.trueapp tra
# application/vnd.truedoc
+# application/vnd.ubisoft.webplayer
application/vnd.ufdl ufd ufdl
application/vnd.uiq.theme utz
application/vnd.umajin umj
@@ -816,6 +907,7 @@ application/vnd.uoml+xml uoml
application/vnd.vcx vcx
# application/vnd.vd-study
# application/vnd.vectorworks
+# application/vnd.verimatrix.vcas
# application/vnd.vidsoft.vidconference
application/vnd.visio vsd vst vss vsw
application/vnd.visionary vis
@@ -854,20 +946,25 @@ application/vnd.yamaha.hv-script hvs
application/vnd.yamaha.hv-voice hvp
application/vnd.yamaha.openscoreformat osf
application/vnd.yamaha.openscoreformat.osfpvg+xml osfpvg
+# application/vnd.yamaha.remote-setup
application/vnd.yamaha.smaf-audio saf
application/vnd.yamaha.smaf-phrase spf
+# application/vnd.yamaha.tunnel-udpencap
application/vnd.yellowriver-custom-menu cmp
application/vnd.zul zir zirz
application/vnd.zzazz.deck+xml zaz
application/voicexml+xml vxml
+# application/vq-rtcpxr
# application/watcherinfo+xml
# application/whoispp-query
# application/whoispp-response
+application/widget wgt
application/winhlp hlp
# application/wita
# application/wordperfect5.1
application/wsdl+xml wsdl
application/wspolicy+xml wspolicy
+application/x-7z-compressed 7z
application/x-abiword abw
application/x-ace-compressed ace
application/x-authorware-bin aab x32 u32 vox
@@ -903,6 +1000,7 @@ application/x-font-snf snf
# application/x-font-sunos-news
application/x-font-ttf ttf ttc
application/x-font-type1 pfa pfb pfm afm
+application/x-font-woff woff
# application/x-font-vfont
application/x-futuresplash spl
application/x-gnumeric gnumeric
@@ -954,6 +1052,7 @@ application/x-xpinstall xpi
# application/x400-bp
# application/xcap-att+xml
# application/xcap-caps+xml
+application/xcap-diff+xml xdf
# application/xcap-el+xml
# application/xcap-error+xml
# application/xcap-ns+xml
@@ -970,7 +1069,10 @@ application/xop+xml xop
application/xslt+xml xslt
application/xspf+xml xspf
application/xv+xml mxml xhvml xvml xvm
+application/yang yang
+application/yin+xml yin
application/zip zip
+# audio/1d-interleaved-parityfec
# audio/32kadpcm
# audio/3gpp
# audio/3gpp2
@@ -1022,6 +1124,7 @@ audio/basic au snd
# audio/g729e
# audio/gsm
# audio/gsm-efr
+# audio/gsm-hr-08
# audio/ilbc
# audio/l16
# audio/l20
@@ -1069,6 +1172,7 @@ audio/ogg oga ogg spx
# audio/vnd.cmles.radio-events
# audio/vnd.cns.anp1
# audio/vnd.cns.inf1
+audio/vnd.dece.audio uva uvva
audio/vnd.digital-winds eol
# audio/vnd.dlna.adts
# audio/vnd.dolby.heaac.1
@@ -1094,10 +1198,12 @@ audio/vnd.nuera.ecelp9600 ecelp9600
# audio/vnd.octel.sbc
# audio/vnd.qcelp
# audio/vnd.rhetorex.32kadpcm
+audio/vnd.rip rip
# audio/vnd.sealedmedia.softseal.mpeg
# audio/vnd.vmx.cvsd
# audio/vorbis
# audio/vorbis-config
+audio/webm weba
audio/x-aac aac
audio/x-aiff aif aiff aifc
audio/x-mpegurl m3u
@@ -1124,6 +1230,7 @@ image/ief ief
image/jpeg jpeg jpg jpe
# image/jpm
# image/jpx
+image/ktx ktx
# image/naplps
image/png png
image/prs.btif btif
@@ -1134,6 +1241,8 @@ image/tiff tiff tif
# image/tiff-fx
image/vnd.adobe.photoshop psd
# image/vnd.cns.inf2
+image/vnd.dece.graphic uvi uvvi uvg uvvg
+image/vnd.dvb.subtitle sub
image/vnd.djvu djvu djv
image/vnd.dwg dwg
image/vnd.dxf dxf
@@ -1154,6 +1263,7 @@ image/vnd.net-fpx npx
# image/vnd.svf
image/vnd.wap.wbmp wbmp
image/vnd.xiff xif
+image/webp webp
image/x-cmu-raster ras
image/x-cmx cmx
image/x-freehand fh fhc fh4 fh5 fh7
@@ -1173,6 +1283,7 @@ image/x-xwindowdump xwd
# message/disposition-notification
# message/example
# message/external-body
+# message/feedback-report
# message/global
# message/global-delivery-status
# message/global-disposition-notification
@@ -1190,6 +1301,7 @@ message/rfc822 eml mime
# model/example
model/iges igs iges
model/mesh msh mesh silo
+model/vnd.collada+xml dae
model/vnd.dwf dwf
# model/vnd.flatland.3dml
model/vnd.gdl gdl
@@ -1216,6 +1328,7 @@ model/vrml wrl vrml
# multipart/report
# multipart/signed
# multipart/voice-message
+# text/1d-interleaved-parityfec
text/calendar ics ifb
text/css css
text/csv csv
@@ -1226,6 +1339,7 @@ text/csv csv
# text/example
text/html html htm
# text/javascript
+text/n3 n3
# text/parityfec
text/plain txt text conf def list log in
# text/prs.fallenstein.rst
@@ -1241,6 +1355,7 @@ text/sgml sgml sgm
# text/t140
text/tab-separated-values tsv
text/troff t tr roff man me ms
+text/turtle ttl
# text/ulpfec
text/uri-list uri uris urls
# text/vnd.abc
@@ -1279,6 +1394,7 @@ text/x-vcalendar vcs
text/x-vcard vcf
# text/xml
# text/xml-external-parsed-entity
+# video/1d-interleaved-parityfec
video/3gpp 3gp
# video/3gpp-tt
video/3gpp2 3g2
@@ -1292,6 +1408,8 @@ video/h263 h263
# video/h263-1998
# video/h263-2000
video/h264 h264
+# video/h264-rcdo
+# video/h264-svc
video/jpeg jpgv
# video/jpeg2000
video/jpm jpm jpgm
@@ -1316,6 +1434,14 @@ video/quicktime qt mov
# video/ulpfec
# video/vc1
# video/vnd.cctv
+video/vnd.dece.hd uvh uvvh
+video/vnd.dece.mobile uvm uvvm
+# video/vnd.dece.mp4
+video/vnd.dece.pd uvp uvvp
+video/vnd.dece.sd uvs uvvs
+video/vnd.dece.video uvv uvvv
+# video/vnd.directv.mpeg
+# video/vnd.directv.mpeg-tts
# video/vnd.dlna.mpeg-tts
video/vnd.fvt fvt
# video/vnd.hns.video
@@ -1336,7 +1462,9 @@ video/vnd.ms-playready.media.pyv pyv
# video/vnd.sealed.mpeg4
# video/vnd.sealed.swf
# video/vnd.sealedmedia.softseal.mov
+video/vnd.uvvu.mp4 uvu uvvu
video/vnd.vivo viv
+video/webm webm
video/x-f4v f4v
video/x-fli fli
video/x-flv flv
diff --git a/docs/error/HTTP_BAD_GATEWAY.html.var b/docs/error/HTTP_BAD_GATEWAY.html.var
index c0a70af6..0d02aff1 100644
--- a/docs/error/HTTP_BAD_GATEWAY.html.var
+++ b/docs/error/HTTP_BAD_GATEWAY.html.var
@@ -53,20 +53,21 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Puerta de enlace err&oacute;nea!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="Puerta de enlace err&oacute;nea!" -->
+<!--#include virtual="include/top.html" -->
- El servidor origen recibi&oacute; informaci&oacute;n
- inv&aacute;lida por parte del servidor destino.
+ El servidor 'proxy' recibi&oacute; informaci&oacute;n
+ inv&aacute;lida del servidor solicitante.
+
+ <!--#if expr="$REDIRECT_ERROR_NOTES" -->
+
+ <!--#include virtual="include/spacer.html" -->
+ <!--#echo var="REDIRECT_ERROR_NOTES" -->
+
+ <!--#endif -->
- <!--#if expr="$REDIRECT_ERROR_NOTES" -->
- <!--#include virtual="include/spacer.html" -->
- <!--#echo encoding="none" var="REDIRECT_ERROR_NOTES" -->
- <!--#endif -->
-
<!--#include virtual="include/bottom.html" -->
----------es--
@@ -215,6 +216,23 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="Gateway inv&aacute;lida!"
+--><!--#include virtual="include/top.html" -->
+
+ O servidor de <i>proxy</i> recebeu uma resposta
+ inválida de um outro servidor externo a ele.
+
+ <!--#if expr="$REDIRECT_ERROR_NOTES" -->
+ <!--#include virtual="include/spacer.html" -->
+ <!--#echo encoding="none" var="REDIRECT_ERROR_NOTES" -->
+ <!--#endif -->
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_BAD_REQUEST.html.var b/docs/error/HTTP_BAD_REQUEST.html.var
index d282482b..c21ae401 100644
--- a/docs/error/HTTP_BAD_REQUEST.html.var
+++ b/docs/error/HTTP_BAD_REQUEST.html.var
@@ -38,14 +38,13 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Solicitud err&oacute;nea!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="Solicitud err&oacute;nea!" -->
+<!--#include virtual="include/top.html" -->
- El navegador ha solicitado una operaci&oacute;n
- que no puede ser procesada por el servidor.
+ Su buscador (o 'proxy') envi&oacute; una solicitud
+ que el servidor no pudo entender.
<!--#include virtual="include/bottom.html" -->
----------es--
@@ -157,6 +156,18 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="Pedido incorrecto!"
+--><!--#include virtual="include/top.html" -->
+
+ O seu <i>browser</i> ou <i>proxy</i> enviou
+ um pedido que este servidor n&atilde;o compreendeu.
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_FORBIDDEN.html.var b/docs/error/HTTP_FORBIDDEN.html.var
index 4958148e..84048c9b 100644
--- a/docs/error/HTTP_FORBIDDEN.html.var
+++ b/docs/error/HTTP_FORBIDDEN.html.var
@@ -67,24 +67,22 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Acceso prohibido!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="Acceso prohibido!" -->
+<!--#include virtual="include/top.html" -->
- <!--#if expr="$REDIRECT_URL = /\/$/" -->
+ <!--#if expr="$REDIRECT_URL = /\/$/" -->
- Usted no tiene permiso para accesar a la direcci&oacute;n
- solicitada. Existe la posibilidad de que el directorio
- este protegido contra lectura o que no exista la
- documentaci&oacute;n requerida.
+ Usted no tiene permiso para accesar al directorio solicitado.
+ No existe un documento &iacute;ndice, o el directorio est&aacute;
+ protegido contra lectura.
<!--#else -->
- Usted no tiene permiso de accesar al objeto solicitado.
- Existe la posibilidad de que este protegido contra
- lectura o que no haya podido ser leido por el servidor.
+ Usted no tiene permiso de accesar al objeto solicitado.
+ El objeto est&aacute; protegido contra lectura, o no
+ puede ser leido por el servidor.
<!--#endif -->
@@ -269,7 +267,7 @@ Body:-------pt-br--
<!--#else -->
- Voc&ecirc; n&atilde;o tem premiss&atilde;o para acessar o
+ Voc&ecirc; n&atilde;o tem permiss&atilde;o para acessar o
objeto requisitado. Ele pode estar protegido contra leitura ou
n&atilde;o ser leg&iacute;vel pelo servidor.
@@ -278,6 +276,29 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="Acesso proibido!"
+--><!--#include virtual="include/top.html" -->
+
+ <!--#if expr="$REDIRECT_URL = /\/$/" -->
+
+ N&atilde;o tem permiss&atilde;o para aceder ao direct&oacute;rio
+ que deseja. Ou n&atilde;o existe o documento de &iacute;ndice
+ ou o direct&oacute;rio est&aacute; protegido contra leitura.
+
+ <!--#else -->
+
+ N&atilde;o tem permiss&atilde;o para aceder ao objecto
+ que deseja. Este est&aacute; protegido contra leitura ou
+ o servidor n&atilde;o o consegue ler.
+
+ <!--#endif -->
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_GONE.html.var b/docs/error/HTTP_GONE.html.var
index 65aa644e..bf37f9e4 100644
--- a/docs/error/HTTP_GONE.html.var
+++ b/docs/error/HTTP_GONE.html.var
@@ -78,25 +78,24 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Recurso no disponible!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="El recurso ya no est&aacute; disponible!" -->
+<!--#include virtual="include/top.html" -->
- Los recursos solicitados ya no est&aacute;n disponibles en
- este servidor y no existe una direcci&oacute;n alternativa.
+ El URL solicitado actualmente no esta disponible en este servidor y
+ no existe una direcci&oacute;n a la cual referirlo.
- <!--#if expr="$HTTP_REFERER" -->
+ <!--#if expr="$HTTP_REFERER" -->
- Le solicitamos que comunique al autor de la
- <a href="<!--#echo encoding="url" var="HTTP_REFERER"
- -->">p&aacute;gina referente</a> que el enlace est&aacute; obsoleto.
+ Por favor comunique al autor de la
+ <a href="<!--#echo encoding="url" var="HTTP_REFERER"-->">p&aacute;gina
+ que lo refiri&oacute;</a> que el URL es obsoleto.
<!--#else -->
-
- Si usted sigui&oacute; el enlace desde una p&aacute;gina externa,
- por favor contacte con el autor de esa p&aacute;gina.
+
+ Si usted sigui&oacute; el URL desde una p&aacute;gina externa,
+ por favor contacte al autor de esa p&aacute;gina.
<!--#endif -->
@@ -111,13 +110,13 @@ Body:----------fr--
--><!--#include virtual="include/top.html" -->
L'URL demand&eacute;e n'est plus accessible sur ce serveur et il
- n'y a pas d'adresse de suite.
+ n'y a pas d'adresse de redirection.
<!--#if expr="$HTTP_REFERER" -->
Nous vous prions d'informer l'auteur de
<a href="<!--#echo encoding="url" var="HTTP_REFERER" -->">la
- page en question</a> que la r&eacute;f&eacute;rence n'est plus actuelle.
+ page en question</a> que la r&eacute;f&eacute;rence n'est plus valable.
<!--#else -->
@@ -314,6 +313,32 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="Recurso n&atilde;o dispon&iacute;vel!"
+--><!--#include virtual="include/top.html" -->
+
+ O URL desejado j&aacute; n&atilde;o est&aacute; dispon&iacute;vel
+ neste servidor e n&atilde;o existe endere&ccedil;o alternativo.
+
+ <!--#if expr="$HTTP_REFERER" -->
+
+ Por favor informe o autor da
+ <a href="<!--#echo encoding="url" var="HTTP_REFERER" -->">p&aacute;gina
+ origin&aacute;ria</a> que a hiperliga&ccedil;&atilde;o est&aacute;
+ desactualizada.
+
+ <!--#else -->
+
+ Se chegou aqui a partir de uma hiperliga&ccedil;&atilde;o externa,
+ por favor contacte o autor dessa p&aacute;gina.
+
+ <!--#endif -->
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_INTERNAL_SERVER_ERROR.html.var b/docs/error/HTTP_INTERNAL_SERVER_ERROR.html.var
index 5459f93b..22be2f1f 100644
--- a/docs/error/HTTP_INTERNAL_SERVER_ERROR.html.var
+++ b/docs/error/HTTP_INTERNAL_SERVER_ERROR.html.var
@@ -84,29 +84,24 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Error en el servidor!"
---><!--#include virtual="include/top.html" -->
-
- <!--#if expr="$REDIRECT_ERROR_NOTES" -->
+<!--#set var="TITLE" value="Error del Servidor!" -->
+<!--#include virtual="include/top.html" -->
- El servidor encontro un error interno y fue
- imposible completar su solicitud.
+ Se produjo un error interno en el servidor y le
+ fue imposible completar su solicitud.
- <!--#include virtual="include/spacer.html" -->
+ <!--#if expr="$REDIRECT_ERROR_NOTES" -->
- Mensaje de error:
- <br /><!--#echo encoding="none" var="REDIRECT_ERROR_NOTES" -->
+ <!--#include virtual="include/spacer.html" -->
+ Mensaje de error:<br />
+ <!--#echo var="REDIRECT_ERROR_NOTES" -->
- <!--#else -->
+ <!--#else -->
- El servidor encontro un error interno y fue
- imposible completar su solicitud.
- Existe tambien la posibilidad de que el servidor
- este sobrecargado o de alg&uacute;n error en un
- programa de CGI.
+ El servidor puede estar sobrecargado, o hubo un
+ error en la ejecuci&oacute;n de un programa 'CGI'.
<!--#endif -->
@@ -122,7 +117,7 @@ Body:----------fr--
<!--#if expr="$REDIRECT_ERROR_NOTES" -->
- Le serveur a &egrave;t&eacute; victime d'une erreur interne et n'a pas
+ Le serveur a &eacute;t&eacute; victime d'une erreur interne et n'a pas
&eacute;t&eacute; capable de faire aboutir votre requ&ecirc;te.
<!--#include virtual="include/spacer.html" -->
@@ -132,7 +127,7 @@ Body:----------fr--
<!--#else -->
- Le serveur a &egrave;t&eacute; victime d'une erreur interne et n'a pas
+ Le serveur a &eacute;t&eacute; victime d'une erreur interne et n'a pas
&eacute;t&eacute; capable de faire aboutir votre requ&ecirc;te.
Soit le server est surcharg&eacute; soit il s'agit d'une erreur dans
le script CGI.
@@ -340,6 +335,33 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="Erro interno do servidor!"
+--><!--#include virtual="include/top.html" -->
+
+ <!--#if expr="$REDIRECT_ERROR_NOTES" -->
+
+ O servidor encontrou um erro interno e n&atilde;o pode completar
+ o seu pedido.
+
+ <!--#include virtual="include/spacer.html" -->
+
+ Mensagem de erro:
+ <br /><!--#echo encoding="none" var="REDIRECT_ERROR_NOTES" -->
+
+ <!--#else -->
+
+ O servidor encontrou um erro interno e n&atilde;o pode completar
+ o seu pedido. Ou o servidor est&aacute; sobrecarregado, ou ocorreu
+ um erro num <i>script</i> CGI.
+
+ <!--#endif -->
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_LENGTH_REQUIRED.html.var b/docs/error/HTTP_LENGTH_REQUIRED.html.var
index 4d083fed..91092c95 100644
--- a/docs/error/HTTP_LENGTH_REQUIRED.html.var
+++ b/docs/error/HTTP_LENGTH_REQUIRED.html.var
@@ -40,14 +40,15 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Content-Length err&oacute;neo!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="Error en la longitud del contenido!" -->
+<!--#include virtual="include/top.html" -->
- Una solicitud con el m&eacute;todo <!--#echo var="REDIRECT_REQUEST_METHOD" -->
- necesita una cabecera <code>Content-Length</code> v&aacute;lida.
+ Una solicitud con el m&eacute;todo <!--#echo encoding="none"
+var="REDIRECT_REQUEST_METHOD"-->
+ requiere que el contenido de la variable de los encabezados
+ <code>Content-Length</code> sea v&aacute;lida.
<!--#include virtual="include/bottom.html" -->
----------es--
@@ -60,8 +61,8 @@ Body:----------fr--
--><!--#include virtual="include/top.html" -->
Une requ&ecirc;te utilisant la m&eacute;thode <!--#echo
- var="REDIRECT_REQUEST_METHOD" --> n&eacute;cessite un header valable
- <code>Content-Length</code> (indiquant la longueur).
+ var="REDIRECT_REQUEST_METHOD" --> n&eacute;cessite un en-t&ecirc;te
+ <code>Content-Length</code> (indiquant la longueur) valable.
<!--#include virtual="include/bottom.html" -->
----------fr--
@@ -166,6 +167,18 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="Content-Length incorrecto!"
+--><!--#include virtual="include/top.html" -->
+
+ Um pedido com o m&eacute;todo <!--#echo var="REDIRECT_REQUEST_METHOD" -->
+ necessita de um cabe&ccedil;alho <code>Content-Length</code> v&aacute;lido.
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_METHOD_NOT_ALLOWED.html.var b/docs/error/HTTP_METHOD_NOT_ALLOWED.html.var
index f2e1aa65..77ae0164 100644
--- a/docs/error/HTTP_METHOD_NOT_ALLOWED.html.var
+++ b/docs/error/HTTP_METHOD_NOT_ALLOWED.html.var
@@ -37,17 +37,16 @@ Body:----------en--
<!--#include virtual="include/bottom.html" -->
----------en--
+
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;M&eacute;todo no permitido!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="M&eacute;todo no permitido!" -->
+<!--#include virtual="include/top.html" -->
+
+ El m&eacute;todo <!--#echo encoding="none" var="REDIRECT_REQUEST_METHOD"-->
+ no est&aacute; permitido para el URL solicitado.
- El <!--#echo var="REDIRECT_REQUEST_METHOD" -->
- m&eacute;todo utilizado por su solicitud no est&aacute;
- permitido por el enlace.
-
<!--#include virtual="include/bottom.html" -->
----------es--
@@ -59,7 +58,7 @@ Body:----------fr--
--><!--#include virtual="include/top.html" -->
La m&eacute;thode <!--#echo var="REDIRECT_REQUEST_METHOD" -->
- n'est pas utilisable pour l'URL requise.
+ n'est pas utilisable pour l'URL demand&eacute;e.
<!--#include virtual="include/bottom.html" -->
----------fr--
@@ -158,6 +157,18 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="M&eacute;todo n&atilde;o permitido!"
+--><!--#include virtual="include/top.html" -->
+
+ O m&eacute;todo <!--#echo var="REDIRECT_REQUEST_METHOD" --> n&atilde;o
+ &eacute; permitido para o URL pedido.
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_NOT_FOUND.html.var b/docs/error/HTTP_NOT_FOUND.html.var
index 58149171..41cac406 100644
--- a/docs/error/HTTP_NOT_FOUND.html.var
+++ b/docs/error/HTTP_NOT_FOUND.html.var
@@ -81,28 +81,25 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Objeto no encontrado!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="Objecto no localizado!" -->
+<!--#include virtual="include/top.html" -->
- El enlace requerido no ha sido localizado en
- este servidor.
+ El URL solicitado no ha sido localizado en este servidor.
<!--#if expr="$HTTP_REFERER" -->
- El enlace en la
- <a href="<!--#echo encoding="url" var="HTTP_REFERER" -->">p&aacute;gina
- referente</a> parece tener algun error o ha expirado. Por favor
- comunique al autor de
- <a href="<!--#echo encoding="url" var="HTTP_REFERER" -->">la
- p&aacute;gina</a> el error.
+ El URL de la <a href="<!--#echo encoding="url"
+ var="HTTP_REFERER"-->">p&aacute;gina que lo refiri&oacute;</a>
+ parece ser equivocado u obsoleto. Por favor comunique al autor
+ de <a href="<!--#echo encoding="url" var="HTTP_REFERER"-->">esa
+ p&aacute;gina</a> acerca del error.
<!--#else -->
- Si usted proporcion&oacute; el enlace de manera manual le solicitamos
- que por favor revise los datos e intentelo de nuevo.
+ Si usted tecle&oacute; el URL manualmente, por favor revise su
+ ortograf&iacute;a y vu&eacute;lvalo a intentar.
<!--#endif -->
@@ -116,7 +113,7 @@ Body:----------fr--
--><!--#set var="TITLE" value="Objet non trouv&eacute;!"
--><!--#include virtual="include/top.html" -->
- L'URL requise n'a pu etre trouv&eacute;e sur ce serveur.
+ L'URL demand&eacute;e n'a pas pu &ecirc;tre trouv&eacute;e sur ce serveur.
<!--#if expr="$HTTP_REFERER" -->
@@ -326,6 +323,18 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="M&eacute;todo n&atilde;o permitido!"
+--><!--#include virtual="include/top.html" -->
+
+ O m&eacute;todo <!--#echo var="REDIRECT_REQUEST_METHOD" --> n&atilde;o
+ &eacute; permitido para o URL pedido.
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_NOT_IMPLEMENTED.html.var b/docs/error/HTTP_NOT_IMPLEMENTED.html.var
index 8081d8e9..5df5e5f4 100644
--- a/docs/error/HTTP_NOT_IMPLEMENTED.html.var
+++ b/docs/error/HTTP_NOT_IMPLEMENTED.html.var
@@ -36,15 +36,14 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Solicitud no procesada!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="La solicitud no puede ser procesada!" -->
+<!--#include virtual="include/top.html" -->
+
+ El servidor no tiene implementada la acci&oacute;n
+ solicitada por el buscador.
- El navegador est&aacute; solicitando una acci&oacute;n
- que no puede ser procesada.
-
<!--#include virtual="include/bottom.html" -->
----------es--
@@ -56,7 +55,7 @@ Body:----------fr--
--><!--#include virtual="include/top.html" -->
Le serveur n'est pas en mesure d'effectuer l'action
- requise par le navigateur.
+ demand&eacute;e par le navigateur.
<!--#include virtual="include/bottom.html" -->
----------fr--
@@ -149,6 +148,18 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="N&atilde;o posso processar o pedido!"
+--><!--#include virtual="include/top.html" -->
+
+ O servidor n&atilde;o suporta a ac&ccedil;&atilde;o pedida pelo
+ <i>browser</i>.
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_PRECONDITION_FAILED.html.var b/docs/error/HTTP_PRECONDITION_FAILED.html.var
index 330b4431..a1e952c3 100644
--- a/docs/error/HTTP_PRECONDITION_FAILED.html.var
+++ b/docs/error/HTTP_PRECONDITION_FAILED.html.var
@@ -37,14 +37,13 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Precondici&oacute;n err&oacute;nea!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="Fall&oacute; en la pre-condici&oacute;on!" -->
+<!--#include virtual="include/top.html" -->
- La precondici&oacute;n para que exista una
- conexi&oacute;n a la direcci&oacute;n solicitada es falsa.
+ La pre-condici&oacute;n de la solicitud para el
+ URL no se evalu&oacute; positivamente.
<!--#include virtual="include/bottom.html" -->
----------es--
@@ -56,7 +55,7 @@ Body:----------fr--
--><!--#set var="TITLE" value="Pr&eacute;condition n&eacute;gative!"
--><!--#include virtual="include/top.html" -->
- La pr&eacute;condition pour l'URL requise a &eacute;t&eacute;
+ La pr&eacute;condition pour l'URL demand&eacute; a &eacute;t&eacute;
&eacute;valu&eacute;e n&eacute;gativement.
<!--#include virtual="include/bottom.html" -->
@@ -151,6 +150,18 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="Pr&eacute;-condi&ccedil;&atilde;o falhou!"
+--><!--#include virtual="include/top.html" -->
+
+ A condi&ccedil;&atilde;o necess&aacute;ria ao pedido do URL
+ foi avaliada com resultado negativo.
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var b/docs/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
index 0175cf56..ccc02011 100644
--- a/docs/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
+++ b/docs/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
@@ -41,16 +41,15 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Entidad solicitada demasiado larga!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="La entidad solicitada es demasiado grande!" -->
+<!--#include virtual="include/top.html" -->
- Los recursos establecidos no permiten peticiones con
- el <!--#echo var="REDIRECT_REQUEST_METHOD" --> m&eacute;todo
- suministrado por su solicitud, o, la cantidad de datos
- provistos exceden los l&iacute;mites de capacidad.
+ El m&eacute;todo <!--#echo encoding="none" var="REDIRECT_REQUEST_METHOD"-->
+ no permite transmitir la informaci&oacute;n, o el
+ volumen de la informaci&oacute;n excede los l&iacute;mites
+ de capacidad del mismo.
<!--#include virtual="include/bottom.html" -->
----------es--
@@ -168,6 +167,19 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="Volume de dados demasiado grande!"
+--><!--#include virtual="include/top.html" -->
+
+ O m&eacute;todo <!--#echo var="REDIRECT_REQUEST_METHOD" -->
+ n&atilde;o permite todos os dados que foram transmitidos,
+ ou o volume de dados excede o limite da capacidade.
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_REQUEST_TIME_OUT.html.var b/docs/error/HTTP_REQUEST_TIME_OUT.html.var
index 7582a0e7..5ef4d1cb 100644
--- a/docs/error/HTTP_REQUEST_TIME_OUT.html.var
+++ b/docs/error/HTTP_REQUEST_TIME_OUT.html.var
@@ -38,17 +38,17 @@ Body:----------en--
<!--#include virtual="include/bottom.html" -->
----------en--
+
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;La solicitud ha excedido el tiempo de espera permitido!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="Tiempo de espera excedido!" -->
+<!--#include virtual="include/top.html" -->
+
+ El servidor cerr&oacute; la conecci&oacute;n de red
+ debido a que el buscador no termino la solicitud
+ dentro del tiempo permitido.
- El servidor ha cerrado la conexi&oacute;n de red
- debido a que el navegador no termin&oacute; la solicitud
- dentro del tiempo especificado.
-
<!--#include virtual="include/bottom.html" -->
----------es--
@@ -161,6 +161,18 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="Tempo excedido!"
+--><!--#include virtual="include/top.html" -->
+
+ O servidor interrompeu a liga&ccedil;&atilde;o de rede porque o
+ <i>browser</i> n&atilde;o terminou o pedido dentro do tempo limite.
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_REQUEST_URI_TOO_LARGE.html.var b/docs/error/HTTP_REQUEST_URI_TOO_LARGE.html.var
index be73725d..278c6168 100644
--- a/docs/error/HTTP_REQUEST_URI_TOO_LARGE.html.var
+++ b/docs/error/HTTP_REQUEST_URI_TOO_LARGE.html.var
@@ -39,16 +39,14 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Direcci&oacute;n suministrada demasiado larga!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="El URI enviado es demasiado largo!" -->
+<!--#include virtual="include/top.html" -->
+
+ La longitud del URL solicitado excede el l&iacute;mite de
+ capacidad para este servidor. La solicitud no puede ser procesada.
- Su solicitud no puede procesarse debido a que la
- longitud del enlace excede la capacidad l&iacute;mite del
- servidor.
-
<!--#include virtual="include/bottom.html" -->
----------es--
@@ -161,6 +159,18 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="URI demasiado grande!"
+--><!--#include virtual="include/top.html" -->
+
+ O tamanho do URL pedido excede o limite da capacidade deste
+ servidor. O pedido n&atilde;o pode ser processado.
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_SERVICE_UNAVAILABLE.html.var b/docs/error/HTTP_SERVICE_UNAVAILABLE.html.var
index ebfb3685..7ea311be 100644
--- a/docs/error/HTTP_SERVICE_UNAVAILABLE.html.var
+++ b/docs/error/HTTP_SERVICE_UNAVAILABLE.html.var
@@ -42,18 +42,15 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Servicio no disponible!"
---><!--#include virtual="include/top.html" -->
-
- El servidor no puede atender su solicitud por
- el momento debido a problemas de mantenimiento
- o de capacidad.
+<!--#set var="TITLE" value="Servicio no disponible!" -->
+<!--#include virtual="include/top.html" -->
- Le solicitamos que por favor repita la operaci&oacute;n
- m&aacute;s tarde.
+ Por el momento el servidor no puede atender su solicitud
+ debido a que est&aacute; en mantenimiento o a que tiene
+ problemas de capacidad. Por favor intente nuevamente
+ m&aacute;s tarde.
<!--#include virtual="include/bottom.html" -->
----------es--
@@ -173,6 +170,20 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="Servi&ccedil;o indispon&iacute;vel!"
+--><!--#include virtual="include/top.html" -->
+
+ O servidor est&aacute; tempor&aacute;riamente incapaz de servir
+ o seu pedido devido a uma interrup&ccedil;&atilde;o para
+ manuten&ccedil;&atilde;o ou problemas de capacidade. Por favor
+ tente de novo mais tarde.
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_UNAUTHORIZED.html.var b/docs/error/HTTP_UNAUTHORIZED.html.var
index 99576534..e8ade49e 100644
--- a/docs/error/HTTP_UNAUTHORIZED.html.var
+++ b/docs/error/HTTP_UNAUTHORIZED.html.var
@@ -61,24 +61,22 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Autentificaci&oacute;n requerida!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="Autentificaci&oacute;n requerida!" -->
+<!--#include virtual="include/top.html" -->
- El servidor no puede certificar que usted este autorizado
- para acceder al enlace "<!--#echo encoding="url" var="REDIRECT_URL" -->".
- Usted pudo suministrar informaci&oacute;n err&oacute;nea accidentalmente
- (ejem. una contrase&ntilde;a inv&aacute;lida) o, el navegador no sabe
+ El servidor no puede certificar que usted est&eacute; autorizado
+ para accesar el URL "<!--#echo encoding="url" var="REDIRECT_URL" -->".
+ Pudo haber suministrado informaci&oacute;n incorrecta (ej.
+ contrase&ntilde;a inv&aacute;lida) o, el buscador no sabe
como suministrar la informaci&oacute;n requerida.
<!--#include virtual="include/spacer.html" -->
- En caso de que a usted le este permitido el uso del
- documento requerido, le solicitamos de la manera m&aacute;s atenta
- que por favor vuelva a intentar la operaci&oacute;n suministrando
- nuevamente su identificador y su contrase&ntilde;a.
+ En caso de que a usted le este permitido accesar el documento,
+ verifique su nombre de usuario y contrase&ntilde;a y vu&eacute;lvalo
+ a intentar.
<!--#include virtual="include/bottom.html" -->
----------es--
@@ -100,7 +98,7 @@ Body:----------fr--
<!--#include virtual="include/spacer.html" -->
- Si vous &ecirc;tez autoris&eacute; &agrave; requ&eacute;rir le document,
+ Si vous &ecirc;tes autoris&eacute; &agrave; requ&eacute;rir le document,
veuillez v&eacute;rifier votre nom d'utilisateur et votre mot de passe
et r&eacute;essayer.
@@ -255,6 +253,26 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="Autentica&ccedil;&atilde;o exigida!"
+--><!--#include virtual="include/top.html" -->
+
+ Este servidor n&atilde;o conseguiu validar a sua autoridade para aceder
+ ao URL "<!--#echo encoding="url" var="REDIRECT_URL" -->".
+ Ou forneceu as credenciais erradas (e.g.: senha incorrecta)
+ ou o seu <i>browser</i> n&atilde;o sabe como fornecer as credenciais
+ necess&aacute;rias.
+
+ <!--#include virtual="include/spacer.html" -->
+
+ Caso lhe seja permitido aceder ao documento, por favor verifique o
+ seu nome de utilizador e senha e tente de novo.
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var b/docs/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
index 675852c1..8f8fc622 100644
--- a/docs/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
+++ b/docs/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
@@ -36,14 +36,13 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Tipo de datos no soportados!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="El tipo de medio no est&aacute; implementado!" -->
+<!--#include virtual="include/top.html" -->
- Los datos de su solicitud no se encuentran en
- un formato aceptado por este recurso.
+ El servidor no tiene implementado el tipo
+ de medio transmitido en la solicitud.
<!--#include virtual="include/bottom.html" -->
----------es--
@@ -150,6 +149,17 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="Media n&atilde;o suportado!"
+--><!--#include virtual="include/top.html" -->
+
+ O servidor n&atilde;o suporta o <i>media type</i> transmitido no pedido.
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/HTTP_VARIANT_ALSO_VARIES.html.var b/docs/error/HTTP_VARIANT_ALSO_VARIES.html.var
index ad2e5bd9..b6361c3f 100644
--- a/docs/error/HTTP_VARIANT_ALSO_VARIES.html.var
+++ b/docs/error/HTTP_VARIANT_ALSO_VARIES.html.var
@@ -39,15 +39,14 @@ Body:----------en--
----------en--
Content-language: es
-Content-type: text/html; charset=ISO-8859-1
+Content-type: text/html
Body:----------es--
-<!--#set var="CONTENT_LANGUAGE" value="es"
---><!--#set var="TITLE" value="&iexcl;Variante negociable!"
---><!--#include virtual="include/top.html" -->
+<!--#set var="TITLE" value="La variante tambi&eacute;n varia!" -->
+<!--#include virtual="include/top.html" -->
- No es posible tener acceso debido a que
- una variante de la solicitud es por si
- misma un recurso negociable.
+ Una variante de la entidad solicitada es por si misma
+ un recurso negociable.
+ No es posible tener acceso a la entidad.
<!--#include virtual="include/bottom.html" -->
----------es--
@@ -59,7 +58,7 @@ Body:----------fr--
--><!--#set var="TITLE" value="La variante varie elle-m&ecirc;me!"
--><!--#include virtual="include/top.html" -->
- Une variante pour l'entit&eacute; requise
+ Une variante pour l'entit&eacute; demand&eacute;e
est elle-m&ecirc;me une ressource n&eacute;gociable.
L'acc&egrave;s est impossible.
@@ -165,6 +164,19 @@ Body:-------pt-br--
<!--#include virtual="include/bottom.html" -->
-------pt-br--
+Content-language: pt
+Content-type: text/html; charset=ISO-8859-1
+Body:----------pt--
+<!--#set var="TITLE" value="Variante tamb&eacute;m varia!"
+--><!--#include virtual="include/top.html" -->
+
+ A variante relativa &agrave; entidade pedida &eacute; ela mesma
+ um recurso negoci&aacute;vel. N&atilde;o &eacute; poss&iacute;vel
+ ter acesso.
+
+<!--#include virtual="include/bottom.html" -->
+----------pt--
+
Content-language: ro
Content-type: text/html; charset=ISO-8859-1
Body:----------ro--
diff --git a/docs/error/contact.html.var b/docs/error/contact.html.var
index 8dc5581a..d3b16c82 100644
--- a/docs/error/contact.html.var
+++ b/docs/error/contact.html.var
@@ -33,7 +33,7 @@ Content-language: fr
Content-type: text/html; charset=ISO-8859-1
Body:----------fr--
Si vous pensez qu'il s'agit d'une erreur du serveur, veuillez contacter le
-<a href="mailto:<!--#echo encoding="url" var="SERVER_ADMIN" -->">gestionnaire du site</a>.
+<a href="mailto:<!--#echo encoding="url" var="SERVER_ADMIN" -->">webmestre</a>.
----------fr--
Content-language: ga
diff --git a/docs/man/rotatelogs.8 b/docs/man/rotatelogs.8
index 88228104..5a4d6227 100644
--- a/docs/man/rotatelogs.8
+++ b/docs/man/rotatelogs.8
@@ -19,7 +19,7 @@
.el .ne 3
.IP "\\$1" \\$2
..
-.TH "ROTATELOGS" 8 "2008-05-10" "Apache HTTP Server" "rotatelogs"
+.TH "ROTATELOGS" 8 "2010-11-06" "Apache HTTP Server" "rotatelogs"
.SH NAME
rotatelogs \- Piped logging program to rotate Apache logs
@@ -47,7 +47,7 @@ Causes the use of local time rather than GMT as the base for the interval or for
Causes the logfile to be opened immediately, as soon as rotatelogs starts, instead of waiting for the first logfile entry to be read (for non-busy sites, there may be a substantial delay between when the server is started and when the first request is handled, meaning that the associated logfile does not "exist" until then, which causes problems from some automated logging tools)\&. \fIAvailable in version 2\&.2\&.9 and later\&.\fR
.TP
\fIlogfile\fR
-The path plus basename of the logfile\&. If \fIlogfile\fR includes any '%' characters, it is treated as a format string for strftime(3)\&. Otherwise, the suffix \fI\&.nnnnnnnnnn\fR is automatically added and is the time in seconds\&. 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 strftime(3) format will all be zero, referring to the beginning of the current 24-hour period (midnight)\&.
+.PP The path plus basename of the logfile\&. If \fIlogfile\fR includes any '%' characters, it is treated as a format string for strftime(3)\&. Otherwise, the suffix \fI\&.nnnnnnnnnn\fR is automatically added and is the time in seconds\&. 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 strftime(3) format will all be zero, referring to the beginning of the current 24-hour period (midnight)\&. .PP When using strftime(3) 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 /var/logs/errorlog\&.%Y-%m-%d 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\&.
.TP
\fIrotationtime\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\&.)
diff --git a/docs/man/tr/rotatelogs.8 b/docs/man/tr/rotatelogs.8
index f742c7ce..9134ef6f 100644
--- a/docs/man/tr/rotatelogs.8
+++ b/docs/man/tr/rotatelogs.8
@@ -19,7 +19,7 @@
.el .ne 3
.IP "\\$1" \\$2
..
-.TH "ROTATELOGS" 8 "2009-02-16" "Apache HTTP Sunucusu" "rotatelogs"
+.TH "ROTATELOGS" 8 "2011-02-04" "Apache HTTP Sunucusu" "rotatelogs"
.nh
.SH Ä°SÄ°M
rotatelogs \- Apache günlüklerini döndürmek için borulu günlük kayıt programı
@@ -47,7 +47,7 @@ GMT yerine yerel zamanın kullanılmasını sağlar\&. Zaman dilimi değişik ol
İlk günlük giridisinin okunmasını beklemeden \fBrotatelogs\fR başlar başlamaz günlük dosyasının açılmasını sağlar\&. Çok meşgul sitelerde, sunucu başlatılıp ilk istek sunuluncaya kadar geçen zamanda günlük dosyasının yokluğu özdevinimli işlemler yapan bazı günlükleme araçlarında sorunlara yol açabilir\&. Bu seçenek bu gibi durumlarda yararlıdır\&. \fI2\&.2\&.9 ve sonrası için geçerlidir\&.\fR
.TP
\fIdosyaismi\fR
-Günlük dosyasının ismi yoluyla birlikte belirtilir\&. \fIdosyaismi\fR '%' karakterleri içeriyorsa bunlar strftime(3) biçem belirteçleri olarak ele alınır\&. Aksi takdirde, özdevinimli olarak \fI\&.nnnnnnnnnn\fR uzantısı üretilir\&. Uzantı saniye cinsindendir ve her iki durumda da bu değer, mevcut döngü diliminin başlangıcına göre hesaplanır\&. Örneğin, döndürmenin 86400 saniyede bir yapılacağı belirtilmişse, strftime(3) biçeminde oluşturulan saat, dakika ve saniye alanları, 24 saatlik sürenin başlangıcını (geceyarısı) göstermek üzere sıfırlarla doldurulur\&.
+.PP Günlük dosyasının ismi yoluyla birlikte belirtilir\&. \fIdosyaismi\fR '%' karakterleri içeriyorsa bunlar strftime(3) biçem belirteçleri olarak ele alınır\&. Aksi takdirde, özdevinimli olarak \fI\&.nnnnnnnnnn\fR uzantısı üretilir\&. Uzantı saniye cinsindendir ve her iki durumda da bu değer, mevcut döngü diliminin başlangıcına göre hesaplanır\&. Örneğin, döndürmenin 86400 saniyede bir yapılacağı belirtilmişse, strftime(3) biçeminde oluşturulan saat, dakika ve saniye alanları, 24 saatlik sürenin başlangıcını (geceyarısı) göstermek üzere sıfırlarla doldurulur\&. .PP strftime(3) dosya ismi biçimlemesini kullanırken, günlük dosyası biçiminin günlüğün her döndürülüşünde farklı bir dosya ismi üretecek ayrıntılara sahip olmasın sağlamalısınız\&. Aksi takdirde, döndürme işlemi sonucunda günlük yeni bir dosya yerine aynı dosyanın üzerine yazılacaktır\&. Örneğin, \fIdosyaismi\fR olarak /var/logs/errorlog\&.%Y-%m-%d belirtilmişse, günlük dosyası da 5 megabayta ulaşıyorsa, günlük döndürme ile aynı dosya ismi üretilir ve günlük aynı dosyaya yazılmaya devam ederek bu boyut ikiye katlanır\&.
.TP
\fIsüre\fR
Günlük dosyasının yenisinin kaç saniyede bir açılacağı belirtilir\&. Örneğin, bu süre 3600 saniye ise günlük dosyası her saat başında yenilenir; 86400 saniye ise her geceyarısı yenilenir\&. (Bu süre zarfında günlüğe kaydedilecek bir olay gerçekleşmemişse dosya oluşturulmaz\&.)
diff --git a/docs/manual/bind.html.de b/docs/manual/bind.html.de
index bb347ffc..9d1e055c 100644
--- a/docs/manual/bind.html.de
+++ b/docs/manual/bind.html.de
@@ -165,6 +165,6 @@
<a href="./ko/bind.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/bind.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Module</a> | <a href="./mod/directives.html">Direktiven</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossar</a> | <a href="./sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/bind.html.en b/docs/manual/bind.html.en
index cf824822..ea71c100 100644
--- a/docs/manual/bind.html.en
+++ b/docs/manual/bind.html.en
@@ -158,6 +158,6 @@
<a href="./ko/bind.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/bind.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/bind.html.fr b/docs/manual/bind.html.fr
index c54b129f..74f02af5 100644
--- a/docs/manual/bind.html.fr
+++ b/docs/manual/bind.html.fr
@@ -165,6 +165,6 @@
<a href="./ko/bind.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/bind.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/bind.html.ja.utf8 b/docs/manual/bind.html.ja.utf8
index a2a4c4b1..efe5ab0c 100644
--- a/docs/manual/bind.html.ja.utf8
+++ b/docs/manual/bind.html.ja.utf8
@@ -174,6 +174,6 @@
<a href="./ko/bind.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/bind.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/bind.html.ko.euc-kr b/docs/manual/bind.html.ko.euc-kr
index 33c0e9ce..a2ad9bf7 100644
--- a/docs/manual/bind.html.ko.euc-kr
+++ b/docs/manual/bind.html.ko.euc-kr
@@ -148,6 +148,6 @@
<a href="./ko/bind.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/bind.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/bind.html.tr.utf8 b/docs/manual/bind.html.tr.utf8
index 1f7c011f..e96cadfb 100644
--- a/docs/manual/bind.html.tr.utf8
+++ b/docs/manual/bind.html.tr.utf8
@@ -152,6 +152,6 @@
<a href="./ko/bind.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/bind.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/caching.html.en b/docs/manual/caching.html.en
index 48204771..eb6aad86 100644
--- a/docs/manual/caching.html.en
+++ b/docs/manual/caching.html.en
@@ -656,6 +656,6 @@ CacheDirLength 1</pre></div>
<a href="./fr/caching.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./tr/caching.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/caching.html.fr b/docs/manual/caching.html.fr
index 50c69435..3f94dc4f 100644
--- a/docs/manual/caching.html.fr
+++ b/docs/manual/caching.html.fr
@@ -740,6 +740,6 @@ CacheDirLength 1</pre></div>
<a href="./fr/caching.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./tr/caching.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/caching.html.tr.utf8 b/docs/manual/caching.html.tr.utf8
index 8ba88729..6825baf9 100644
--- a/docs/manual/caching.html.tr.utf8
+++ b/docs/manual/caching.html.tr.utf8
@@ -673,6 +673,6 @@
<a href="./fr/caching.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./tr/caching.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/configuring.html.de b/docs/manual/configuring.html.de
index eede68b9..66216f2d 100644
--- a/docs/manual/configuring.html.de
+++ b/docs/manual/configuring.html.de
@@ -185,6 +185,6 @@
<a href="./ko/configuring.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/configuring.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Module</a> | <a href="./mod/directives.html">Direktiven</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossar</a> | <a href="./sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/configuring.html.en b/docs/manual/configuring.html.en
index 98d3b7c8..53f538cc 100644
--- a/docs/manual/configuring.html.en
+++ b/docs/manual/configuring.html.en
@@ -180,6 +180,6 @@ HTTP server.</p>
<a href="./ko/configuring.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/configuring.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/configuring.html.fr b/docs/manual/configuring.html.fr
index b1ea1ab7..e9a6f7fd 100644
--- a/docs/manual/configuring.html.fr
+++ b/docs/manual/configuring.html.fr
@@ -184,6 +184,6 @@ le Serveur HTTP Apache.</p>
<a href="./ko/configuring.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/configuring.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/configuring.html.ja.utf8 b/docs/manual/configuring.html.ja.utf8
index 042c06ca..422a1b7b 100644
--- a/docs/manual/configuring.html.ja.utf8
+++ b/docs/manual/configuring.html.ja.utf8
@@ -172,6 +172,6 @@
<a href="./ko/configuring.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/configuring.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/configuring.html.ko.euc-kr b/docs/manual/configuring.html.ko.euc-kr
index 7d220cee..c0910d2e 100644
--- a/docs/manual/configuring.html.ko.euc-kr
+++ b/docs/manual/configuring.html.ko.euc-kr
@@ -151,6 +151,6 @@
<a href="./ko/configuring.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/configuring.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/configuring.html.tr.utf8 b/docs/manual/configuring.html.tr.utf8
index 832991e4..2a961030 100644
--- a/docs/manual/configuring.html.tr.utf8
+++ b/docs/manual/configuring.html.tr.utf8
@@ -172,6 +172,6 @@ açıklanmıştır.</p>
<a href="./ko/configuring.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/configuring.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/content-negotiation.html.en b/docs/manual/content-negotiation.html.en
index 67c6205b..899a683a 100644
--- a/docs/manual/content-negotiation.html.en
+++ b/docs/manual/content-negotiation.html.en
@@ -669,6 +669,6 @@ factors to 5 decimal places before choosing the best variant.</p>
<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/content-negotiation.html.fr b/docs/manual/content-negotiation.html.fr
index e75a2022..afa9a97e 100644
--- a/docs/manual/content-negotiation.html.fr
+++ b/docs/manual/content-negotiation.html.fr
@@ -693,6 +693,6 @@ conventions de nommage</a></h2>
<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/content-negotiation.html.ja.utf8 b/docs/manual/content-negotiation.html.ja.utf8
index 2596789b..ab85f3b5 100644
--- a/docs/manual/content-negotiation.html.ja.utf8
+++ b/docs/manual/content-negotiation.html.ja.utf8
@@ -718,6 +718,6 @@ RVSA/1.0 ã®å®Ÿè£…ã§ã¯ã€æœ€é©ãª variant ãŒè¦‹ã¤ã‹ã‚‹ã¾ã§ã€
<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/content-negotiation.html.ko.euc-kr b/docs/manual/content-negotiation.html.ko.euc-kr
index a443b2ba..70cc9045 100644
--- a/docs/manual/content-negotiation.html.ko.euc-kr
+++ b/docs/manual/content-negotiation.html.ko.euc-kr
@@ -601,6 +601,6 @@ content-encodingÀ» °¡Áø º¯Çü¸¸À» ÁöĪÇÑ´Ù. RVSA/1.0 ¾Ë°í¸®ÁòÀº
<a href="./ko/content-negotiation.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/content-negotiation.html.tr.utf8 b/docs/manual/content-negotiation.html.tr.utf8
index 5fa0b2a5..33a8163b 100644
--- a/docs/manual/content-negotiation.html.tr.utf8
+++ b/docs/manual/content-negotiation.html.tr.utf8
@@ -641,6 +641,6 @@
<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/content-negotiation.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/convenience.map b/docs/manual/convenience.map
index f0fd19c3..33404b1b 100644
--- a/docs/manual/convenience.map
+++ b/docs/manual/convenience.map
@@ -174,6 +174,7 @@ filtertrace mod/mod_filter.html#filtertrace
forcelanguagepriority mod/mod_negotiation.html#forcelanguagepriority
forcetype mod/core.html#forcetype
forensiclog mod/mod_log_forensic.html#forensiclog
+gprofdir mod/core.html#gprofdir
gracefulshutdowntimeout mod/mpm_common.html#gracefulshutdowntimeout
group mod/mpm_common.html#group
header mod/mod_headers.html#header
@@ -261,6 +262,7 @@ options mod/core.html#options
order mod/mod_authz_host.html#order
passenv mod/mod_env.html#passenv
pidfile mod/mpm_common.html#pidfile
+protocol mod/core.html#protocol
protocolecho mod/mod_echo.html#protocolecho
proxy mod/mod_proxy.html#proxy
proxybadheader mod/mod_proxy.html#proxybadheader
diff --git a/docs/manual/custom-error.html.en b/docs/manual/custom-error.html.en
index cf137e65..103da841 100644
--- a/docs/manual/custom-error.html.en
+++ b/docs/manual/custom-error.html.en
@@ -199,6 +199,6 @@
<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/custom-error.html.es b/docs/manual/custom-error.html.es
index d4f80016..8beb84e9 100644
--- a/docs/manual/custom-error.html.es
+++ b/docs/manual/custom-error.html.es
@@ -220,6 +220,6 @@
<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/custom-error.html.ja.utf8 b/docs/manual/custom-error.html.ja.utf8
index 4bf65455..e2e45de0 100644
--- a/docs/manual/custom-error.html.ja.utf8
+++ b/docs/manual/custom-error.html.ja.utf8
@@ -196,6 +196,6 @@
<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/custom-error.html.ko.euc-kr b/docs/manual/custom-error.html.ko.euc-kr
index becb7792..e9578cd0 100644
--- a/docs/manual/custom-error.html.ko.euc-kr
+++ b/docs/manual/custom-error.html.ko.euc-kr
@@ -197,6 +197,6 @@
<a href="./ko/custom-error.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/custom-error.html.tr.utf8 b/docs/manual/custom-error.html.tr.utf8
index 9f8c7227..b0b20efb 100644
--- a/docs/manual/custom-error.html.tr.utf8
+++ b/docs/manual/custom-error.html.tr.utf8
@@ -198,6 +198,6 @@
<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/custom-error.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/developer/API.html.en b/docs/manual/developer/API.html.en
index 33037d87..b161019e 100644
--- a/docs/manual/developer/API.html.en
+++ b/docs/manual/developer/API.html.en
@@ -1217,6 +1217,6 @@ void *request_config; /* Notes on *this* request */</pre><p><code>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/developer/API.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/developer/debugging.html.en b/docs/manual/developer/debugging.html.en
index b77137df..1e218698 100644
--- a/docs/manual/developer/debugging.html.en
+++ b/docs/manual/developer/debugging.html.en
@@ -192,6 +192,6 @@
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/developer/debugging.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/developer/documenting.html b/docs/manual/developer/documenting.html
index db57cef3..499eee1c 100644
--- a/docs/manual/developer/documenting.html
+++ b/docs/manual/developer/documenting.html
@@ -3,3 +3,7 @@
URI: documenting.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: documenting.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/developer/documenting.html.en b/docs/manual/developer/documenting.html.en
index 705f3adc..82da5c0c 100644
--- a/docs/manual/developer/documenting.html.en
+++ b/docs/manual/developer/documenting.html.en
@@ -18,7 +18,8 @@
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Developer Documentation</a></div><div id="page-content"><div id="preamble"><h1>Documenting Apache 2.0</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/developer/documenting.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/developer/documenting.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../zh-cn/developer/documenting.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Apache 2.0 uses <a href="http://www.doxygen.org/">Doxygen</a> to
@@ -77,8 +78,9 @@
<a href="http://www.doxygen.org/">the Doxygen site</a>.</p>
</div></div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/developer/documenting.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/developer/documenting.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../zh-cn/developer/documenting.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/developer/documenting.html.zh-cn b/docs/manual/developer/documenting.html.zh-cn
new file mode 100644
index 00000000..72f496c3
--- /dev/null
+++ b/docs/manual/developer/documenting.html.zh-cn
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache 2.0 文档 - Apache HTTP æœåŠ¡å™¨</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page" class="no-sidebar"><div id="page-header">
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.2</a> &gt; <a href="./">å¼€å‘者文档</a></div><div id="page-content"><div id="preamble"><h1>Apache 2.0 文档</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/developer/documenting.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../zh-cn/developer/documenting.html" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+ <p>Apache 2.0 使用 <a href="http://www.doxygen.org/">Doxygen</a> 从代ç ä¸­
+ ç”Ÿæˆ API 和全局å˜é‡çš„文档。下é¢æ˜¯å¯¹ä½¿ç”¨ Doxygen 生æˆæ–‡æ¡£çš„简介。</p>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="brief" id="brief">简è¦è¯´æ˜Ž</a></h2>
+ <p>使用 <code>/**</code> 开始文档å—<br />
+ 使用 <code>*/</code> 结æŸæ–‡æ¡£å—</p>
+
+ <p>在文档å—中,我们å¯ä»¥ä½¿ç”¨å¤šä¸ªæ ‡ç­¾:</p>
+
+ <div class="example"><p><code>
+ Description of this functions purpose<br />
+ @param parameter_name description<br />
+ @return description<br />
+ @deffunc signature of the function<br />
+ </code></p></div>
+
+ <p>一般ä¸éœ€è¦ <code>deffunc</code> 。DoxyGen 没有完整的解æžå™¨ï¼Œæ‰€ä»¥ä»»ä½•
+ 在返回类型声明中使用å®çš„原型,都是太å¤æ‚了。这些函数就需è¦ä½¿ç”¨ <code>deffunc</code>。
+ 例如 (使用 &amp;gt; 而ä¸æ˜¯ &gt;):</p>
+
+ <div class="example"><p><code>
+ /**<br />
+ &nbsp;* return the final element of the pathname<br />
+ &nbsp;* @param pathname The path to get the final element of<br />
+ &nbsp;* @return the final element of the path<br />
+ &nbsp;* @tip Examples:<br />
+ &nbsp;* &lt;pre&gt;<br />
+ &nbsp;* "/foo/bar/gum" -&amp;gt; "gum"<br />
+ &nbsp;* "/foo/bar/gum/" -&amp;gt; ""<br />
+ &nbsp;* "gum" -&amp;gt; "gum"<br />
+ &nbsp;* "wi\\n32\\stuff" -&amp;gt; "stuff"<br />
+ &nbsp;* &lt;/pre&gt;<br />
+ &nbsp;* @deffunc const char * ap_filename_of_pathname(const char *pathname)<br />
+ &nbsp;*/
+ </code></p></div>
+
+ <p>总是在头文件开始包å«:</p>
+ <div class="example"><p><code>
+ /**<br />
+ &nbsp;* @package Name of library header<br />
+ &nbsp;*/
+ </code></p></div>
+
+ <p>Doxygen 为æ¯ä¸ªåŒ…生æˆä¸€ä¸ªæ–°çš„ HTML 文件,å字是
+ {Name_of_library_header}.html,所以请简化å称。</p>
+
+ <p>更深入的讨论,请å‚è§
+ <a href="http://www.doxygen.org/">Doxygen 站点</a>。</p>
+</div></div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/developer/documenting.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../zh-cn/developer/documenting.html" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/developer/filters.html.en b/docs/manual/developer/filters.html.en
index 8363d562..6b4637ab 100644
--- a/docs/manual/developer/filters.html.en
+++ b/docs/manual/developer/filters.html.en
@@ -205,6 +205,6 @@ Default_handler --&gt; sub_request_core
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/developer/filters.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/developer/hooks.html.en b/docs/manual/developer/hooks.html.en
index 2d1e5298..13c90bda 100644
--- a/docs/manual/developer/hooks.html.en
+++ b/docs/manual/developer/hooks.html.en
@@ -234,6 +234,6 @@
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/developer/hooks.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/developer/index.html b/docs/manual/developer/index.html
index e4d079c3..c260e8bc 100644
--- a/docs/manual/developer/index.html
+++ b/docs/manual/developer/index.html
@@ -3,3 +3,7 @@
URI: index.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: index.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/developer/index.html.en b/docs/manual/developer/index.html.en
index 26a7afa0..ab2d0bc1 100644
--- a/docs/manual/developer/index.html.en
+++ b/docs/manual/developer/index.html.en
@@ -18,7 +18,8 @@
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>Developer Documentation for Apache 2.0</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/developer/" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/developer/" title="English">&nbsp;en&nbsp;</a> |
+<a href="../zh-cn/developer/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Many of the documents on these Developer pages are lifted
@@ -48,12 +49,6 @@
<div class="section">
<h2><a name="external" id="external">External Resources</a></h2>
<ul>
- <li>Tools provided by Ian Holsman:
- <ul>
- <li><a href="http://lxr.webperf.org/">Apache 2 cross reference</a></li>
- <li><a href="http://docx.webperf.org/">Autogenerated Apache 2 code documentation</a></li>
- </ul></li>
-
<li>Module Development Tutorials by Kevin O'Donnell
<ul>
<li><a href="http://threebit.net/tutorials/apache2_modules/tut1/tutorial1.html">Integrating a module into the Apache build system</a></li>
@@ -75,8 +70,9 @@
</ul>
</div></div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/developer/" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/developer/" title="English">&nbsp;en&nbsp;</a> |
+<a href="../zh-cn/developer/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/developer/index.html.zh-cn b/docs/manual/developer/index.html.zh-cn
new file mode 100644
index 00000000..9ea1aeeb
--- /dev/null
+++ b/docs/manual/developer/index.html.zh-cn
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache 2.0 å¼€å‘者文档 - Apache HTTP æœåŠ¡å™¨</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache 2.0 å¼€å‘者文档</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/developer/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../zh-cn/developer/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+ <p>å¼€å‘者页é¢çš„许多文档都æ¥è‡ªäºŽ Apache 1.3。当更新到 Apache 2.0
+ 时,它们å¯èƒ½ä½äºŽä¸åŒçš„阶段。请è€å¿ƒç­‰å¾…,或者直接å‘
+ <a href="http://httpd.apache.org/lists.html#http-dev">dev@httpd.apache.org</a> 邮件列表报告开å‘者页é¢çš„差异或错误。</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#topics">主题</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#external">外部资æº</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="topics" id="topics">主题</a></h2>
+ <ul>
+ <li><a href="API.html">Apache 1.3 API 说明</a></li>
+ <li><a href="hooks.html">Apache 2.0 é’©å­å‡½æ•°</a></li>
+ <li><a href="request.html">Apache 2.0 中的请求处ç†</a></li>
+ <li><a href="filters.html">Apache 2.0 中的过滤器</a></li>
+ <li><a href="modules.html">将模å—从 Apache 1.3 移æ¤åˆ° Apache 2.0</a></li>
+ <li><a href="debugging.html">在 APR 中调试内存分é…</a></li>
+ <li><a href="documenting.html">Apache 2.0 文档</a></li>
+ <li><a href="thread_safety.html">Apache 2.0 的线程安全问题</a></li>
+ </ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="external" id="external">外部资æº</a></h2>
+ <ul>
+
+
+ <li>Kevin O'Donnell 的模å—å¼€å‘教程
+ <ul>
+ <li><a href="http://threebit.net/tutorials/apache2_modules/tut1/tutorial1.html">集æˆæ¨¡å—到 Apache 构建系统</a></li>
+
+ <li><a href="http://threebit.net/tutorials/apache2_modules/tut2/tutorial2.html">处ç†é…置指令</a></li>
+ </ul></li>
+
+ <li><a href="http://www.onlamp.com/pub/ct/38">Ryan Bloom 对 Apache 模å—å¼€å‘的说明</a></li>
+
+ <li>ä½äºŽ <a href="http://www.apachetutor.org/">apachetutor</a> çš„å¼€å‘者文章:
+ <ul>
+ <li><a href="http://www.apachetutor.org/dev/request">Apache 中的请求处ç†</a></li>
+ <li><a href="http://www.apachetutor.org/dev/config">模å—çš„é…ç½®</a></li>
+ <li><a href="http://www.apachetutor.org/dev/pools">Apache 中的资æºç®¡ç†</a></li>
+ <li><a href="http://www.apachetutor.org/dev/reslist">Apache 中的连接池</a></li>
+ <li><a href="http://www.apachetutor.org/dev/brigades">桶与队列简介</a></li>
+ </ul></li>
+ </ul>
+</div></div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/developer/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../zh-cn/developer/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/developer/modules.html.en b/docs/manual/developer/modules.html.en
index c4cfe853..79e241ac 100644
--- a/docs/manual/developer/modules.html.en
+++ b/docs/manual/developer/modules.html.en
@@ -268,6 +268,6 @@ module MODULE_VAR_EXPORT <var>module_name</var>_module =
<p><span>Available Languages: </span><a href="../en/developer/modules.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/developer/modules.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/developer/modules.html.ja.utf8 b/docs/manual/developer/modules.html.ja.utf8
index 30b39b3e..659136ec 100644
--- a/docs/manual/developer/modules.html.ja.utf8
+++ b/docs/manual/developer/modules.html.ja.utf8
@@ -269,6 +269,6 @@ module MODULE_VAR_EXPORT <var>module_name</var>_module =
<p><span>Available Languages: </span><a href="../en/developer/modules.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/developer/modules.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/developer/request.html.en b/docs/manual/developer/request.html.en
index c52fd140..58d0648a 100644
--- a/docs/manual/developer/request.html.en
+++ b/docs/manual/developer/request.html.en
@@ -255,6 +255,6 @@ case SATISFY_ANY:
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/developer/request.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/developer/thread_safety.html.en b/docs/manual/developer/thread_safety.html.en
index ccd31fe4..a5150927 100644
--- a/docs/manual/developer/thread_safety.html.en
+++ b/docs/manual/developer/thread_safety.html.en
@@ -276,6 +276,6 @@
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/developer/thread_safety.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/dns-caveats.html.en b/docs/manual/dns-caveats.html.en
index 06af5499..430af661 100644
--- a/docs/manual/dns-caveats.html.en
+++ b/docs/manual/dns-caveats.html.en
@@ -128,18 +128,18 @@
<p>Suppose that you've assigned 192.0.2.1 to
<code>www.abc.dom</code> and 192.0.2.2 to
<code>www.def.dom</code>. Furthermore, suppose that
- <code>def.dom</code> has control of their own DNS. With this
- config you have put <code>def.dom</code> into a position where
- they can steal all traffic destined to <code>abc.dom</code>. To
- do so, all they have to do is set <code>www.def.dom</code> to
- 192.0.2.1. Since they control their own DNS you can't stop them
- from pointing the <code>www.def.dom</code> record wherever they
+ <code>abc.dom</code> has control of their own DNS. With this
+ config you have put <code>abc.dom</code> into a position where
+ they can steal all traffic destined to <code>def.dom</code>. To
+ do so, all they have to do is set <code>www.abc.dom</code> to
+ 192.0.2.2. Since they control their own DNS you can't stop them
+ from pointing the <code>www.abc.dom</code> record wherever they
wish.</p>
- <p>Requests coming in to 192.0.2.1 (including all those where
+ <p>Requests coming in to 192.0.2.2 (including all those where
users typed in URLs of the form
- <code>http://www.abc.dom/whatever</code>) will all be served by
- the <code>def.dom</code> virtual host. To better understand why
+ <code>http://www.def.dom/whatever</code>) will all be served by
+ the <code>abc.dom</code> virtual host. To better understand why
this happens requires a more in-depth discussion of how Apache
matches up incoming requests with the virtual host that will
serve it. A rough document describing this <a href="vhosts/details.html">is available</a>.</p>
@@ -240,6 +240,6 @@
<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/dns-caveats.html.ja.utf8 b/docs/manual/dns-caveats.html.ja.utf8
index 8e8aa6f6..0e8f5385 100644
--- a/docs/manual/dns-caveats.html.ja.utf8
+++ b/docs/manual/dns-caveats.html.ja.utf8
@@ -240,6 +240,6 @@
<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/dns-caveats.html.ko.euc-kr b/docs/manual/dns-caveats.html.ko.euc-kr
index 68100354..a5d2c071 100644
--- a/docs/manual/dns-caveats.html.ko.euc-kr
+++ b/docs/manual/dns-caveats.html.ko.euc-kr
@@ -220,6 +220,6 @@
<a href="./ko/dns-caveats.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/dns-caveats.html.tr.utf8 b/docs/manual/dns-caveats.html.tr.utf8
index 0ffc5dc7..5839b4c6 100644
--- a/docs/manual/dns-caveats.html.tr.utf8
+++ b/docs/manual/dns-caveats.html.tr.utf8
@@ -128,18 +128,18 @@
<p><code>falan.fesmekan.dom</code>’a 192.168.2.1,
<code>misal.mesela.dom</code>’a 192.168.2.2 atadığınızı fakat,
- <code>mesela.dom</code>’un DNS kaydının sizin denetiminizde olmadığını
- varsayalım. Bu yapılandırmayla, <code>mesela.dom</code>’u
- <code>fesmekan.dom</code>’a giden tüm trafiği çalabilecek duruma
+ <code>fesmekan.dom</code>’un DNS kaydının sizin denetiminizde olmadığını
+ varsayalım. Bu yapılandırmayla, <code>fesmekan.dom</code>’u
+ <code>mesela.dom</code>’a giden tüm trafiği çalabilecek duruma
getirirsiniz. Bunu gerçekleştirmek için DNS kaydında
- <code>misal.mesela.dom</code>’a 192.168.2.1 adresinin atanması
+ <code>falan.fesmekan.dom</code>’a 192.168.2.2 adresinin atanması
yeterlidir. Kendi DNS’lerine sahip olduklarından dolayı
- <code>misal.mesela.dom</code>’a istedikleri IP adresini atamaktan
+ <code>falan.fesmekan.dom</code>’a istedikleri IP adresini atamaktan
onları alıkoyamazsınız.</p>
- <p>192.168.2.1’e gelen isteklerin hepsine
- (<code>http://falan.fesmekan.dom/biryer</code> şeklinde yazılan
- adresler dahil) <code>mesela.dom</code> sanal konağınca hizmet
+ <p>192.168.2.2’ye gelen isteklerin hepsine
+ (<code>http://misal.mesela.dom/biryer</code> şeklinde yazılan
+ adresler dahil) <code>fesmekan.dom</code> sanal konağınca hizmet
sunulacaktır. Apache’nin gelen istekleri sunduğu sanal konaklarla nasıl
eşleştirdiğini bilirseniz bunun sebebini kolayca anlarsınız. Bunu
kabataslak açıklayan <a href="vhosts/details.html">bir belgemiz
@@ -230,6 +230,6 @@
<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/dns-caveats.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/dso.html.en b/docs/manual/dso.html.en
index 9f790d7b..18b353c3 100644
--- a/docs/manual/dso.html.en
+++ b/docs/manual/dso.html.en
@@ -312,6 +312,6 @@ $ apxs -i -a -n foo mod_foo.la
<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/dso.html.ja.utf8 b/docs/manual/dso.html.ja.utf8
index e8e4438b..1aae2431 100644
--- a/docs/manual/dso.html.ja.utf8
+++ b/docs/manual/dso.html.ja.utf8
@@ -295,6 +295,6 @@ $ apxs -i -a -n foo mod_foo.la
<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/dso.html.ko.euc-kr b/docs/manual/dso.html.ko.euc-kr
index c0005cca..428521a2 100644
--- a/docs/manual/dso.html.ko.euc-kr
+++ b/docs/manual/dso.html.ko.euc-kr
@@ -273,6 +273,6 @@ $ apxs -i -a -n foo mod_foo.la
<a href="./ko/dso.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/dso.html.tr.utf8 b/docs/manual/dso.html.tr.utf8
index 21bbdb55..42fb5ee9 100644
--- a/docs/manual/dso.html.tr.utf8
+++ b/docs/manual/dso.html.tr.utf8
@@ -303,6 +303,6 @@ $ apxs -i -a -n filanca mod_filanca.la
<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/dso.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/env.html.en b/docs/manual/env.html.en
index e9cdc4a6..385e011d 100644
--- a/docs/manual/env.html.en
+++ b/docs/manual/env.html.en
@@ -449,6 +449,6 @@ BrowserMatch "JDK/1\.0" force-response-1.0</pre></div>
<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/env.html.ja.utf8 b/docs/manual/env.html.ja.utf8
index de73f231..4c2ac510 100644
--- a/docs/manual/env.html.ja.utf8
+++ b/docs/manual/env.html.ja.utf8
@@ -402,6 +402,6 @@ SetEnvIf Referer "^$" local_referal
<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/env.html.ko.euc-kr b/docs/manual/env.html.ko.euc-kr
index fea31a73..4d8d94b3 100644
--- a/docs/manual/env.html.ko.euc-kr
+++ b/docs/manual/env.html.ko.euc-kr
@@ -370,6 +370,6 @@ SetEnvIf Referer "^$" local_referal
<a href="./ko/env.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/env.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/env.html.tr.utf8 b/docs/manual/env.html.tr.utf8
index 572b2bb9..b114ad89 100644
--- a/docs/manual/env.html.tr.utf8
+++ b/docs/manual/env.html.tr.utf8
@@ -449,6 +449,6 @@ BrowserMatch "JDK/1\.0" force-response-1.0</pre></div>
<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/env.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/faq/index.html b/docs/manual/faq/index.html
index 23ec1ec0..d7ec98b3 100644
--- a/docs/manual/faq/index.html
+++ b/docs/manual/faq/index.html
@@ -7,3 +7,7 @@ Content-type: text/html; charset=ISO-8859-1
URI: index.html.tr.utf8
Content-Language: tr
Content-type: text/html; charset=UTF-8
+
+URI: index.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/faq/index.html.en b/docs/manual/faq/index.html.en
index 5c1f2604..eab83bab 100644
--- a/docs/manual/faq/index.html.en
+++ b/docs/manual/faq/index.html.en
@@ -10,7 +10,7 @@
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
-<body id="manual-page"><div id="page-header">
+<body id="manual-page" class="no-sidebar"><div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
<p class="apache">Apache HTTP Server Version 2.2</p>
<img alt="" src="../images/feather.gif" /></div>
@@ -19,96 +19,18 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>Frequently Asked Questions</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/faq/" title="English">&nbsp;en&nbsp;</a> |
-<a href="../tr/faq/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/faq/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/faq/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
- <p>This document is not a traditional FAQ, but rather a quick
- guide showing you what to do when you run into problems with the
- Apache HTTP Server.</p>
-
- <p>A more traditional but quite outdated document is the <a href="http://httpd.apache.org/docs/misc/FAQ.html">Apache 1.3
- FAQ</a>.</p>
+ <p>The FAQ has moved to the <a href="http://wiki.apache.org/httpd/FAQ">HTTP Server Wiki</a>.</p>
+</div>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#support.what2do">"Why can't I ...? Why won't ... work?" What to do in case of
- problems</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#support.support">Whom do I contact for support?</a></li>
-</ul></div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="support.what2do" id="support.what2do">"Why can't I ...? Why won't ... work?" What to do in case of
- problems</a></h2>
-
-
- <p>If you are having trouble with your Apache server software, you should
- take the following steps:</p>
-
- <dl>
- <dt>Check the ErrorLog!</dt>
- <dd><p>Apache tries to be helpful when it encounters a problem. In many
- cases, it will provide some details by writing one or more messages to the
- server error log. Sometimes this is enough for you to diagnose and fix
- the problem yourself (such as file permissions or the like). The default
- location of the error log is
- <code>/usr/local/apache2/logs/error_log</code>, but see the <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> directive in your config files for the
- location on your server.</p>
-
- <p>If you end up in any of the support forums this is quite likely to be the
- first place they will ask you retrieve information from. Please ensure you
- know where to find your errorlog. If you are unsure, the wiki page
- <a href="http://wiki.apache.org/httpd/DistrosDefaultLayout"> here</a> can
- give you some ideas where to look.</p></dd>
-
- <dt>Consult the wiki</dt>
- <dd>The <a href="http://wiki.apache.org/httpd/">Apache HTTP
- Server Wiki</a> contains guides to solving many common
- problems.</dd>
-
- <dt>Check the Apache bug database</dt> <dd>Most problems that
- get reported to The Apache Group are recorded in the <a href="http://httpd.apache.org/bug_report.html">bug database</a>.
- <strong>Do not</strong> submit a new bug report until you have
- checked existing reports (open <em>and</em> closed) and asked
- about your problem in a user-support forum (see below). If you
- find that your issue has already been reported, please
- <em>don't</em> add a "me, too" report.</dd>
-
- <dt><a id="support.what2do.user-support" name="support.what2do.user-support">Ask in a user support forum</a></dt>
- <dd><p>Apache has an active community of users who are willing to share
- their knowledge. Participating in this community is usually the best and
- fastest way to get answers to your questions and problems.</p>
-
- <p><a href="http://httpd.apache.org/userslist.html">Users
- mailing list</a></p>
-
- <p><a href="irc://irc.freenode.net/#httpd">#httpd</a> on
- <a href="http://freenode.net">Freenode IRC</a> is also available for
- user support issues.</p>
- </dd>
-
- <dt>Please use the bug database for bugs!</dt>
- <dd><p>If you've gone through those steps above that are appropriate and
- have obtained no relief, then please <em>do</em> let the httpd developers
- know about the problem by <a href="http://httpd.apache.org/bug_report.html">logging a bug
- report</a>.</p>
-
- <p>If your problem involves the server crashing and generating a core
- dump, please <a href="http://httpd.apache.org/dev/debugging.html">
- include a backtrace</a> (if possible).</p>
- </dd>
- </dl>
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="support.support" id="support.support">Whom do I contact for support?</a></h2>
- <p>With millions of users and fewer than sixty volunteer developers,
- we cannot provide personal support for Apache. For free support, we
- suggest participating in a user forum (see above).</p>
-
- <p>Professional, commercial support for Apache is available from
- a number of companies.</p>
- </div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/faq/" title="English">&nbsp;en&nbsp;</a> |
-<a href="../tr/faq/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/faq/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/faq/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/faq/index.html.tr.utf8 b/docs/manual/faq/index.html.tr.utf8
index fabaf84b..9bf25bf2 100644
--- a/docs/manual/faq/index.html.tr.utf8
+++ b/docs/manual/faq/index.html.tr.utf8
@@ -10,7 +10,7 @@
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
-<body id="manual-page"><div id="page-header">
+<body id="manual-page" class="no-sidebar"><div id="page-header">
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
<p class="apache">Apache HTTP Sunucusu Sürüm 2.2</p>
<img alt="" src="../images/feather.gif" /></div>
@@ -19,97 +19,19 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Sıkça Sorulan Sorular</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../en/faq/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
-<a href="../tr/faq/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/faq/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/faq/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
-
- <p>Bu belge geleneksel bir SSS’ten çok Apache HTTP Sunucusu ile
- ilgili sorunlarla karşılaştığınızda ne yapacağınızı gösteren bir rehber
- niteliÄŸindedir.</p>
-
- <p>Daha geleneksel ama biraz eski tarihli bir SSS belgesi olarak <a href="http://httpd.apache.org/docs/misc/FAQ.html">Apache 1.3
- SSS</a>’sine bakabilirsiniz.</p>
+ <p>SSS <a href="http://wiki.apache.org/httpd/FAQ">HTTP Server Wiki</a>
+ altına taşınmıştır.</p>
+</div>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#support.what2do">“Neden ... yapamıyorum? Niçin ... çalışmıyor?†gibi
- sorular için</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#support.support">Destek için kime başvurayım?</a></li>
-</ul></div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="support.what2do" id="support.what2do">“Neden ... yapamıyorum? Niçin ... çalışmıyor?†gibi
- sorular için</a></h2>
-
-
- <p>Apache sunucu yazılımınızla ilgili sorunlar yaşıyorsanız şu
- adımları izleyin:</p>
-
- <dl>
- <dt>Günlük kayıt dosyalarına bakın!</dt>
- <dd><p>Apache sorunları saptamaya ve size yardımcı olmaya çalışır. Çoğu
- durumda, günlük dosyalarına bir kaç ileti yazarak sunucu hataları için
- size bazı ayrıntıları sağlayacaktır. Bu genellikle sorunun sizin
- tarafınızdan teşhis edilmesi (dosya izinleri ve benzeri) ve düzeltilmesi
- için yeterli olur. Hata kayıtlarının tutulduğu günlük dosyalarının
- öntanımlı yeri <code>/usr/local/apache2/logs/error_log</code> olup
- sizin sunucunuzdaki yeri için yapılandırma dosyalarınızdaki <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> yönergesine bakabilirsiniz.</p>
-
- <p>Genellikle başvurulan ilk yerlerden biri olarak yolunuz yardımlaşma
- listelerinden birine düşerse sizden ilk olarak biraz bilgi sağlamanız
- istenecektir. Bu bakımdan hataların yazıldığı günlük kayıt dosyalarını
- nerede bulacağınızı bilmelisiniz. Eğer yerlerinden emin değilseniz
- kullandığınız dağıtıma göre dosyaların yerlerini gösteren <a href="http://wiki.apache.org/httpd/DistrosDefaultLayout">wiki
- sayfası</a> size fikir verebilir.</p></dd>
-
- <dt>Wiki’yi inceleyin</dt>
- <dd><a href="http://wiki.apache.org/httpd/">Httpd Wiki</a>, çoğu sorunun
- çözümüne yardımcı olacak kılavuzlar içerir.</dd>
-
- <dt>Apache hata ayıklama veritabanına bakın</dt>
- <dd>Apache Grubuna bildirilen çoğu sorun <a href="http://httpd.apache.org/bug_report.html">hata ayıklama
- veritabanına</a> kaydedilir. Açık ya da kapalı, mevcut hata raporlarını
- incelemeden ve sorununuz hakkında kullanıcı destek listelerine (aşağıya
- bakınız) danışmadan lütfen yeni bir hata bildirimi
- <strong>yapmayın</strong>. Zaten raporlanmış bir sorunsa bir “ben deâ€
- veya “+1†raporu <em>eklemeyin</em>.</dd>
-
- <dt><a id="support.what2do.user-support" name="support.what2do.user-support">Bir kullanıcı destek listesine
- sorun</a></dt>
- <dd><p>Apache, bilgilerini gönüllü olarak paylaşan etkin bir kullanıcı
- topluluğuna sahiptir. Bu topluluğa katılarak sorularınıza ve
- sorunlarınıza genellikle en iyi ve en hızlı yanıtı alırsınız.</p>
-
- <p><a href="http://httpd.apache.org/userslist.html">Apache kullanıcıları
- eposta listesi</a></p>
-
- <p>Kullanıcı desteği ile ilgili olarak <a href="http://freenode.net">Freenode IRC</a> üzerindeki <a href="irc://irc.freenode.net/#httpd">#httpd</a> kanalı da
- kullanılabilir.</p>
- </dd>
-
- <dt>Lütfen hata bildirimi için hata ayıklama veritabanını kullanın!</dt>
- <dd><p>Eğer yukarıdaki adımlardan size uygun olanları izlemiş ve
- bir çare bulamamışsanız lütfen <a href="http://httpd.apache.org/bug_report.html">bir hata ayıklama
- bildirimi</a>nde bulunarak httpd geliştiricilerini sorun hakkında
- bilgilendirin.</p>
-
- <p>Eğer sorununuz sunucunun çökmesine ve bir ‘core’ üretilmesine sebep
- oluyorsa hatayı bildirirken lütfen (mümkünse) bir <a href="http://httpd.apache.org/dev/debugging.html">geriye doğru hata
- izleme raporu</a> ekleyin.</p>
- </dd>
- </dl>
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="support.support" id="support.support">Destek için kime başvurayım?</a></h2>
- <p>Milyonlarca kullanıcı ve altmıştan az gönüllü geliştirici ile
- Apache için kişisel destek sağlayamıyoruz. Ücretsiz destek için
- yardımlaşma listelerine katılmanızı öneriyoruz (yukarı bakınız).</p>
-
- <p>Profesyonel ve ticari Apache desteği almak için bu tür destekleri
- sunan ÅŸirketlere baÅŸvurunuz.</p>
- </div></div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../en/faq/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
-<a href="../tr/faq/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/faq/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/faq/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/faq/index.html.zh-cn b/docs/manual/faq/index.html.zh-cn
new file mode 100644
index 00000000..07976422
--- /dev/null
+++ b/docs/manual/faq/index.html.zh-cn
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>常è§é—®é¢˜ - Apache HTTP æœåŠ¡å™¨</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page" class="no-sidebar"><div id="page-header">
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.2</a></div><div id="page-content"><div id="preamble"><h1>常è§é—®é¢˜</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/faq/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../tr/faq/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/faq/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+ <p>常è§é—®é¢˜å·²ç»ç§»åˆ° <a href="http://wiki.apache.org/httpd/FAQ">HTTP æœåŠ¡å™¨ç»´åŸº</a>。</p>
+</div>
+</div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/faq/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../tr/faq/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/faq/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/filter.html.en b/docs/manual/filter.html.en
index b0bcf41f..4c04c09d 100644
--- a/docs/manual/filter.html.en
+++ b/docs/manual/filter.html.en
@@ -134,6 +134,6 @@ configuration instead.</p>
<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/filter.html.es b/docs/manual/filter.html.es
index 04923603..b3b7dbb7 100644
--- a/docs/manual/filter.html.es
+++ b/docs/manual/filter.html.es
@@ -78,6 +78,6 @@
<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/filter.html.fr b/docs/manual/filter.html.fr
index d706c060..4f773658 100644
--- a/docs/manual/filter.html.fr
+++ b/docs/manual/filter.html.fr
@@ -145,6 +145,6 @@ configuration dynamique à la place.</p>
<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/filter.html.ja.utf8 b/docs/manual/filter.html.ja.utf8
index cf6939d4..adf73595 100644
--- a/docs/manual/filter.html.ja.utf8
+++ b/docs/manual/filter.html.ja.utf8
@@ -138,6 +138,6 @@ application/xhtml+xml ã®å ´åˆã«ã®ã¿å®Ÿè¡Œã•ã‚Œã¾ã™</li>
<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/filter.html.ko.euc-kr b/docs/manual/filter.html.ko.euc-kr
index 1933a23b..a6fbe8fe 100644
--- a/docs/manual/filter.html.ko.euc-kr
+++ b/docs/manual/filter.html.ko.euc-kr
@@ -77,6 +77,6 @@
<a href="./ko/filter.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/filter.html.tr.utf8 b/docs/manual/filter.html.tr.utf8
index a59f9b4a..4254ee18 100644
--- a/docs/manual/filter.html.tr.utf8
+++ b/docs/manual/filter.html.tr.utf8
@@ -143,6 +143,6 @@
<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/filter.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/glossary.html.de b/docs/manual/glossary.html.de
index f1e3a61d..15039f2c 100644
--- a/docs/manual/glossary.html.de
+++ b/docs/manual/glossary.html.de
@@ -553,6 +553,6 @@
<a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Module</a> | <a href="./mod/directives.html">Direktiven</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossar</a> | <a href="./sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/glossary.html.en b/docs/manual/glossary.html.en
index f07ca088..d09c90da 100644
--- a/docs/manual/glossary.html.en
+++ b/docs/manual/glossary.html.en
@@ -468,6 +468,6 @@
<a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/glossary.html.es b/docs/manual/glossary.html.es
index efcc0eb1..58bde1a6 100644
--- a/docs/manual/glossary.html.es
+++ b/docs/manual/glossary.html.es
@@ -396,6 +396,6 @@ SSL/TLS.<br /> Consulte: <a href="ssl/">Encriptado SSL/TLS</a></dd>
<a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/glossary.html.fr b/docs/manual/glossary.html.fr
index 1f6b7617..acb2272d 100644
--- a/docs/manual/glossary.html.fr
+++ b/docs/manual/glossary.html.fr
@@ -554,6 +554,6 @@ Localisation de Ressource Uniformisée
<a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/glossary.html.ja.utf8 b/docs/manual/glossary.html.ja.utf8
index 59baedc4..a469680a 100644
--- a/docs/manual/glossary.html.ja.utf8
+++ b/docs/manual/glossary.html.ja.utf8
@@ -449,6 +449,6 @@
<a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/glossary.html.ko.euc-kr b/docs/manual/glossary.html.ko.euc-kr
index 95ff40d9..b32cfa04 100644
--- a/docs/manual/glossary.html.ko.euc-kr
+++ b/docs/manual/glossary.html.ko.euc-kr
@@ -365,6 +365,6 @@ ITU-T)ÀÌ ±ÇÀåÇÏ´Â ÀÎÁõ¼­ ¾ç½Ä. SSL/TLS ÀÎÁõ¿¡¼­ »ç¿ëÇÑ´Ù.<br />
<a href="./ko/glossary.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/glossary.html.tr.utf8 b/docs/manual/glossary.html.tr.utf8
index 956fa053..219d82e1 100644
--- a/docs/manual/glossary.html.tr.utf8
+++ b/docs/manual/glossary.html.tr.utf8
@@ -481,6 +481,6 @@
<a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/glossary.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/handler.html b/docs/manual/handler.html
index 3109a133..357f92a4 100644
--- a/docs/manual/handler.html
+++ b/docs/manual/handler.html
@@ -27,3 +27,7 @@ Content-type: text/html; charset=KOI8-R
URI: handler.html.tr.utf8
Content-Language: tr
Content-type: text/html; charset=UTF-8
+
+URI: handler.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/handler.html.en b/docs/manual/handler.html.en
index ad1f4a35..ea9cb7cf 100644
--- a/docs/manual/handler.html.en
+++ b/docs/manual/handler.html.en
@@ -24,7 +24,8 @@
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>This document describes the use of Apache's Handlers.</p>
@@ -152,8 +153,9 @@
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/handler.html.es b/docs/manual/handler.html.es
index 2c1b98fd..14e5338b 100644
--- a/docs/manual/handler.html.es
+++ b/docs/manual/handler.html.es
@@ -24,7 +24,8 @@
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">Esta traducción podría estar
obsoleta. Consulte la versión en inglés de la
@@ -165,8 +166,9 @@
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/handler.html.fr b/docs/manual/handler.html.fr
index 82bd2d1b..335d7718 100644
--- a/docs/manual/handler.html.fr
+++ b/docs/manual/handler.html.fr
@@ -24,7 +24,8 @@
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Ce document décrit l'utilisation des gestionnaires d'Apache (handlers).</p>
@@ -158,8 +159,9 @@
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/handler.html.ja.utf8 b/docs/manual/handler.html.ja.utf8
index acc7b7ff..f333de69 100644
--- a/docs/manual/handler.html.ja.utf8
+++ b/docs/manual/handler.html.ja.utf8
@@ -24,7 +24,8 @@
<a href="./ja/handler.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Apache ã®ãƒãƒ³ãƒ‰ãƒ©ã®ä½¿ç”¨ã«é–¢ã—ã¦è¨˜è¿°ã—ã¦ã„ã¾ã™ã€‚</p>
@@ -155,8 +156,9 @@
<a href="./ja/handler.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/handler.html.ko.euc-kr b/docs/manual/handler.html.ko.euc-kr
index 308dd826..026f1cda 100644
--- a/docs/manual/handler.html.ko.euc-kr
+++ b/docs/manual/handler.html.ko.euc-kr
@@ -24,7 +24,8 @@
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
@@ -148,8 +149,9 @@
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/handler.html.ru.koi8-r b/docs/manual/handler.html.ru.koi8-r
index 80987bd7..d2320bf7 100644
--- a/docs/manual/handler.html.ru.koi8-r
+++ b/docs/manual/handler.html.ru.koi8-r
@@ -24,7 +24,8 @@
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">üÔÏÔ ÐÅÒÅ×ÏÄ ÍÏÖÅÔ ÂÙÔØ ÕÓÔÁÒÅ×ÛÉÍ. óÍÏÔÒÉÔÅ
ÁÎÇÌÉÊÓËÕÀ ×ÅÒÓÉÀ ÄÌÑ ÏÚÎÁËÏÍÌÅÎÉÑ ÓÏ ×ÓÅÍÉ ÐÏÓÌÅÄÎÉÍÉ ÉÚÍÅÎÅÎÉÑÍÉ
@@ -164,8 +165,9 @@
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">íÏÄÕÌÉ</a> | <a href="./mod/directives.html">äÉÒÅËÔÉ×Ù</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">çÌÏÓÓÁÒÉÊ</a> | <a href="./sitemap.html">ëÁÒÔÁ ÓÁÊÔÁ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/handler.html.tr.utf8 b/docs/manual/handler.html.tr.utf8
index a51cc6fb..8a99e327 100644
--- a/docs/manual/handler.html.tr.utf8
+++ b/docs/manual/handler.html.tr.utf8
@@ -24,7 +24,8 @@
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="./tr/handler.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/handler.html" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Bu belgede Apache Eylemcilerinin kullanımı açıklanmıştır.</p>
@@ -149,8 +150,9 @@
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="./tr/handler.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/handler.html" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/handler.html.zh-cn b/docs/manual/handler.html.zh-cn
new file mode 100644
index 00000000..ef8db3af
--- /dev/null
+++ b/docs/manual/handler.html.zh-cn
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache 的处ç†å™¨ - Apache HTTP æœåŠ¡å™¨</title>
+<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="./images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="./mod/">模å—</a> | <a href="./mod/directives.html">指令</a> | <a href="./faq/">常è§é—®é¢˜</a> | <a href="./glossary.html">术语</a> | <a href="./sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="./images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="./">版本 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache 的处ç†å™¨</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./es/handler.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+ <p>本页æè¿° Apache 处ç†å™¨çš„用法。</p>
+ </div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#definition">什么是处ç†å™¨</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#examples">例å­</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#programmer">对程åºå‘˜çš„说明</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="definition" id="definition">什么是处ç†å™¨</a></h2>
+
+ <table class="related"><tr><th>相关模å—</th><th>相关指令</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></li><li><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></li><li><code class="module"><a href="./mod/mod_mime.html">mod_mime</a></code></li><li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="./mod/mod_status.html">mod_status</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removehandler">RemoveHandler</a></code></li><li><code class="directive"><a href="./mod/core.html#sethandler">SetHandler</a></code></li></ul></td></tr></table>
+
+
+ <p>“处ç†å™¨â€æ˜¯å½“文件被调用时,Apache è¦æ‰§è¡Œçš„动作的内部表示形å¼ã€‚
+ 一般æ¥è¯´ï¼Œæ¯ä¸ªæ–‡ä»¶éƒ½æœ‰åŸºäºŽå…¶æ–‡ä»¶ç±»åž‹çš„éšå¼å¤„ç†å™¨ã€‚通常的文件会被
+ æœåŠ¡å™¨ç®€å•å¤„ç†ï¼Œä½†æ˜¯æŸäº›æ–‡ä»¶ç±»åž‹ä¼šè¢«åˆ†åˆ«â€œå¤„ç†â€ã€‚</p>
+
+ <p>处ç†å™¨ä¹Ÿå¯ä»¥è¢«åŸºäºŽæ‰©å±•å或ä½ç½®æ¥æ˜Žç¡®é…置。它们都很有用,这ä¸ä»…
+ 因为它是优雅的方案,而且还å…许类型<strong>与</strong>处ç†å™¨å…³è”到文件
+ (å‚è§<a href="mod/mod_mime.html#multipleext">文件与多个扩展å</a>)。</p>
+
+ <p>处ç†å™¨å¯ä»¥ç¼–译到æœåŠ¡å™¨ä¸­ï¼Œæˆ–者包å«åœ¨æ¨¡å—中,它们还å¯ä»¥è¢« <code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code> 指令增加。标准å‘行版中内置的处ç†å™¨æœ‰:</p>
+
+ <ul>
+ <li><strong>default-handler</strong>: 使用
+ <code>default_handler()</code> å‘é€æ–‡ä»¶ï¼Œå®ƒæ˜¯ç”¨æ¥å¤„ç†é™æ€å†…容的处ç†å™¨(核心)。</li>
+
+ <li><strong>send-as-is</strong>: 直接å‘é€ï¼Œä¸å¢žåŠ  HTTP 头(<code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code>)。</li>
+
+ <li><strong>cgi-script</strong>: 按 CGI 脚本处ç†(<code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code>)。</li>
+
+ <li><strong>imap-file</strong>: 按 imagemap 规则处ç†(<code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code>)。</li>
+
+ <li><strong>server-info</strong>: å–å¾—æœåŠ¡å™¨é…置信æ¯(<code class="module"><a href="./mod/mod_info.html">mod_info</a></code>)。</li>
+
+ <li><strong>server-status</strong>: å–å¾—æœåŠ¡å™¨çŠ¶æ€æŠ¥å‘Š(<code class="module"><a href="./mod/mod_status.html">mod_status</a></code>)。</li>
+
+ <li><strong>type-map</strong>: 用于内容å商,按类型映射文件处ç†(<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>)。</li>
+ </ul>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="examples" id="examples">例å­</a></h2>
+
+
+ <h3><a name="example1" id="example1">使用 CGI 脚本修改é™æ€å†…容</a></h3>
+
+
+ <p>下é¢çš„指令将会使具有<code>html</code>扩展åçš„æ–‡ä»¶ï¼Œè§¦å‘ CGI 脚本<code>footer.pl</code>的执行。</p>
+
+ <div class="example"><p><code>
+ Action add-footer /cgi-bin/footer.pl<br />
+ AddHandler add-footer .html
+ </code></p></div>
+
+ <p>于是 CGI è´Ÿè´£å‘é€è¯·æ±‚的文档(<code>PATH_TRANSLATED</code> 环境å˜é‡æŒ‡å‘它),按照需è¦ä½œå‡º and making
+ whatever modifications or additions are desired.</p>
+
+
+ <h3><a name="example2" id="example2">å«æœ‰ HTTP 头的文件</a></h3>
+
+
+ <p>下é¢çš„指令会å¯ç”¨
+ <code>send-as-is</code> 处ç†å™¨ï¼Œç”¨äºŽåŒ…å«è‡ªå·±çš„ HTTP 的文件。ä¸ç®¡ä»€ä¹ˆæ‰©å±•å,
+ 所有ä½äºŽ <code>/web/htdocs/asis/</code> 目录的文件会被
+ <code>send-as-is</code> 处ç†å™¨å¤„ç†ã€‚</p>
+
+ <div class="example"><p><code>
+ &lt;Directory /web/htdocs/asis&gt;<br />
+ SetHandler send-as-is<br />
+ &lt;/Directory&gt;
+ </code></p></div>
+
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="programmer" id="programmer">对程åºå‘˜çš„说明</a></h2>
+
+
+ <p>为了实现处ç†å™¨ç‰¹æ€§ï¼Œå¢žåŠ äº†éœ€è¦ä½¿ç”¨çš„ <a href="developer/API.html">Apache API</a>。
+ 特别的,结构 <code>request_rec</code> 增加了新æˆå‘˜:</p>
+
+ <div class="example"><p><code>
+ char *handler
+ </code></p></div>
+
+ <p>如果你想è¦æ¨¡å—实现处ç†å™¨ï¼Œåªéœ€è¦åœ¨åœ¨å¤„ç†è¯·æ±‚,调用 <code>invoke_handler</code>
+ 之å‰ï¼Œå°† <code>r-&gt;handler</code> 指å‘处ç†å™¨å称。处ç†å™¨çš„实现与以å‰ä¸€æ ·ï¼Œåªæ˜¯ç”¨å¤„ç†å™¨å称å–代了内容类型。
+ 虽然ä¸æ˜¯å¿…è¦ï¼Œå¤„ç†å™¨çš„命å约定是使用破折å·åˆ†å‰²çš„å•è¯ï¼Œæ²¡æœ‰æ–œæ ï¼Œä»Žè€Œä¸ä¾µå…¥åª’体类型å称空间。</p>
+ </div></div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./es/handler.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/handler.html" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="./mod/">模å—</a> | <a href="./mod/directives.html">指令</a> | <a href="./faq/">常è§é—®é¢˜</a> | <a href="./glossary.html">术语</a> | <a href="./sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/access.html.en b/docs/manual/howto/access.html.en
index 8c65088b..60d00cfc 100644
--- a/docs/manual/howto/access.html.en
+++ b/docs/manual/howto/access.html.en
@@ -184,6 +184,6 @@ that approach is preferred.</p>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/howto/access.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/auth.html b/docs/manual/howto/auth.html
index 95b7cea6..a8c8b7e3 100644
--- a/docs/manual/howto/auth.html
+++ b/docs/manual/howto/auth.html
@@ -4,6 +4,10 @@ URI: auth.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: auth.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: auth.html.ja.utf8
Content-Language: ja
Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/howto/auth.html.en b/docs/manual/howto/auth.html.en
index 527d784a..dccbc527 100644
--- a/docs/manual/howto/auth.html.en
+++ b/docs/manual/howto/auth.html.en
@@ -19,6 +19,7 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>Authentication, Authorization and Access Control</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/howto/auth.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
@@ -33,6 +34,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduction</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">The Prerequisites</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">Getting it working</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Letting more than one
person in</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Possible problems</a></li>
@@ -48,7 +50,7 @@ authorization process. You will usually need to choose at least one
module from each group.</p>
<ul>
- <li>Authentication type (see the
+ <li>Authentication type (see the
<code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code> directive)
<ul>
<li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li>
@@ -66,7 +68,7 @@ module from each group.</p>
<li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
</ul>
</li>
- <li>Authorization (see the
+ <li>Authorization (see the
<code class="directive"><a href="../mod/core.html#require">Require</a></code> directive)
<ul>
<li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
@@ -161,7 +163,7 @@ module from each group.</p>
came with Apache. This will be located in the <code>bin</code> directory
of wherever you installed Apache. If you have installed Apache from
a third-party package, it may be in your execution path.</p>
-
+
<p>To create the file, type:</p>
<div class="example"><p><code>
@@ -256,6 +258,36 @@ module from each group.</p>
<code class="directive"><a href="../mod/core.html#require">Require</a></code> directive.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
+<h2><a name="satisfy" id="satisfy">Satisfy</a></h2>
+
+<p>The <code class="directive"><a href="../mod/core.html#satisfy">Satisfy</a></code> directive can be used to specify
+that several criteria may be considered when trying to decide if a particular user
+will be granted admission. Satisfy can take as an argument one of two options - <code>all</code>
+or <code>any</code>. By default, it is assumed that the value is <code>all</code>. This means that if several
+criteria are specified, then all of them must be met in order for someone to get in.
+However, if set to <code>any</code>, then several criteria may be specified, but if
+the user satisfies any of these, then they will be granted entrance.</p>
+
+<p>An example of this is using access control to assure that, although a resource
+is password protected from outside your network, all hosts inside the network
+will be given unauthenticated access to the resource. This would be accomplished
+by using the Satisfy directive, as shown below.</p>
+
+<div class="example"><p><code>
+&lt;Directory /usr/local/apache/htdocs/sekrit&gt;<br />
+ AuthType Basic<br />
+ AuthName intranet<br />
+ AuthUserFile /www/passwd/users<br />
+ AuthGroupFile /www/passwd/groups<br />
+ Require group customers<br />
+ Order allow,deny<br />
+ Allow from internal.com<br />
+ Satisfy any<br />
+&lt;/Directory&gt;
+</code></p></div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
<h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Letting more than one
person in</a></h2>
<p>The directives above only let one person (specifically
@@ -369,6 +401,7 @@ person in</a></h2>
<p>Other options are available. Consult the
<code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> documentation for more details.</p>
+
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="moreinformation" id="moreinformation">More information</a></h2>
@@ -377,21 +410,22 @@ person in</a></h2>
contain some more information about how this all works.
<code class="module"><a href="../mod/mod_authn_alias.html">mod_authn_alias</a></code> can also help in simplifying certain
authentication configurations.</p>
-
+
<p>The various ciphers supported by Apache for authentication data are
explained in <a href="../misc/password_encryptions.html">Password
Encryptions</a>.</p>
-
+
<p>And you may want to look at the <a href="access.html">Access
Control</a> howto, which discusses a number of related topics.</p>
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/howto/auth.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/auth.html.fr b/docs/manual/howto/auth.html.fr
new file mode 100644
index 00000000..b89f4017
--- /dev/null
+++ b/docs/manual/howto/auth.html.fr
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Authentification, autorisation et contrôle d'accès - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Recettes / Tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Authentification, autorisation et contrôle d'accès</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/auth.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+</div>
+
+ <p>L'authentification est un processus qui vous permet de vérifier
+ qu'une personne est bien celle qu'elle prétend être. L'autorisation
+ est un processus qui permet à une personne d'aller là où elle veut
+ aller, ou d'obtenir les informations qu'elle désire.</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Modules et directives concernés</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduction</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">Les prérequis</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">Mise en oeuvre</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Autorisation d'accès à
+plusieurs personnes</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Problèmes possibles</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbmdbd">Autre méthode de stockage des mots de
+passe</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">Pour aller plus loin . . .</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="related" id="related">Modules et directives concernés</a></h2>
+
+<p>Trois groupes de modules sont concernés par le processus
+d'authentification et d'autorisation. Vous devrez utiliser au moins un
+module de chaque groupe.</p>
+
+<ul>
+ <li>Type d'authentification (voir la directive <code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code>)
+ <ul>
+ <li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li>
+ <li><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></li>
+ </ul>
+ </li>
+ <li>Fournisseur d'authentification
+ <ul>
+ <li><code class="module"><a href="../mod/mod_authn_alias.html">mod_authn_alias</a></code></li>
+ <li><code class="module"><a href="../mod/mod_authn_anon.html">mod_authn_anon</a></code></li>
+ <li><code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code></li>
+ <li><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code></li>
+ <li><code class="module"><a href="../mod/mod_authn_default.html">mod_authn_default</a></code></li>
+ <li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li>
+ <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
+ </ul>
+ </li>
+ <li>Autorisation (voir la directive <code class="directive"><a href="../mod/core.html#require">Require</a></code>)
+ <ul>
+ <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
+ <li><code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code></li>
+ <li><code class="module"><a href="../mod/mod_authz_default.html">mod_authz_default</a></code></li>
+ <li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li>
+ <li><code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code></li>
+ <li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li>
+ </ul>
+ </li>
+</ul>
+
+ <p>Le module <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> est un fournisseur
+ d'authentification et d'autorisation. Le module
+ <code class="module"><a href="../mod/mod_authn_alias.html">mod_authn_alias</a></code> n'est pas un fournisseur
+ d'authentification lui-même, mais permet une configuration plus souple
+ des autres fournisseurs d'authentification.</p>
+
+ <p>Le module <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> fournit une autorisation
+ et un contrôle d'accès basés sur le nom du serveur, l'adresse IP ou
+ certaines caractéristiques de la requête, mais ne fait pas partie du
+ système fournisseur d'authentification.</p>
+
+ <p>Vous devriez aussi jeter un coup d'oeil au manuel de recettes <a href="access.html">Contrôle d'accès</a>, qui décrit les différentes
+ méthodes de contrôle d'accès à votre serveur.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="introduction" id="introduction">Introduction</a></h2>
+ <p>Si votre site web contient des informations sensibles ou
+ destinées seulement à un groupe de personnes restreint, les
+ techniques exposées dans cet article vont vous aider à vous assurer
+ que les personnes qui ont accès à ces pages sont bien celles
+ auxquelles vous avez donné l'autorisation d'accès.</p>
+
+ <p>Cet article décrit les méthodes "standards" de protection de
+ parties de votre site web que la plupart d'entre vous sont appelés à
+ utiliser.</p>
+
+ <div class="note"><h3>Note :</h3>
+ <p>Si vos données ont un réel besoin de sécurisation, prévoyez
+ l'utilisation de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> en plus de toute méthode
+ d'authentification.</p>
+ </div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="theprerequisites" id="theprerequisites">Les prérequis</a></h2>
+ <p>Les directives décrites dans cet article devront être insérées
+ soit au niveau de la configuration de votre serveur principal (en
+ général dans une section <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>), soit au niveau de la
+ configuration des répertoires (fichiers <code>.htaccess</code>)</p>
+
+ <p>Si vous envisagez l'utilisation de fichiers
+ <code>.htaccess</code>, la configuration de votre serveur devra
+ permettre l'ajout de directives d'authentification dans ces
+ fichiers. Pour ce faire, on utilise la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>, qui spécifie quelles
+ directives pourront éventuellement contenir les fichiers de
+ configuration de niveau répertoire.</p>
+
+ <p>Comme il est ici question d'authentification, vous aurez besoin
+ d'une directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>
+ du style :</p>
+
+ <div class="example"><p><code>
+ AllowOverride AuthConfig
+ </code></p></div>
+
+ <p>Or, si vous avez l'intention d'ajouter les directives directement
+ dans le fichier de configuration principal, vous devrez bien entendu
+ posséder les droits en écriture sur ce fichier.</p>
+
+ <p>Vous devrez aussi connaître un tant soit peu la structure des
+ répertoires de votre serveur, ne serait-ce que pour savoir où se
+ trouvent certains fichiers. Cela ne devrait pas présenter de grandes
+ difficultés, et j'essaierai de clarifier tout ça lorsque le besoin
+ s'en fera sentir.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="gettingitworking" id="gettingitworking">Mise en oeuvre</a></h2>
+ <p>Nous décrivons ici les bases de la protection par mot de passe
+ d'un répertoire de votre serveur.</p>
+
+ <p>Vous devez en premier lieu créer un fichier de mots de passe. La
+ méthode exacte selon laquelle vous allez créer ce fichier va varier
+ en fonction du fournisseur d'authentification choisi. Mais nous
+ entrerons dans les détails plus loin, et pour le moment, nous nous
+ contenterons d'un fichier de mots de passe en mode texte.</p>
+
+ <p>Ce fichier doit être enregistré à un endroit non accessible
+ depuis le web, de façon à ce que les clients ne puissent pas le
+ télécharger. Par exemple, si vos documents sont servis à partir de
+ <code>/usr/local/apache/htdocs</code>, vous pouvez enregistrer le
+ fichier des mots de passe dans
+ <code>/usr/local/apache/passwd</code>.</p>
+
+ <p>L'utilitaire <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> fourni avec Apache
+ permet de créer ce fichier. Vous le trouverez dans le répertoire
+ <code>bin</code> de votre installation d'Apache. Si vous avez
+ installé Apache à partir d'un paquetage tiers, il sera probablement
+ dans le chemin par défaut de vos exécutables.</p>
+
+ <p>Pour créer le fichier, tapez :</p>
+
+ <div class="example"><p><code>
+ htpasswd -c /usr/local/apache/passwd/passwords rbowen
+ </code></p></div>
+
+ <p><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> vous demandera d'entrer le mot de
+ passe, et de le retaper pour confirmation :</p>
+
+ <div class="example"><p><code>
+ # htpasswd -c /usr/local/apache/passwd/passwords rbowen<br />
+ New password: mot-de-passe<br />
+ Re-type new password: mot-de-passe<br />
+ Adding password for user rbowen
+ </code></p></div>
+
+ <p>Si <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> n'est pas dans le chemin par
+ défaut de vos exécutables, vous devrez bien entendu entrer le chemin
+ complet du fichier. Dans le cas d'une installation par défaut, il se
+ trouve à <code>/usr/local/apache2/bin/htpasswd</code>.</p>
+
+ <p>Ensuite, vous allez devoir configurer le serveur de façon à ce
+ qu'il demande un mot de passe et lui préciser quels utilisateurs disposent
+ de droits d'accès. Pour ce faire, vous pouvez soit éditer le
+ fichier <code>httpd.conf</code>, soit utiliser un fichier
+ <code>.htaccess</code>. Par exemple, si vous voulez protéger le
+ répertoire <code>/usr/local/apache/htdocs/secret</code>, vous pouvez
+ utiliser les directives suivantes, soit dans le fichier
+ <code>/usr/local/apache/htdocs/secret/.htaccess</code>, soit dans le
+ fichier <code>httpd.conf</code> à l'intérieur d'une section &lt;Directory
+ /usr/local/apache/apache/htdocs/secret&gt; :</p>
+
+ <div class="example"><p><code>
+ AuthType Basic<br />
+ AuthName "Fichiers réservés"<br />
+ # (La ligne suivante est facultative)<br />
+ AuthBasicProvider file<br />
+ AuthUserFile /usr/local/apache/passwd/passwords<br />
+ Require user rbowen
+ </code></p></div>
+
+ <p>Examinons ces directives une à une. La directive <code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code> définit la méthode
+ utilisée pour authentifier l'utilisateur. La méthode la plus
+ courante est <code>Basic</code>, et elle est implémentée par
+ <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>. Il faut cependant garder à l'esprit
+ que l'authentification Basic transmet le mot de passe en clair depuis le
+ client vers le serveur. Cette méthode ne devra donc pas
+ être utilisée pour la transmission de données hautement sensibles si
+ elle n'est pas associée au module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. Apache
+ supporte une autre méthode d'authentification : <code>AuthType
+ Digest</code>. Cette méthode est implémentée par le module <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> et est beaucoup plus sécurisée. La plupart
+ des navigateurs récents supportent l'authentification Digest.</p>
+
+ <p>La directive <code class="directive"><a href="../mod/core.html#authname">AuthName</a></code> définit
+ l'<dfn>Identificateur</dfn> (Realm) à utiliser avec
+ l'authentification. L'identificateur possède deux fonctions. Tout
+ d'abord, le client présente en général cette information à
+ l'utilisateur dans le cadre de la boîte de dialogue de mot de passe.
+ Ensuite, le client l'utilise pour déterminer quel mot de passe
+ envoyer pour une zone authentifiée donnée.</p>
+
+ <p>Ainsi par exemple, une fois un client authentifié dans la zone
+ <code>"Fichiers réservés"</code>, il soumettra à nouveau
+ automatiquement le même mot de passe pour toute zone du même serveur
+ marquée de l'identificateur <code>"Fichiers réservés"</code>. De
+ cette façon, vous pouvez éviter à un utilisateur d'avoir à saisir
+ plusieurs fois le même mot de passe en faisant partager le même
+ identificateur entre plusieurs zones réservées. Bien entendu et pour
+ des raisons de sécurité, le client devra redemander le mot
+ de passe chaque fois que le nom d'hôte du serveur sera modifié.</p>
+
+ <p>La directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> est, dans ce
+ cas, facultative, car <code>file</code> est la valeur par défaut
+ pour cette directive. Par contre, cette directive sera obligatoire
+ si vous utilisez une autre source d'authentification comme
+ <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ou
+ <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
+
+ <p>La directive <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> définit le chemin
+ du fichier de mots de passe que nous venons de créer avec
+ <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code>. Si vous possédez un grand nombre
+ d'utilisateurs, la durée de la recherche dans un fichier texte pour
+ authentifier un utilisateur à chaque requête va augmenter
+ rapidement, et pour pallier cet inconvénient, Apache peut aussi
+ stocker les données relatives aux
+ utilisateurs dans des bases de données rapides. Le module
+ <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> fournit la directive <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>. Le programme <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> permet de créer et manipuler ces fichiers. Vous
+ trouverez de nombreuses options d'autres types d'authentification
+ fournies par des modules tiers dans la <a href="http://modules.apache.org/">Base de données des modules
+ d'Apache</a>.</p>
+
+ <p>Enfin, la directive <code class="directive"><a href="../mod/core.html#require">Require</a></code>
+ implémente la partie
+ autorisation du processus en définissant l'utilisateur autorisé à
+ accéder à cette zone du serveur. Dans la section suivante, nous
+ décrirons les différentes méthodes d'utilisation de la directive
+ <code class="directive"><a href="../mod/core.html#require">Require</a></code> directive.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="satisfy" id="satisfy">Satisfy</a></h2>
+
+<p>La directive <code class="directive"><a href="../mod/core.html#satisfy">Satisfy</a></code> permet de
+spécifier que plusieurs critères peuvent être considérés pour décider si
+l'on peut accorder l'accès à un utilisateur particulier. Satisfy accepte
+comme argument une des deux options - <code>all</code> ou
+<code>any</code>. La valeur par défaut est <code>all</code>, ce qui
+signifie que dans le cas où plusieurs critères sont spécifiés,
+l'ensemble de ces derniers doit être satisfait pour que l'accès soit
+accordé. Par contre, si la valeur est <code>any</code>, si plusieurs
+critères sont spécifiés et si l'utilisateur satisfait à au moins un
+d'entre eux, l'accès lui sera accordé.</p>
+
+<p>Un exemple d'utilisation de cette directive est un contrôle d'accès
+afin de s'assurer que, bien qu'une ressource soit protégée par mot de
+passe depuis l'extérieur de votre réseau, tous les hôtes de votre réseau
+pourront y accéder sans authentification. Voici comment y parvenir en
+utilisant la directive Satisfy :</p>
+
+<div class="example"><p><code>
+&lt;Directory /usr/local/apache/htdocs/sekrit&gt;<br />
+ AuthType Basic<br />
+ AuthName intranet<br />
+ AuthUserFile /www/passwd/users<br />
+ AuthGroupFile /www/passwd/groups<br />
+ Require group customers<br />
+ Order allow,deny<br />
+ Allow from internal.com<br />
+ Satisfy any<br />
+&lt;/Directory&gt;
+</code></p></div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Autorisation d'accès à
+plusieurs personnes</a></h2>
+ <p>Les directives ci-dessus n'autorisent qu'une personne (quelqu'un
+ possédant le nom d'utilisateur <code>rbowen</code>) à accéder au
+ répertoire. Dans la plupart des cas, vous devrez autoriser
+ l'accès à plusieurs personnes. C'est ici
+ qu'intervient la directive <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>.</p>
+
+ <p>Si vous voulez autoriser l'accès à plusieurs personnes, vous
+ devez créer un fichier de groupes qui associe des noms de groupes
+ avec une liste d'utilisateurs de ce groupe. Le format de ce fichier
+ est très simple, et vous pouvez le créer avec votre éditeur de texte favori.
+ Son contenu se présente comme suit :</p>
+
+ <div class="example"><p><code>
+ Nom-de-groupe: rbowen dpitts sungo rshersey
+ </code></p></div>
+
+ <p>Il s'agit simplement d'une liste des membres du groupe sous la
+ forme d'une ligne séparée par des espaces.</p>
+
+ <p>Pour ajouter un utilisateur à votre fichier de mots de passe
+ préexistant, entrez :</p>
+
+ <div class="example"><p><code>
+ htpasswd /usr/local/apache/passwd/passwords dpitts
+ </code></p></div>
+
+ <p>Vous obtiendrez le même effet qu'auparavant, mais le mot de passe
+ sera ajouté au fichier, plutôt que d'en créer un nouveau (C'est le
+ drapeau <code>-c</code> qui permet de créer un nouveau fichier de
+ mots de passe)..</p>
+
+ <p>Maintenant, vous devez modifier votre fichier
+ <code>.htaccess</code> comme suit :</p>
+
+ <div class="example"><p><code>
+ AuthType Basic<br />
+ AuthName "By Invitation Only"<br />
+ # Ligne facultative :<br />
+ AuthBasicProvider file<br />
+ AuthUserFile /usr/local/apache/passwd/passwords<br />
+ AuthGroupFile /usr/local/apache/passwd/groups<br />
+ Require group Nom-de-groupe
+ </code></p></div>
+
+ <p>Maintenant, quiconque appartient au groupe
+ <code>Nom-de-groupe</code>, et possède une entrée dans le fichier
+ <code>password</code> pourra accéder au répertoire s'il tape le bon
+ mot de passe.</p>
+
+ <p>Il existe une autre méthode moins contraignante pour autoriser
+ l'accès à plusieurs personnes. Plutôt que de créer un fichier de
+ groupes, il vous suffit d'ajouter la directive suivante :</p>
+
+ <div class="example"><p><code>
+ Require valid-user
+ </code></p></div>
+
+ <p>Le remplacement de la ligne <code>Require user rbowen</code> par
+ la ligne <code>Require valid-user</code> autorisera l'accès à
+ quiconque possédant une entrée dans le fichier password, et ayant
+ tapé le bon mot de passe. Vous pouvez même simuler le comportement
+ des groupes en associant un fichier de mots de passe différent pour
+ chaque groupe. L'avantage de cette approche réside dans le fait
+ qu'Apache ne doit consulter qu'un fichier au lieu de deux. Par
+ contre, vous devez maintenir un nombre plus ou moins important de
+ fichiers de mots de passe, et vous assurer de faire référence au bon
+ fichier dans la directive <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="possibleproblems" id="possibleproblems">Problèmes possibles</a></h2>
+ <p>L'authentification Basic est spécifiée d'une telle manière que
+ vos nom d'utilisateur et mot de passe doivent être vérifiés chaque
+ fois que vous demandez un document au serveur, et ceci même si vous
+ rechargez la même page, et pour chaque image contenue dans la page
+ (si elles sont situées dans un répertoire protégé). Comme vous
+ pouvez l'imaginer, ceci ralentit un peu le fonctionnement. La mesure
+ dans laquelle le fonctionnement est ralenti est proportionnelle à la
+ taille du fichier des mots de passe, car ce dernier doit être ouvert
+ et la liste des utilisateurs parcourue jusqu'à ce que votre nom soit
+ trouvé, et ceci chaque fois qu'une page est chargée.</p>
+
+ <p>En conséquence, ce ralentissement impose une limite pratique au
+ nombre d'utilisateurs que vous pouvez enregistrer dans un fichier de
+ mots de passe. Cette limite va varier en fonction des performances
+ de votre serveur, mais vous commencerez à remarquer un
+ ralentissement lorsque vous atteindrez quelques centaines
+ d'utilisateurs, et serez alors appelé à utiliser une méthode
+ d'authentification différente.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dbmdbd" id="dbmdbd">Autre méthode de stockage des mots de
+passe</a></h2>
+
+ <p>Suite au problème évoqué précédemment et induit par le stockage
+ des mots de passe dans un fichier texte, vous pouvez être appelé à
+ stocker vos mots de passe d'une autre manière, par exemple dans une
+ base de données.</p>
+
+ <p>Pour y parvenir, on peut utiliser les modules
+ <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ou <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.
+ Vous pouvez choisir comme format de stockage <code>dbm</code> ou
+ <code>dbd</code> à la place de <code>file</code> pour la directive
+ <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>.</p>
+
+ <p>Par exemple, pour sélectionner un fichier dbm à la place d'un
+ fichier texte :</p>
+
+ <div class="example"><p><code>
+ &lt;Directory /www/docs/private&gt;<br />
+ AuthName "Private"<br />
+ AuthType Basic<br />
+ AuthBasicProvider dbm<br />
+ AuthDBMUserFile /www/passwords/passwd.dbm<br />
+ Require valid-user<br />
+ &lt;/Directory&gt;
+ </code></p></div>
+
+ <p>D'autres options sont disponibles. Consultez la documentation de
+ <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> pour plus de détails.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="moreinformation" id="moreinformation">Pour aller plus loin . . .</a></h2>
+ <p>Vous pouvez aussi lire la documentation de
+ <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> et <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>
+ qui contient des informations supplémentaires à propos du
+ fonctionnement de tout ceci.
+ Certaines configurations d'authentification peuvent aussi être
+ simplifiées à l'aide du module <code class="module"><a href="../mod/mod_authn_alias.html">mod_authn_alias</a></code>.</p>
+
+ <p>Les différents algorithmes de chiffrement supportés par Apache
+ pour authentifier les données sont expliqués dans <a href="../misc/password_encryptions.html">PasswordEncryptions</a>.</p>
+
+ <p>Enfin vous pouvez consulter la recette <a href="access.html">Access
+ Control</a>, qui décrit un certain nombre de situations en relation
+ avec le sujet.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/auth.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/auth.html.ja.utf8 b/docs/manual/howto/auth.html.ja.utf8
index a5d9b01f..f019f29d 100644
--- a/docs/manual/howto/auth.html.ja.utf8
+++ b/docs/manual/howto/auth.html.ja.utf8
@@ -19,6 +19,7 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP サーãƒ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="../">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.2</a> &gt; <a href="./">How-To / ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«</a></div><div id="page-content"><div id="preamble"><h1>èªè¨¼ã€æ‰¿èªã€ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/auth.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
@@ -379,10 +380,11 @@
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/auth.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/auth.html.ko.euc-kr b/docs/manual/howto/auth.html.ko.euc-kr
index a6300774..c6e7d26a 100644
--- a/docs/manual/howto/auth.html.ko.euc-kr
+++ b/docs/manual/howto/auth.html.ko.euc-kr
@@ -21,6 +21,7 @@
Á¢±ÙÁ¦¾î(Access Control)</h1>
<div class="toplang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/auth.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/howto/auth.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
@@ -316,10 +317,11 @@
</div></div>
<div class="bottomlang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/auth.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/howto/auth.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/auth.html.tr.utf8 b/docs/manual/howto/auth.html.tr.utf8
index 9ca9b1d8..6851e250 100644
--- a/docs/manual/howto/auth.html.tr.utf8
+++ b/docs/manual/howto/auth.html.tr.utf8
@@ -19,6 +19,7 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.2</a> &gt; <a href="./">Nasıllar ve Öğreticiler</a></div><div id="page-content"><div id="preamble"><h1>Kimlik Doğrulama, Yetkilendirme ve Erişim Denetimi</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/howto/auth.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
@@ -32,6 +33,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#introduction">GiriÅŸ</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">Ön gereksinimler</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">Çalışmaya Başlama</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Olası Sorunlar</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#dbmdbd">Diğer parola depolama yöntemleri</a></li>
@@ -77,7 +79,7 @@
<p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> modülü kimlik doğrulama ve
yetkilendirme işlemlerinin ikisini birden gerçekleştirir.
- <code class="module"><a href="../mod/mod_authn_alias.html">mod_authn_alias</a></code> modülü bir kimlik doğrulama
+ <code class="module"><a href="../mod/mod_authn_alias.html">mod_authn_alias</a></code> modülü bir kimlik doğrulama
tedarikçisi olmadığı halde diğer kimlik doğrulama tedarikçilerinin
yapılandırılabilmesini mümkün kılmak gibi bir esnekliğe sahiptir.</p>
@@ -258,6 +260,36 @@
çeşitli yoları üzerinde duracağız.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
+<h2><a name="satisfy" id="satisfy">Satisfy</a></h2>
+
+ <p><code class="directive"><a href="../mod/core.html#satisfy">Satisfy</a></code> yönergesi belli bir
+ kullanıcıya giriş hakkı tanınırken çeşitli kriterlerin belirtilebilmesine
+ olanak tanır. Yönerge değiştirge olarak <code>all</code> ve <code>any</code>
+ seçeneklerinden birini kabul eder. Öntanımlı olarak değerin <code>all</code>
+ olduğu varsayılır. Yani, çeşitli kriterler belirtilmişse kullanıcının tüm
+ bunları karşılaması gerekir. <code>any</code> belirtilmesi halinde ise,
+ kullanıcının bu kriterlerden herhangi birini karşılaması yeterlidir.</p>
+
+ <p>Ağ dışından erişimler parola korumalı iken içerden gelen isteklere kimlik
+ denetiminin yapılmadığı durum için erişim denetiminin kullanımı iyi bir
+ örnektir. Bu, <code class="directive"><a href="../mod/core.html#satisfy">Satisfy</a></code> yönergesi
+ kullanılarak şöyle yapılabilir:</p>
+
+ <div class="example"><p><code>
+ &lt;Directory /usr/local/apache/htdocs/sekrit&gt;<br />
+ AuthType Basic<br />
+ AuthName intranet<br />
+ AuthUserFile /www/passwd/users<br />
+ AuthGroupFile /www/passwd/groups<br />
+ Require group customers<br />
+ Order allow,deny<br />
+ Allow from internal.com<br />
+ Satisfy any<br />
+ &lt;/Directory&gt;
+ </code></p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
<h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></h2>
<p>Yukarıdaki yönergelerle bir dizinde sadece bir kişiye
@@ -388,10 +420,11 @@
</div></div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/howto/auth.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/cgi.html.en b/docs/manual/howto/cgi.html.en
index 3163644e..b801e367 100644
--- a/docs/manual/howto/cgi.html.en
+++ b/docs/manual/howto/cgi.html.en
@@ -334,6 +334,15 @@
<p>In addition, if your CGI program depends on other <a href="#env">environment variables</a>, you will need to
assure that those variables are passed by Apache.</p>
+ <div class="warning">
+ When editing CGI scripts on Windows, end-of-line characters may be
+ appended to the interpreter path. Ensure that files are then
+ transferred to the server in ASCII mode. Failure to do so may
+ result in "Command not found" warnings from the OS, due to the
+ unrecognized end-of-line character being interpreted as a part of
+ the interpreter filename.
+ </div>
+
<h3><a name="syntaxerrors" id="syntaxerrors">Program errors</a></h3>
@@ -429,8 +438,9 @@
<p>These variables are available to the CGI programmer, and
are half of the story of the client-server communication. The
- complete list of required variables is at
- <a href="http://hoohoo.ncsa.uiuc.edu/cgi/env.html">http://hoohoo.ncsa.uiuc.edu/cgi/env.html</a>.</p>
+ complete list of required variables is at
+ <a href="http://www.ietf.org/rfc/rfc3875">Common Gateway
+ Interface RFC</a>.</p>
<p>This simple Perl CGI program will display all of the
environment variables that are being passed around. Two
@@ -519,19 +529,14 @@
<h2><a name="moreinfo" id="moreinfo">For more information</a></h2>
- <p>There are a large number of CGI resources on the web. You
- can discuss CGI problems with other users on the Usenet group
- <a href="news:comp.infosystems.www.authoring.cgi">comp.infosystems.www.authoring.cgi</a>. And the -servers mailing
- list from the HTML Writers Guild is a great source of answers
- to your questions. You can find out more at
+ <p>There are a large number of CGI resources on the web.
+ The list from the HTML Writers Guild is a great source of answers
+ to your questions. You can find out more at
<a href="http://www.hwg.org/lists/hwg-servers/">http://www.hwg.org/lists/hwg-servers/</a>.</p>
- <p>And, of course, you should probably read the CGI
- specification, which has all the details on the operation of
- CGI programs. You can find the original version at the
- <a href="http://hoohoo.ncsa.uiuc.edu/cgi/interface.html">NCSA</a> and there is an updated draft at the
- <a href="http://www.w3.org/CGI/">Common Gateway
- Interface RFC project</a>.</p>
+ <p>The current CGI specification is available in the
+ <a href="http://www.ietf.org/rfc/rfc3875">Common Gateway
+ Interface RFC</a>.</p>
<p>When you post a question about a CGI problem that you're
having, whether to a mailing list, or to a newsgroup, make sure
@@ -550,6 +555,6 @@
<a href="../ja/howto/cgi.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/cgi.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/cgi.html.ja.utf8 b/docs/manual/howto/cgi.html.ja.utf8
index 6eaa9d48..696b2bc5 100644
--- a/docs/manual/howto/cgi.html.ja.utf8
+++ b/docs/manual/howto/cgi.html.ja.utf8
@@ -544,6 +544,6 @@
<a href="../ja/howto/cgi.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/cgi.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/cgi.html.ko.euc-kr b/docs/manual/howto/cgi.html.ko.euc-kr
index a5c3efac..927f9f02 100644
--- a/docs/manual/howto/cgi.html.ko.euc-kr
+++ b/docs/manual/howto/cgi.html.ko.euc-kr
@@ -498,6 +498,6 @@
<a href="../ja/howto/cgi.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/cgi.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/htaccess.html b/docs/manual/howto/htaccess.html
index fd70b651..afb2b04f 100644
--- a/docs/manual/howto/htaccess.html
+++ b/docs/manual/howto/htaccess.html
@@ -4,6 +4,10 @@ URI: htaccess.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: htaccess.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: htaccess.html.ja.utf8
Content-Language: ja
Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/howto/htaccess.html.en b/docs/manual/howto/htaccess.html.en
index 95a5fef9..23fab6ce 100644
--- a/docs/manual/howto/htaccess.html.en
+++ b/docs/manual/howto/htaccess.html.en
@@ -19,6 +19,7 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>Apache Tutorial: .htaccess files</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/howto/htaccess.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/htaccess.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a></p>
@@ -39,7 +40,13 @@ changes on a per-directory basis.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="related" id="related">.htaccess files</a></h2>
- <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li><li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li><li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li></ul></td></tr></table>
+
+ <div class="note">You should avoid using <code>.htaccess</code> files completely if you have access to
+ httpd main server config file. Using <code>.htaccess</code> files slows down your Apache server.
+ Any directive that you can include in a <code>.htaccess</code> file is
+ better set in a <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> block,
+ as it will have the same effect with better performance.</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="what" id="what">What they are/How to use them</a></h2>
@@ -120,7 +127,7 @@ changes on a per-directory basis.</p>
<p>However, in general, use of <code>.htaccess</code> files should be
avoided when possible. Any configuration that you would consider
putting in a <code>.htaccess</code> file, can just as effectively be
- made in a <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> section in your main server
+ made in a <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> section in your main server
configuration file.</p>
<p>There are two main reasons to avoid the use of
@@ -376,10 +383,11 @@ Options +IncludesNoExec -ExecCGI<br />
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/howto/htaccess.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/htaccess.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/htaccess.html.fr b/docs/manual/howto/htaccess.html.fr
new file mode 100644
index 00000000..626dd37b
--- /dev/null
+++ b/docs/manual/howto/htaccess.html.fr
@@ -0,0 +1,440 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Tutoriel Apache : fichiers .htaccess - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Recettes / Tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Tutoriel Apache : fichiers .htaccess</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/htaccess.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a></p>
+</div>
+
+<p>Les fichiers <code>.htaccess</code> fournissent une méthode pour
+modifier la configuration du serveur au niveau de chaque répertoire.</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Fichiers .htaccess</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#what">Que sont ce fichiers, comment les utiliser ?</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#when">Quand doit-on (ne doit-on pas) utiliser
+ les fichiers .htaccess ?</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#how">Comment sont appliquées les directives ?</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#auth">Exemple d'authentification</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssi">Exemple d'Inclusion Côté Serveur (Server Side
+Includes - SSI)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cgi">Exemple de CGI</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Résolution des problèmes</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="related" id="related">Fichiers .htaccess</a></h2>
+
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li><li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li></ul></td></tr></table>
+
+ <div class="note">Les fichiers <code>.htaccess</code> ne doivent être utilisés
+ que si vous n'avez pas accès au fichier de configuration du serveur
+ principal. L'utilisation des fichiers <code>.htaccess</code>
+ ralentit le fonctionnement de votre serveur Apache. Il est toujours
+ préférable de définir les directives que vous pouvez inclure dans un
+ fichier <code>.htaccess</code> dans une section <code class="directive"><a href="../mod/core.html#directory">Directory</a></code>, car elles produiront le
+ même effet avec de meilleures performances.</div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="what" id="what">Que sont ce fichiers, comment les utiliser ?</a></h2>
+
+
+ <p>Les fichiers <code>.htaccess</code> (ou "fichiers de
+ configuration distribués) fournissent une méthode pour modifier la
+ configuration du serveur au niveau de chaque répertoire. Un fichier,
+ contenant une ou plusieurs directives de configuration, est placé
+ dans un répertoire de documents particulier, et ses directives
+ s'appliquent à ce répertoire et à tous ses sous-répertoires.</p>
+
+ <div class="note"><h3>Note :</h3>
+ <p>Si vous voulez donner un autre nom à votre fichier
+ <code>.htaccess</code>, vous pouvez le faire en utilisant la
+ directive <code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code>. Par
+ exemple, si vous préférez nommer votre fichier
+ <code>.config</code>, vous pouvez mettre ceci dans le fichier de
+ configuration de votre serveur :</p>
+
+ <div class="example"><p><code>
+ AccessFileName .config
+ </code></p></div>
+ </div>
+
+ <p>En général, les fichiers <code>.htaccess</code> utilisent la même
+ syntaxe que les <a href="../configuring.html#syntax">fichiers de
+ configuration principaux</a>. Ce que vous pouvez mettre dans ces
+ fichier est déterminé par la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Cette directive spécifie,
+ sous forme de catégories, quelles directives seront traitées si
+ elles se trouvent dans un fichier <code>.htaccess</code>. Si une
+ directive est permise dans un fichier <code>.htaccess</code>,
+ la documentation de cette directive contiendra une section Override,
+ spécifiant quelle valeur doit prendre <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> pour que cette directive
+ soit traitée.</p>
+
+ <p>Par exemple, si vous regardez la documentation de la directive
+ <code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code>, vous verrez
+ que cette dernière est permise dans les fichiers
+ <code>.htaccess</code> (Voir la ligne de contexte dans le résumé de
+ la directive). La ligne <a href="../mod/directive-dict.html#Context">Override</a> indique
+ <code>FileInfo</code>. Vous devez donc avoir au moins
+ <code>AllowOverride FileInfo</code> pour que cette directive soit
+ traitée dans les fichiers <code>.htaccess</code>.</p>
+
+ <div class="example"><h3>Exemple :</h3><table>
+ <tr>
+ <td><a href="../mod/directive-dict.html#Context">Contexte :</a></td>
+ <td>configuration du serveur, serveur virtuel, directory, .htaccess</td>
+ </tr>
+
+ <tr>
+ <td><a href="../mod/directive-dict.html#Override">Override:</a></td>
+ <td>FileInfo</td>
+ </tr>
+ </table></div>
+
+ <p>Si vous n'êtes pas sûr qu'une directive particulière soit permise
+ dans un fichier <code>.htaccess</code>, lisez la documentation de
+ cette directive, et consultez la ligne de contexte pour
+ ".htaccess".</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="when" id="when">Quand doit-on (ne doit-on pas) utiliser
+ les fichiers .htaccess ?</a></h2>
+
+ <p>En principe, vous ne devriez utiliser les fichiers
+ <code>.htaccess</code> que si vous n'avez pas accès au fichier de
+ configuration du serveur principal. Par exemple, la fausse idée
+ selon laquelle l'authentification de l'utilisateur devrait toujours
+ être faite dans les fichiers <code>.htaccess</code> est très
+ répandue. Ceci est tout simplement faux. Vous pouvez configurer
+ l'authentification des utilisateurs au niveau de la configuration du
+ serveur principal, et c'est en fait cette méthode qui doit être
+ privilégiée.</p>
+
+ <p>Les fichiers <code>.htaccess</code> ne devraient être utilisés
+ que dans le cas où les fournisseurs de contenu ont besoin de
+ modifier la configuration du serveur au niveau d'un répertoire, mais
+ ne possèdent pas l'accès root sur le système du serveur. Si
+ l'administrateur du serveur ne souhaite pas effectuer des
+ modifications de configuration incessantes, il peut être intéressant
+ de permettre aux utilisateurs isolés d'effectuer eux-mêmes ces
+ modifications par le biais de fichiers <code>.htaccess</code>. Ceci
+ est particulièrement vrai dans le cas où le fournisseur d'accès à
+ Internet héberge de nombreux sites d'utilisateurs sur un seul
+ serveur, et souhaite que ces utilisateurs puissent modifier
+ eux-mêmes leurs configurations.</p>
+
+ <p>Cependant et d'une manière générale, il vaut mieux éviter
+ d'utiliser les fichiers <code>.htaccess</code>. Tout élément de
+ configuration que vous pourriez vouloir mettre dans un fichier
+ <code>.htaccess</code>, peut aussi être mis, et avec la même
+ efficacité, dans une section <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> du fichier de configuration de
+ votre serveur principal.</p>
+
+ <p>Il y a deux raisons principales d'éviter l'utilisation des
+ fichiers <code>.htaccess</code>.</p>
+
+ <p>La première est liée aux performances. Lorsque la directive
+ <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> est définie de
+ façon à autoriser l'utilisation des fichiers <code>.htaccess</code>,
+ Apache va rechercher leur présence dans chaque répertoire. Ainsi,
+ permettre l'utilisation des fichiers <code>.htaccess</code> est déjà
+ en soi une cause de dégradation des performances, que vous utilisiez
+ effectivement ces fichiers ou non ! De plus, le fichier
+ <code>.htaccess</code> est chargé en mémoire chaque fois qu'un
+ document fait l'objet d'une requête.</p>
+
+ <p>Notez aussi qu'Apache doit rechercher les fichiers
+ <code>.htaccess</code> dans tous les répertoires de niveau
+ supérieur, afin de rassembler toutes les directives qui s'appliquent
+ au répertoire courant (Voir la section <a href="#how">comment sont
+ appliquées les directives</a>). Ainsi, si un fichier fait l'objet
+ d'une requête à partir d'un répertoire
+ <code>/www/htdocs/exemple</code>, Apache doit rechercher les
+ fichiers suivants :</p>
+
+ <div class="example"><p><code>
+ /.htaccess<br />
+ /www/.htaccess<br />
+ /www/htdocs/.htaccess<br />
+ /www/htdocs/exemple/.htaccess
+ </code></p></div>
+
+ <p>En conséquence, chaque accès à un fichier de ce répertoire
+ nécessite 4 accès au système de fichiers supplémentaires pour
+ rechercher des fichiers <code>.htaccess</code>, même si
+ aucun de ces fichiers n'est présent. Notez que cet exemple ne peut
+ se produire que si les fichiers <code>.htaccess</code> ont été
+ autorisés pour le répertoire <code>/</code>, ce qui est rarement le
+ cas.</p>
+
+ <p>La seconde raison d'éviter l'utilisation des fichiers
+ <code>.htaccess</code> est liée à la sécurité. Si vous permettez aux
+ utilisateurs de modifier la configuration du serveur, il peut en
+ résulter des conséquences sur lesquelles vous n'aurez aucun
+ contrôle. Réfléchissez bien avant de donner ce privilège à vos
+ utilisateurs. Notez aussi que ne pas donner aux utilisateurs les
+ privilèges dont ils ont besoin va entraîner une augmentation des
+ demandes de support technique. Assurez-vous d'avoir informé
+ clairement vos utilisateurs du niveau de privilèges que vous leur
+ avez attribué. Indiquer exactement comment vous avez défini la
+ directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>, et
+ diriger les utilisateurs vers la documentation correspondante, vous
+ évitera bien des confusions ultérieures.</p>
+
+ <p>Notez que mettre un fichier <code>.htaccess</code> contenant une
+ directive dans un répertoire <code>/www/htdocs/exemple</code>
+ revient exactement au même que mettre la même directive dans une
+ section Directory <code>&lt;Directory /www/htdocs/exemple&gt;</code>
+ du fichier de configuration de votre serveur principal :</p>
+
+ <p>Fichier <code>.htaccess</code> dans
+ <code>/www/htdocs/exemple</code> :</p>
+
+ <div class="example"><h3>Contenu du fichier .htaccess dans
+ <code>/www/htdocs/exemple</code></h3><p><code>
+ AddType text/exemple .exm
+ </code></p></div>
+
+ <div class="example"><h3>Section de votre fichier
+ <code>httpd.conf</code></h3><p><code>
+ &lt;Directory /www/htdocs/exemple&gt;<br />
+ <span class="indent">
+ AddType text/exemple .exm<br />
+ </span>
+ &lt;/Directory&gt;
+ </code></p></div>
+
+ <p>Cependant, la perte de performances sera moindre si vous
+ définissez cette directive dans la configuration de
+ votre serveur principal, car cette dernière ne sera chargée qu'une
+ seule fois au moment du démarrage du serveur, alors qu'elle le sera
+ à chaque accès dans le cas d'un fichier <code>.htaccess</code>.</p>
+
+ <p>L'utilisation des fichiers <code>.htaccess</code> peut être
+ entièrement désactivée en définissant la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> à <code>none</code> :</p>
+
+ <div class="example"><p><code>
+ AllowOverride None
+ </code></p></div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="how" id="how">Comment sont appliquées les directives ?</a></h2>
+
+ <p>Les directives de configuration situées dans un fichier
+ <code>.htaccess</code> s'appliquent au répertoire dans lequel ce
+ fichier <code>.htaccess</code> se trouve, ainsi qu'à tous ses
+ sous-répertoires. Cependant, il est important de garder à l'esprit
+ qu'il peut y avoir des fichiers <code>.htaccess</code> dans les
+ répertoires de niveau supérieur. Les directives sont appliquées
+ selon l'ordre dans lequel elles sont rencontrées. Ainsi, les
+ directives d'un fichier <code>.htaccess</code> situé dans un
+ répertoire particulier peuvent écraser les directives se trouvant
+ dans des fichiers <code>.htaccess</code> situés à un niveau
+ supérieur dans l'arborescence des répertoires. Et ces dernières
+ peuvent elles-mêmes avoir écrasé des directives d'un fichier
+ <code>.htaccess</code> situé à un niveau encore plus haut, ou dans
+ le fichier de configuration du serveur principal.</p>
+
+ <p>Exemple :</p>
+
+ <p>Dans le répertoire <code>/www/htdocs/exemple1</code> se trouve un
+ fichier <code>.htaccess</code> contenant ce qui suit :</p>
+
+ <div class="example"><p><code>
+ Options +ExecCGI
+ </code></p></div>
+
+ <p>Note : "<code>AllowOverride Options</code>" doit être présent
+ pour permettre l'utilisation de la directive "<code class="directive"><a href="../mod/core.html#options">Options</a></code>" dans les fichiers
+ <code>.htaccess</code> files.</p>
+
+ <p>Dans le répertoire <code>/www/htdocs/exemple1/exemple2</code> se
+ trouve un fichier <code>.htaccess</code> contenant ce qui suit
+ :</p>
+
+ <div class="example"><p><code>
+ Options Includes
+ </code></p></div>
+
+ <p>Ainsi, à cause de ce second fichier <code>.htaccess</code> du
+ répertoire <code>/www/htdocs/exemple1/exemple2</code>, l'exécution
+ des CGI est interdite, car la dernière définition d'options
+ <code>Options Includes</code> écrase toute autre définition
+ d'options d'un fichier <code>.htaccess</code> situé dans un
+ répertoire de niveau supérieur.</p>
+
+ <h3><a name="merge" id="merge">Interactions entre les fichiers .htaccess
+ et les fichiers de configuration du serveur principal</a></h3>
+
+ <p>Comme indiqué dans la documentation sur les <a href="../sections.html">Sections de configuration</a>, les fichiers
+ <code>.htaccess</code> peuvent écraser les directives des sections
+ <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> pour
+ le répertoire correspondant, mais peuvent eux-mêmes être écrasés
+ par d'autres types de sections des fichiers de la
+ configuration principale. Cette possibilité peut s'avérer utile pour
+ forcer certaines configurations, même en cas de présence de l'option
+ libérale <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Par
+ exemple, pour interdire l'exécution de scripts en autorisant la
+ définition de toute autre option dans les fichiers
+ <code>.htaccess</code>, vous pouvez utiliser :</p>
+
+ <div class="example"><p><code>
+&lt;Directory /&gt;<br />
+<span class="indent">
+Allowoverride All<br />
+</span>
+&lt;/Directory&gt;<br />
+<br />
+&lt;Location /&gt;<br />
+<span class="indent">
+Options +IncludesNoExec -ExecCGI<br />
+</span>
+&lt;/Location&gt;
+ </code></p></div>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="auth" id="auth">Exemple d'authentification</a></h2>
+
+ <p>Si vous accédez directement à ce point du document pour apprendre
+ à effectuer une authentification, il est important de noter ceci. Il
+ existe une fausse idée selon laquelle il serait nécessaire
+ d'utiliser les fichiers <code>.htaccess</code> pour implémenter
+ l'authentification par mot de passe. Ceci est tout simplement faux.
+ Pour y parvenir, il est préférable de mettre les directives
+ d'authentification dans une section <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> du fichier de configuration de
+ votre serveur principal, et les fichiers <code>.htaccess</code> ne
+ devraient être utilisés que dans le cas où vous n'avez pas accès au
+ fichier de configuration du serveur principal. Voir <a href="#when">ci-dessus</a> pour savoir dans quels cas vous devez ou
+ ne devez pas utiliser les fichiers <code>.htaccess</code>.</p>
+
+ <p>Ceci étant dit, si vous pensez que vous devez quand-même utiliser
+ un fichier <code>.htaccess</code>, vous pouvez utiliser la
+ configuration suivante :</p>
+
+ <p>Contenu du fichier <code>.htaccess</code> :</p>
+
+ <div class="example"><p><code>
+ AuthType Basic<br />
+ AuthName "Password Required"<br />
+ AuthUserFile /www/passwords/password.file<br />
+ AuthGroupFile /www/passwords/group.file<br />
+ Require Group admins
+ </code></p></div>
+
+ <p>Notez que <code>AllowOverride AuthConfig</code> doit être présent
+ pour que ces directives produisent leur effet.</p>
+
+ <p>Vous pouvez vous référer au <a href="auth.html">tutoriel sur
+ l'authentification</a> pour une description plus détaillée de
+ l'authentification et de l'autorisation.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="ssi" id="ssi">Exemple d'Inclusion Côté Serveur (Server Side
+Includes - SSI)</a></h2>
+
+ <p>Les fichiers <code>.htaccess</code> sont aussi couramment
+ utilisés pour activer les SSI pour un répertoire particulier. Pour y
+ parvenir, on utilise les directives de configuration suivantes,
+ placées dans un fichier <code>.htaccess</code> enregistré dans le
+ répertoire considéré :</p>
+
+ <div class="example"><p><code>
+ Options +Includes<br />
+ AddType text/html shtml<br />
+ AddHandler server-parsed shtml
+ </code></p></div>
+
+ <p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
+ FileInfo</code> doivent être tous les deux présents pour que ces
+ directives puissent produire leur effet.</p>
+
+ <p>Vous pouvez vous référer au <a href="ssi.html">tutoriel SSI</a>
+ pour une description plus détaillée des SSI.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="cgi" id="cgi">Exemple de CGI</a></h2>
+
+ <p>En fin de compte, vous avez décidé d'utiliser un fichier
+ <code>.htaccess</code> pour permettre l'exécution des programmes CGI
+ dans un répertoire particulier. Pour y parvenir, vous pouvez
+ utiliser la configuration suivante :</p>
+
+ <div class="example"><p><code>
+ Options +ExecCGI<br />
+ AddHandler cgi-script cgi pl
+ </code></p></div>
+
+ <p>Alternativement, si vous souhaitez que tous les fichiers d'un
+ répertoire donné soient considérés comme des programmes CGI, vous
+ pouvez utiliser la configuration suivante :</p>
+
+ <div class="example"><p><code>
+ Options +ExecCGI<br />
+ SetHandler cgi-script
+ </code></p></div>
+
+ <p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
+ FileInfo</code> doivent être tous les deux présents pour que ces
+ directives puissent produire leur effet.</p>
+
+ <p>Vous pouvez vous référer au <a href="cgi.html">tutoriel CGI</a>
+ pour une description plus détaillée de la configuration et de la
+ proprammation CGI.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="troubleshoot" id="troubleshoot">Résolution des problèmes</a></h2>
+
+ <p>De nombreuses raisons peuvent être à l'origine du fait que
+ les directives que vous avez mises dans un fichier
+ <code>.htaccess</code> ne produisent pas l'effet désiré.</p>
+
+ <p>Le plus souvent, le problème vient du fait que la définition de
+ la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>
+ ne permet pas l'activation des directives de votre fichier
+ <code>.htaccess</code>. Vérifiez si une directive
+ <code>AllowOverride None</code> n'affecte pas le répertoire où se
+ trouve votre fichier. Un bon test consiste à mettre des directives
+ dont la syntaxe est erronée dans votre ficher <code>.htaccess</code>
+ et de redémarrer le serveur. Si aucune erreur n'est générée par le
+ serveur, il est pratiquement certain qu'une directive
+ <code>AllowOverride None</code> affecte votre répertoire.</p>
+
+ <p>Par contre, si vous obtenez des erreurs de serveur lorsque vous
+ tentez d'accéder à des documents, consultez votre journal des
+ erreurs d'Apache. Il vous indiquera probablement que la directive
+ utilisée dans votre fichier <code>.htaccess</code> n'est pas
+ permise. Il peut aussi vous indiquer une erreur de syntaxe qu'il
+ vous appartiendra de corriger.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/htaccess.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/htaccess.html.ja.utf8 b/docs/manual/howto/htaccess.html.ja.utf8
index 42312fab..300a191c 100644
--- a/docs/manual/howto/htaccess.html.ja.utf8
+++ b/docs/manual/howto/htaccess.html.ja.utf8
@@ -19,10 +19,13 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP サーãƒ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="../">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.2</a> &gt; <a href="./">How-To / ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«</a></div><div id="page-content"><div id="preamble"><h1>Apache ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«: .htaccess ファイル</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/htaccess.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/htaccess.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a></p>
</div>
+<div class="outofdate">This translation may be out of date. Check the
+ English version for recent changes.</div>
<p><code>.htaccess</code> ファイルã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ¯Žã«è¨­å®šã‚’変更ã™ã‚‹æ–¹æ³•ã‚’
æä¾›ã—ã¾ã™ã€‚</p>
@@ -374,10 +377,11 @@ Options +IncludesNoExec -ExecCGI<br />
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/htaccess.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/htaccess.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/htaccess.html.ko.euc-kr b/docs/manual/howto/htaccess.html.ko.euc-kr
index 951e49bf..a955e08b 100644
--- a/docs/manual/howto/htaccess.html.ko.euc-kr
+++ b/docs/manual/howto/htaccess.html.ko.euc-kr
@@ -19,6 +19,7 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>¾ÆÆÄÄ¡ ÅõÅ丮¾ó: .htaccess ÆÄÀÏ</h1>
<div class="toplang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/htaccess.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/htaccess.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Portugu&#234;s (Brasil)">&nbsp;pt-br&nbsp;</a></p>
@@ -324,10 +325,11 @@
</div></div>
<div class="bottomlang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/htaccess.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/htaccess.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Portugu&#234;s (Brasil)">&nbsp;pt-br&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/htaccess.html.pt-br b/docs/manual/howto/htaccess.html.pt-br
index 67f4cb78..aef9a808 100644
--- a/docs/manual/howto/htaccess.html.pt-br
+++ b/docs/manual/howto/htaccess.html.pt-br
@@ -19,6 +19,7 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Servidor HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentação</a> &gt; <a href="../">Versão 2.2</a> &gt; <a href="./">How-To / Tutoriais</a></div><div id="page-content"><div id="preamble"><h1>Tutorial do Apache: arquivos .htaccess</h1>
<div class="toplang">
<p><span>Línguas Disponíveis: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/htaccess.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../pt-br/howto/htaccess.html" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a></p>
@@ -368,10 +369,11 @@
</div></div>
<div class="bottomlang">
<p><span>Línguas Disponíveis: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/howto/htaccess.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../pt-br/howto/htaccess.html" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licenciado sob a <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licenciado sob a <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Diretrizes</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossário</a> | <a href="../sitemap.html">Mapa do site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/index.html b/docs/manual/howto/index.html
index 4f3357b3..94265028 100644
--- a/docs/manual/howto/index.html
+++ b/docs/manual/howto/index.html
@@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8
URI: index.html.ko.euc-kr
Content-Language: ko
Content-type: text/html; charset=EUC-KR
+
+URI: index.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/howto/index.html.en b/docs/manual/howto/index.html.en
index c1beb806..fec37bce 100644
--- a/docs/manual/howto/index.html.en
+++ b/docs/manual/howto/index.html.en
@@ -20,7 +20,8 @@
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/howto/" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/howto/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
-<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../zh-cn/howto/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -110,8 +111,9 @@
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/howto/" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/howto/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
-<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../zh-cn/howto/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/index.html.ja.utf8 b/docs/manual/howto/index.html.ja.utf8
index 833c2c8f..e0edf5d1 100644
--- a/docs/manual/howto/index.html.ja.utf8
+++ b/docs/manual/howto/index.html.ja.utf8
@@ -20,7 +20,8 @@
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/howto/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/howto/" title="Japanese">&nbsp;ja&nbsp;</a> |
-<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../zh-cn/howto/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -106,8 +107,9 @@
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/howto/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/howto/" title="Japanese">&nbsp;ja&nbsp;</a> |
-<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../zh-cn/howto/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/index.html.ko.euc-kr b/docs/manual/howto/index.html.ko.euc-kr
index 3342f1db..eac53c53 100644
--- a/docs/manual/howto/index.html.ko.euc-kr
+++ b/docs/manual/howto/index.html.ko.euc-kr
@@ -20,7 +20,8 @@
<div class="toplang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/howto/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/howto/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
-<a href="../ko/howto/" title="Korean">&nbsp;ko&nbsp;</a></p>
+<a href="../ko/howto/" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../zh-cn/howto/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
@@ -102,8 +103,9 @@
<div class="bottomlang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/howto/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/howto/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
-<a href="../ko/howto/" title="Korean">&nbsp;ko&nbsp;</a></p>
+<a href="../ko/howto/" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../zh-cn/howto/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/index.html.zh-cn b/docs/manual/howto/index.html.zh-cn
new file mode 100644
index 00000000..eec8e7d9
--- /dev/null
+++ b/docs/manual/howto/index.html.zh-cn
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>常è§æ“作/教程 - Apache HTTP æœåŠ¡å™¨</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page" class="no-sidebar"><div id="page-header">
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.2</a></div><div id="page-content"><div id="preamble"><h1>常è§æ“作/教程</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/howto/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../ja/howto/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../zh-cn/howto/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="howto" id="howto">常è§æ“作/教程</a></h2>
+
+
+
+ <dl>
+ <dt>认è¯ä¸ŽæŽˆæƒ</dt>
+ <dd>
+ <p>认è¯æ˜¯ä½ éªŒè¯æŸäººæ˜¯æ‰€å£°ç§°çš„人。
+ 授æƒæ˜¯å…许æŸäººæ‰§è¡Œä»–想è¦çš„æ“作,或者获得想è¦çš„ä¿¡æ¯ã€‚</p>
+
+ <p>å‚è§: <a href="auth.html">认è¯ï¼ŒæŽˆæƒä¸Žè®¿é—®æŽ§åˆ¶</a></p>
+ </dd>
+ </dl>
+
+ <dl>
+ <dt>访问控制</dt>
+ <dd>
+ <p>访问控制是æ“作é™åˆ¶ï¼Œæˆ–基于任æ„æ¡ä»¶è®¿é—®èµ„æºã€‚è¿™å¯ä»¥é€šè¿‡å¤šç§æ–¹æ³•å®Œæˆã€‚</p>
+
+ <p>å‚è§: <a href="access.html">访问控制</a></p>
+ </dd>
+ </dl>
+
+ <dl>
+ <dt>CGI 与动æ€å†…容</dt>
+ <dd>
+ <p>CGI (通用网管接å£) 为 web æœåŠ¡å™¨å®šä¹‰äº†ä¸Žå¤–部的内容生æˆç¨‹åºçš„æ“作接å£ï¼Œ
+ 通常称为 CGI 程åºæˆ– CGI 脚本。它是在 web 站点放入动æ€å†…容的最简å•ï¼Œ
+ 也最常用的方法。 本文简å•ä»‹ç»äº†åœ¨ Apache æœåŠ¡å™¨ä¸­é…ç½® CGI 的方法,
+ 以åŠå¦‚何编写 CGI 程åºã€‚</p>
+
+ <p>å‚è§: <a href="cgi.html">CGI 与动æ€å†…容</a></p>
+ </dd>
+ </dl>
+
+ <dl>
+ <dt><code>.htaccess</code> 文件</dt>
+ <dd>
+ <p><code>.htaccess</code> files provide a way to make configuration
+ changes on a per-directory basis. A file, containing one or more
+ configuration directives, is placed in a particular document directory,
+ and the directives apply to that directory, and all subdirectories thereof.</p>
+
+ <p>See: <a href="htaccess.html"><code>.htaccess</code> files</a></p>
+ </dd>
+ </dl>
+
+ <dl>
+ <dt>æœåŠ¡å™¨ç«¯æ’入简介</dt>
+ <dd>
+ <p>SSI (æœåŠ¡å™¨ç«¯æ’å…¥) 是在 HTML 页é¢ä¸­æ”¾å…¥çš„指令,在页é¢è¢«è®¿é—®çš„时候执行。
+ 它å…许你在现有的 HTML 页é¢å¢žåŠ åŠ¨æ€ç”Ÿæˆçš„内容,ä¸éœ€è¦é€šè¿‡ CGI
+ 程åºæˆ–其它动æ€è®¡æ•°æ¥ç”Ÿæˆæ•´ä¸ªé¡µé¢ã€‚</p>
+
+ <p>å‚è§: <a href="ssi.html">æœåŠ¡å™¨ç«¯æ’å…¥ (SSI)</a></p>
+ </dd>
+ </dl>
+
+ <dl>
+ <dt>用户ç§äººç½‘站目录</dt>
+ <dd>
+ <p>在有多个用户的系统中,使用 <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> 指令,å¯ä»¥å…许æ¯ä¸ªç”¨æˆ·åœ¨ä»–们的根目录中都有一个
+ web 站点。 访问 URL <code>http://example.com/~username/</code> 会得到ä½äºŽç”¨æˆ·
+ "<code>username</code>" 根目录中由 <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> 指定的å­ç›®å½•ä¸­çš„内容。</p>
+
+ <p>å‚è§: <a href="public_html.html">用户ç§äººç½‘站目录 (<code>public_html</code>)</a></p>
+ </dd>
+ </dl>
+
+ </div></div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/howto/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../ja/howto/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../zh-cn/howto/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/public_html.html.en b/docs/manual/howto/public_html.html.en
index 54a42ec8..7af67695 100644
--- a/docs/manual/howto/public_html.html.en
+++ b/docs/manual/howto/public_html.html.en
@@ -184,6 +184,6 @@
<a href="../ko/howto/public_html.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/howto/public_html.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/public_html.html.ja.utf8 b/docs/manual/howto/public_html.html.ja.utf8
index 92219ef0..580a9308 100644
--- a/docs/manual/howto/public_html.html.ja.utf8
+++ b/docs/manual/howto/public_html.html.ja.utf8
@@ -154,6 +154,6 @@
<a href="../ko/howto/public_html.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/howto/public_html.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/public_html.html.ko.euc-kr b/docs/manual/howto/public_html.html.ko.euc-kr
index 9043f3b7..c9ddd969 100644
--- a/docs/manual/howto/public_html.html.ko.euc-kr
+++ b/docs/manual/howto/public_html.html.ko.euc-kr
@@ -155,6 +155,6 @@
<a href="../ko/howto/public_html.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/howto/public_html.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/public_html.html.tr.utf8 b/docs/manual/howto/public_html.html.tr.utf8
index 54fd8be7..17e5992a 100644
--- a/docs/manual/howto/public_html.html.tr.utf8
+++ b/docs/manual/howto/public_html.html.tr.utf8
@@ -188,6 +188,6 @@
<a href="../ko/howto/public_html.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/howto/public_html.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/ssi.html.en b/docs/manual/howto/ssi.html.en
index b71d1fc9..d4f3f14a 100644
--- a/docs/manual/howto/ssi.html.en
+++ b/docs/manual/howto/ssi.html.en
@@ -481,6 +481,6 @@ modified?</a></h3>
<a href="../ja/howto/ssi.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/ssi.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/ssi.html.ja.utf8 b/docs/manual/howto/ssi.html.ja.utf8
index 13eb7952..d029f358 100644
--- a/docs/manual/howto/ssi.html.ja.utf8
+++ b/docs/manual/howto/ssi.html.ja.utf8
@@ -476,6 +476,6 @@
<a href="../ja/howto/ssi.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/ssi.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/ssi.html.ko.euc-kr b/docs/manual/howto/ssi.html.ko.euc-kr
index 52db5297..597a6f86 100644
--- a/docs/manual/howto/ssi.html.ko.euc-kr
+++ b/docs/manual/howto/ssi.html.ko.euc-kr
@@ -421,6 +421,6 @@
<a href="../ja/howto/ssi.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/ssi.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/images/rewrite_rule_flow.png b/docs/manual/images/rewrite_rule_flow.png
new file mode 100644
index 00000000..9c5b08b5
--- /dev/null
+++ b/docs/manual/images/rewrite_rule_flow.png
Binary files differ
diff --git a/docs/manual/images/syntax_rewritecond.png b/docs/manual/images/syntax_rewritecond.png
new file mode 100644
index 00000000..7c463c8a
--- /dev/null
+++ b/docs/manual/images/syntax_rewritecond.png
Binary files differ
diff --git a/docs/manual/images/syntax_rewriterule.png b/docs/manual/images/syntax_rewriterule.png
new file mode 100644
index 00000000..5eb5fb8a
--- /dev/null
+++ b/docs/manual/images/syntax_rewriterule.png
Binary files differ
diff --git a/docs/manual/index.html b/docs/manual/index.html
index 777ed96e..ad4da132 100644
--- a/docs/manual/index.html
+++ b/docs/manual/index.html
@@ -31,3 +31,7 @@ Content-type: text/html; charset=ISO-8859-1
URI: index.html.tr.utf8
Content-Language: tr
Content-type: text/html; charset=UTF-8
+
+URI: index.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/index.html.de b/docs/manual/index.html.de
index 0579dd8b..656be052 100644
--- a/docs/manual/index.html.de
+++ b/docs/manual/index.html.de
@@ -29,11 +29,9 @@
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
-<div class="outofdate">Diese Übersetzung ist möglicherweise
- nicht mehr aktuell. Bitte prüfen Sie die englische Version auf
- die neuesten Änderungen.</div>
<form method="get" action="http://www.google.com/search"><p><input name="as_q" value="" type="text" /> <input value="Google-Suche" type="submit" /><input value="10" name="num" type="hidden" /><input value="de" name="hl" type="hidden" /><input value="ISO-8859-1" name="ie" type="hidden" /><input value="Google Search" name="btnG" type="hidden" /><input name="as_epq" value="Version 2.2" type="hidden" /><input name="as_oq" value="" type="hidden" /><input name="as_eq" value="&quot;List-Post&quot;" type="hidden" /><input value="" name="lr" type="hidden" /><input value="i" name="as_ft" type="hidden" /><input value="" name="as_filetype" type="hidden" /><input value="all" name="as_qdr" type="hidden" /><input value="any" name="as_occt" type="hidden" /><input value="i" name="as_dt" type="hidden" /><input value="httpd.apache.org" name="as_sitesearch" type="hidden" /><input value="off" name="safe" type="hidden" /></p></form>
<table id="indextable"><tr><td class="col1"><div class="category"><h2><a name="release" id="release">Hinweise zur Version</a></h2>
<ul><li><a href="new_features_2_2.html">Neue Funktionen in Version 2.1/2.2</a></li>
@@ -69,7 +67,7 @@
<li><a href="server-wide.html">Serverweite Konfiguration</a></li>
<li><a href="ssl/">SSL/TLS-Verschlüsselung</a></li>
<li><a href="suexec.html">Suexec für CGI</a></li>
-<li><a href="misc/rewriteguide.html">Einführung in die
+<li><a href="rewrite/">Einführung in die
URL-Manipulation</a></li>
<li><a href="vhosts/">Virtual-Hosts</a></li>
</ul>
@@ -88,7 +86,8 @@
<li><a href="platform/ebcdic.html">EBCDIC-Portierung</a></li>
</ul>
</div><div class="category"><h2><a name="other" id="other">Weitere Themen</a></h2>
-<ul><li><a href="faq/">Häufig gestellte Fragen (FAQ)</a></li>
+<ul><li><a href="http://wiki.apache.org/httpd/FAQ">Häufig gestellte Fragen
+ (FAQ)</a></li>
<li><a href="sitemap.html">Seitenindex</a></li>
<li><a href="developer/">Dokumentation für Entwickler</a></li>
<li><a href="misc/">Sonstiges</a></li>
@@ -102,8 +101,9 @@
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Module</a> | <a href="./mod/directives.html">Direktiven</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossar</a> | <a href="./sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/index.html.en b/docs/manual/index.html.en
index c230d8cf..aaafbae3 100644
--- a/docs/manual/index.html.en
+++ b/docs/manual/index.html.en
@@ -29,7 +29,8 @@ Documentation</h1>
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<form method="get" action="http://www.google.com/search"><p><input name="as_q" value="" type="text" /> <input value="Google Search" type="submit" /><input value="10" name="num" type="hidden" /><input value="en" name="hl" type="hidden" /><input value="ISO-8859-1" name="ie" type="hidden" /><input value="Google Search" name="btnG" type="hidden" /><input name="as_epq" value="Version 2.2" type="hidden" /><input name="as_oq" value="" type="hidden" /><input name="as_eq" value="&quot;List-Post&quot;" type="hidden" /><input value="" name="lr" type="hidden" /><input value="i" name="as_ft" type="hidden" /><input value="" name="as_filetype" type="hidden" /><input value="all" name="as_qdr" type="hidden" /><input value="any" name="as_occt" type="hidden" /><input value="i" name="as_dt" type="hidden" /><input value="httpd.apache.org" name="as_sitesearch" type="hidden" /><input value="off" name="safe" type="hidden" /></p></form>
<table id="indextable"><tr><td class="col1"><div class="category"><h2><a name="release" id="release">Release Notes</a></h2>
@@ -84,7 +85,7 @@ Documentation</h1>
<li><a href="platform/ebcdic.html">EBCDIC Port</a></li>
</ul>
</div><div class="category"><h2><a name="other" id="other">Other Topics</a></h2>
-<ul><li><a href="faq/">Frequently Asked Questions</a></li>
+<ul><li><a href="http://wiki.apache.org/httpd/FAQ">Frequently Asked Questions</a></li>
<li><a href="sitemap.html">Sitemap</a></li>
<li><a href="developer/">Documentation for Developers</a></li>
<li><a href="misc/">Other Notes</a></li>
@@ -98,8 +99,9 @@ Documentation</h1>
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/index.html.es b/docs/manual/index.html.es
index 469e1ca9..ea658f6e 100644
--- a/docs/manual/index.html.es
+++ b/docs/manual/index.html.es
@@ -29,7 +29,8 @@ Servidor de HTTP Apache</h1>
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">Esta traducción podría estar
obsoleta. Consulte la versión en inglés de la
@@ -72,7 +73,7 @@ ejecución</a></li>
<li><a href="server-wide.html">Configuración Básica de Apache</a></li>
<li><a href="ssl/">Encriptado SSL/TLS</a></li>
<li><a href="suexec.html">Ejecución de Suexec para CGIs</a></li>
-<li><a href="misc/rewriteguide.html">Documentación adicional
+<li><a href="rewrite/">Documentación adicional
sobre mod_rewrite</a></li>
<li><a href="vhosts/">Hosting Virtual</a></li>
</ul>
@@ -105,8 +106,9 @@ ejecución</a></li>
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/index.html.fr b/docs/manual/index.html.fr
index 1ca82b03..1a591716 100644
--- a/docs/manual/index.html.fr
+++ b/docs/manual/index.html.fr
@@ -29,7 +29,8 @@
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<form method="get" action="http://www.google.com/search"><p><input name="as_q" value="" type="text" /> <input value="Recherche Google" type="submit" /><input value="10" name="num" type="hidden" /><input value="fr" name="hl" type="hidden" /><input value="ISO-8859-1" name="ie" type="hidden" /><input value="Google Search" name="btnG" type="hidden" /><input name="as_epq" value="Version 2.2" type="hidden" /><input name="as_oq" value="" type="hidden" /><input name="as_eq" value="&quot;List-Post&quot;" type="hidden" /><input value="" name="lr" type="hidden" /><input value="i" name="as_ft" type="hidden" /><input value="" name="as_filetype" type="hidden" /><input value="all" name="as_qdr" type="hidden" /><input value="any" name="as_occt" type="hidden" /><input value="i" name="as_dt" type="hidden" /><input value="httpd.apache.org" name="as_sitesearch" type="hidden" /><input value="off" name="safe" type="hidden" /></p></form>
<table id="indextable"><tr><td class="col1"><div class="category"><h2><a name="release" id="release">Notes de version</a></h2>
@@ -82,7 +83,7 @@
<li><a href="platform/ebcdic.html">Portage EBCDIC</a></li>
</ul>
</div><div class="category"><h2><a name="other" id="other">Autres sujets</a></h2>
-<ul><li><a href="faq/">Foire Aux Questions</a></li>
+<ul><li><a href="http://wiki.apache.org/httpd/FAQ">Foire Aux Questions</a></li>
<li><a href="sitemap.html">Plan du site</a></li>
<li><a href="developer/">Documentation du développeur</a></li>
<li><a href="misc/">Autres notes</a></li>
@@ -96,8 +97,9 @@
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/index.html.ja.utf8 b/docs/manual/index.html.ja.utf8
index 6465f2a4..ba17ec0e 100644
--- a/docs/manual/index.html.ja.utf8
+++ b/docs/manual/index.html.ja.utf8
@@ -29,7 +29,8 @@
<a href="./ja/" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">This translation may be out of date. Check the
English version for recent changes.</div>
@@ -68,7 +69,7 @@
<li><a href="server-wide.html">サーãƒå…¨ä½“ã®è¨­å®š</a></li>
<li><a href="ssl/">SSL/TLS ã«ã‚ˆã‚‹æš—å·åŒ–</a></li>
<li><a href="suexec.html">CGI 㮠Suexec 実行</a></li>
-<li><a href="misc/rewriteguide.html">URL Rewriting ã®æ‰‹å¼•ã</a></li>
+<li><a href="rewrite/">URL Rewriting ã®æ‰‹å¼•ã</a></li>
<li><a href="vhosts/">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></li>
</ul>
</div></td><td class="col3"><div class="category"><h2><a name="howto" id="howto">How-To / ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«</a></h2>
@@ -100,8 +101,9 @@
<a href="./ja/" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/index.html.ko.euc-kr b/docs/manual/index.html.ko.euc-kr
index 1d55f174..df186ec8 100644
--- a/docs/manual/index.html.ko.euc-kr
+++ b/docs/manual/index.html.ko.euc-kr
@@ -27,7 +27,8 @@
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Portugu&#234;s (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
@@ -64,7 +65,7 @@
<li><a href="server-wide.html">¼­¹ö Àü¿ª ¼³Á¤</a></li>
<li><a href="ssl/">SSL/TLS ¾Ïȣȭ</a></li>
<li><a href="suexec.html">CGIÀÇ Suexec ½ÇÇà</a></li>
-<li><a href="misc/rewriteguide.html">URL ÀçÀÛ¼º(rewriting) Áöħ¼­</a></li>
+<li><a href="rewrite/">URL ÀçÀÛ¼º(rewriting) Áöħ¼­</a></li>
<li><a href="vhosts/">°¡»óÈ£½ºÆ®</a></li>
</ul>
</div></td><td class="col3"><div class="category"><h2><a name="howto" id="howto">How-To / ÅõÅ丮¾ó</a></h2>
@@ -96,8 +97,9 @@
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Portugu&#234;s (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/index.html.pt-br b/docs/manual/index.html.pt-br
index c7cd2f94..0ac647c8 100644
--- a/docs/manual/index.html.pt-br
+++ b/docs/manual/index.html.pt-br
@@ -29,7 +29,8 @@
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">Esta tradução pode estar desatualizada.
Verifique a versão em Inglês para mudanças recentes.</div>
@@ -67,7 +68,7 @@
<li><a href="server-wide.html">Configurações do Servidor</a></li>
<li><a href="ssl/">Codificação SSL/TLS</a></li>
<li><a href="suexec.html">Execução Suexec para CGI</a></li>
-<li><a href="misc/rewriteguide.html">Guia para Reescrever URL</a></li>
+<li><a href="rewrite/">Guia para Reescrever URL</a></li>
<li><a href="vhosts/">Hospedeiros Virtuais</a></li>
</ul>
</div></td><td class="col3"><div class="category"><h2><a name="howto" id="howto">How-To / Tutoriais</a></h2>
@@ -97,8 +98,9 @@
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licenciado sob a <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licenciado sob a <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Diretrizes</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossário</a> | <a href="./sitemap.html">Mapa do site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/index.html.tr.utf8 b/docs/manual/index.html.tr.utf8
index dd2aa5ad..4ec76c76 100644
--- a/docs/manual/index.html.tr.utf8
+++ b/docs/manual/index.html.tr.utf8
@@ -29,7 +29,8 @@ Belgeleri</h1>
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<form method="get" action="http://www.google.com/search"><p><input name="as_q" value="" type="text" /> <input value="Google’de Ara" type="submit" /><input value="10" name="num" type="hidden" /><input value="tr" name="hl" type="hidden" /><input value="UTF-8" name="ie" type="hidden" /><input value="Google Search" name="btnG" type="hidden" /><input name="as_epq" value="Sürüm 2.2" type="hidden" /><input name="as_oq" value="" type="hidden" /><input name="as_eq" value="&quot;List-Post&quot;" type="hidden" /><input value="" name="lr" type="hidden" /><input value="i" name="as_ft" type="hidden" /><input value="" name="as_filetype" type="hidden" /><input value="all" name="as_qdr" type="hidden" /><input value="any" name="as_occt" type="hidden" /><input value="i" name="as_dt" type="hidden" /><input value="httpd.apache.org" name="as_sitesearch" type="hidden" /><input value="off" name="safe" type="hidden" /></p></form>
<table id="indextable"><tr><td class="col1"><div class="category"><h2><a name="release" id="release">Sürümlerin Dağıtım Bilgileri</a></h2>
@@ -82,7 +83,7 @@ Belgeleri</h1>
<li><a href="platform/ebcdic.html">EBCDIC Port</a></li>
</ul>
</div><div class="category"><h2><a name="other" id="other">DiÄŸer Konular</a></h2>
-<ul><li><a href="faq/">Sıkça Sorulan Sorular</a></li>
+<ul><li><a href="http://wiki.apache.org/httpd/FAQ">Sıkça Sorulan Sorular</a></li>
<li><a href="sitemap.html">Site Haritası</a></li>
<li><a href="developer/">Geliştiriciler için Belgeler</a></li>
<li><a href="misc/">DiÄŸer Bilgiler</a></li>
@@ -96,8 +97,9 @@ Belgeleri</h1>
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
-<a href="./tr/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/index.html.zh-cn b/docs/manual/index.html.zh-cn
new file mode 100644
index 00000000..1115d1a5
--- /dev/null
+++ b/docs/manual/index.html.zh-cn
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache HTTP æœåŠ¡å™¨ 2.2 文档 - Apache HTTP æœåŠ¡å™¨</title>
+<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="./images/favicon.ico" rel="shortcut icon" /></head>
+<body id="index-page">
+<div id="page-header">
+<p class="menu"><a href="./mod/">模å—</a> | <a href="./mod/directives.html">指令</a> | <a href="./faq/">常è§é—®é¢˜</a> | <a href="./glossary.html">术语</a> | <a href="./sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="./images/feather.gif" /></div>
+<div class="up"><a href="http://httpd.apache.org/docs-project/"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a></div>
+<div id="page-content"><h1>Apache HTTP æœåŠ¡å™¨ 2.2 文档</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="./de/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="./en/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./es/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="./fr/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+<form method="get" action="http://www.google.com/search"><p><input name="as_q" value="" type="text" /> <input value="Google æœç´¢" type="submit" /><input value="10" name="num" type="hidden" /><input value="zh-cn" name="hl" type="hidden" /><input value="UTF-8" name="ie" type="hidden" /><input value="Google Search" name="btnG" type="hidden" /><input name="as_epq" value="版本 2.2" type="hidden" /><input name="as_oq" value="" type="hidden" /><input name="as_eq" value="&quot;List-Post&quot;" type="hidden" /><input value="" name="lr" type="hidden" /><input value="i" name="as_ft" type="hidden" /><input value="" name="as_filetype" type="hidden" /><input value="all" name="as_qdr" type="hidden" /><input value="any" name="as_occt" type="hidden" /><input value="i" name="as_dt" type="hidden" /><input value="httpd.apache.org" name="as_sitesearch" type="hidden" /><input value="off" name="safe" type="hidden" /></p></form>
+<table id="indextable"><tr><td class="col1"><div class="category"><h2><a name="release" id="release">å‘行说明</a></h2>
+<ul><li><a href="new_features_2_2.html">Apache 2.1/2.2 的新特性</a></li>
+<li><a href="new_features_2_0.html">Apache 2.0 的新特性</a></li>
+<li><a href="upgrading.html">从 2.0 å‡çº§åˆ° 2.2</a></li>
+<li><a href="license.html">Apache 许å¯è¯</a></li>
+</ul>
+</div><div class="category"><h2><a name="manual" id="manual">å‚考手册</a></h2>
+<ul><li><a href="install.html">编译与安装</a></li>
+<li><a href="invoking.html">å¯åŠ¨</a></li>
+<li><a href="stopping.html">åœæ­¢ä¸Žé‡å¯</a></li>
+<li><a href="mod/directives.html">é…置指令</a></li>
+<li><a href="mod/quickreference.html">指令快速å‚考</a></li>
+<li><a href="mod/">模å—</a></li>
+<li><a href="mpm.html">多处ç†æ¨¡å—(MPM)</a></li>
+<li><a href="filter.html">过滤器</a></li>
+<li><a href="handler.html">处ç†å™¨</a></li>
+<li><a href="programs/">æœåŠ¡å™¨ä¸Žæ”¯æŒç¨‹åº</a></li>
+<li><a href="glossary.html">术语</a></li>
+</ul>
+</div></td><td><div class="category"><h2><a name="usersguide" id="usersguide">用户指å—</a></h2>
+<ul><li><a href="bind.html">绑定指定地å€ä¸Žç«¯å£</a></li>
+<li><a href="configuring.html">é…置文件</a></li>
+<li><a href="sections.html">é…置片段</a></li>
+<li><a href="caching.html">缓存指å—</a></li>
+<li><a href="content-negotiation.html">内容å商</a></li>
+<li><a href="dso.html">动æ€å…±äº«å¯¹è±¡(DSO)</a></li>
+<li><a href="env.html">环境å˜é‡</a></li>
+<li><a href="logs.html">日志文件</a></li>
+<li><a href="urlmapping.html">从 URL 映射到文件系统</a></li>
+<li><a href="misc/perf-tuning.html">性能调è°</a></li>
+<li><a href="misc/security_tips.html">安全技巧</a></li>
+<li><a href="server-wide.html">æœåŠ¡å™¨å…¨å±€é…ç½®</a></li>
+<li><a href="ssl/">SSL/TLS 加密</a></li>
+<li><a href="suexec.html">执行 CGI å‰çš„用户切æ¢(suEXEC)</a></li>
+<li><a href="rewrite/">URL 改写指å—</a></li>
+<li><a href="vhosts/">虚拟主机</a></li>
+</ul>
+</div></td><td class="col3"><div class="category"><h2><a name="howto" id="howto">指引/教程</a></h2>
+<ul><li><a href="howto/auth.html">认è¯ï¼ŒæŽˆæƒä¸Žè®¿é—®æŽ§åˆ¶</a></li>
+<li><a href="howto/cgi.html">CGI 与动æ€å†…容</a></li>
+<li><a href="howto/htaccess.html">.htaccess 文件</a></li>
+<li><a href="howto/ssi.html">æœåŠ¡å™¨ç«¯æ’å…¥(SSI)</a></li>
+<li><a href="howto/public_html.html">用户ç§äººç½‘站目录(public_html)</a></li>
+</ul>
+</div><div class="category"><h2><a name="platform" id="platform">å¹³å°ç›¸å…³è¯´æ˜Ž</a></h2>
+<ul><li><a href="platform/windows.html">Microsoft Windows</a></li>
+<li><a href="platform/netware.html">Novell NetWare</a></li>
+<li><a href="platform/ebcdic.html">EBCDIC 系统</a></li>
+</ul>
+</div><div class="category"><h2><a name="other" id="other">其它主题</a></h2>
+<ul><li><a href="http://wiki.apache.org/httpd/FAQ">常è§é—®é¢˜</a></li>
+<li><a href="sitemap.html">网站导航</a></li>
+<li><a href="developer/">å¼€å‘文档</a></li>
+<li><a href="misc/">其它说明</a></li>
+</ul>
+</div></td></tr></table></div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="./de/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="./en/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./es/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="./fr/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="./ko/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="./mod/">模å—</a> | <a href="./mod/directives.html">指令</a> | <a href="./faq/">常è§é—®é¢˜</a> | <a href="./glossary.html">术语</a> | <a href="./sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/install.html.de b/docs/manual/install.html.de
index 26bf0dde..bc3d52f9 100644
--- a/docs/manual/install.html.de
+++ b/docs/manual/install.html.de
@@ -428,6 +428,6 @@
<a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/install.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Module</a> | <a href="./mod/directives.html">Direktiven</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossar</a> | <a href="./sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/install.html.en b/docs/manual/install.html.en
index 8cd82088..ccee0d08 100644
--- a/docs/manual/install.html.en
+++ b/docs/manual/install.html.en
@@ -421,6 +421,6 @@
<a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/install.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/install.html.es b/docs/manual/install.html.es
index 033232ee..d66b20f5 100644
--- a/docs/manual/install.html.es
+++ b/docs/manual/install.html.es
@@ -435,6 +435,6 @@ prrevia</a></h2>
<a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/install.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/install.html.fr b/docs/manual/install.html.fr
index 33b02cd4..71d7a4c9 100644
--- a/docs/manual/install.html.fr
+++ b/docs/manual/install.html.fr
@@ -446,6 +446,6 @@ $ tar xvf httpd-<em>NN</em>.tar
<a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/install.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/install.html.ja.utf8 b/docs/manual/install.html.ja.utf8
index dcf40107..67f318f7 100644
--- a/docs/manual/install.html.ja.utf8
+++ b/docs/manual/install.html.ja.utf8
@@ -418,6 +418,6 @@
<a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/install.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/install.html.ko.euc-kr b/docs/manual/install.html.ko.euc-kr
index 33ca59c7..3c07f653 100644
--- a/docs/manual/install.html.ko.euc-kr
+++ b/docs/manual/install.html.ko.euc-kr
@@ -357,6 +357,6 @@ $ tar xvf httpd-2_1_<em>NN</em>.tar
<a href="./ko/install.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/install.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/install.html.tr.utf8 b/docs/manual/install.html.tr.utf8
index 96a2f4bf..76705b8b 100644
--- a/docs/manual/install.html.tr.utf8
+++ b/docs/manual/install.html.tr.utf8
@@ -419,6 +419,6 @@
<a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/install.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/invoking.html.de b/docs/manual/invoking.html.de
index b4a9ab63..0c2da1d2 100644
--- a/docs/manual/invoking.html.de
+++ b/docs/manual/invoking.html.de
@@ -158,6 +158,6 @@
<a href="./ru/invoking.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/invoking.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Module</a> | <a href="./mod/directives.html">Direktiven</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossar</a> | <a href="./sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/invoking.html.en b/docs/manual/invoking.html.en
index 5504cb04..c534bcef 100644
--- a/docs/manual/invoking.html.en
+++ b/docs/manual/invoking.html.en
@@ -108,7 +108,7 @@
</ul>
<p>For further trouble-shooting instructions, consult the
- Apache <a href="faq/">FAQ</a>.</p>
+ Apache <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="boot" id="boot">Starting at Boot-Time</a></h2>
@@ -148,6 +148,6 @@
<a href="./ru/invoking.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/invoking.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/invoking.html.es b/docs/manual/invoking.html.es
index 716da243..84093e51 100644
--- a/docs/manual/invoking.html.es
+++ b/docs/manual/invoking.html.es
@@ -167,6 +167,6 @@
<a href="./ru/invoking.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/invoking.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/invoking.html.fr b/docs/manual/invoking.html.fr
index 210854ac..cbc108dc 100644
--- a/docs/manual/invoking.html.fr
+++ b/docs/manual/invoking.html.fr
@@ -91,7 +91,7 @@
Ceci indique que le serveur a démarré et est en cours d'exécution.
À partir de ce moment, vous pouvez utiliser votre navigateur pour vous connecter
au serveur et afficher la page de test située dans le répertoire défini
- par la directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>.</p>
+ par la directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="errors" id="errors">Erreurs en cours de démarrage</a></h2>
@@ -113,7 +113,7 @@
</ul>
<p>Pour plus d'instructions de dépannage, consultez la
- <a href="faq/">FAQ</a> Apache.</p>
+ <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> Apache.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="boot" id="boot">Lancement au démarrage du système</a></h2>
@@ -159,6 +159,6 @@
<a href="./ru/invoking.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/invoking.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/invoking.html.ja.utf8 b/docs/manual/invoking.html.ja.utf8
index 27451439..28180932 100644
--- a/docs/manual/invoking.html.ja.utf8
+++ b/docs/manual/invoking.html.ja.utf8
@@ -162,6 +162,6 @@
<a href="./ru/invoking.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/invoking.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/invoking.html.ko.euc-kr b/docs/manual/invoking.html.ko.euc-kr
index 2f6eb915..1356f7c7 100644
--- a/docs/manual/invoking.html.ko.euc-kr
+++ b/docs/manual/invoking.html.ko.euc-kr
@@ -139,6 +139,6 @@
<a href="./ru/invoking.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/invoking.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/invoking.html.ru.koi8-r b/docs/manual/invoking.html.ru.koi8-r
index e01c7171..3497ea32 100644
--- a/docs/manual/invoking.html.ru.koi8-r
+++ b/docs/manual/invoking.html.ru.koi8-r
@@ -145,6 +145,6 @@
<a href="./ru/invoking.html" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/invoking.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">íÏÄÕÌÉ</a> | <a href="./mod/directives.html">äÉÒÅËÔÉ×Ù</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">çÌÏÓÓÁÒÉÊ</a> | <a href="./sitemap.html">ëÁÒÔÁ ÓÁÊÔÁ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/invoking.html.tr.utf8 b/docs/manual/invoking.html.tr.utf8
index 6815b73f..9b0c671b 100644
--- a/docs/manual/invoking.html.tr.utf8
+++ b/docs/manual/invoking.html.tr.utf8
@@ -104,7 +104,7 @@
sunucusunun zaten çalışmakta oluşu.</li>
</ul>
- <p>Bu ve diğer sorun çözme talimatları için Apache <a href="faq/">SSS</a>’sini inceleyiniz.</p>
+ <p>Bu ve diğer sorun çözme talimatları için Apache <a href="http://wiki.apache.org/httpd/FAQ">SSS</a>’sini inceleyiniz.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="boot" id="boot">Sistem Açılışında Başlatma</a></h2>
@@ -145,6 +145,6 @@
<a href="./ru/invoking.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/invoking.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/license.html.en b/docs/manual/license.html.en
index 6c8b7eea..3924b0d6 100644
--- a/docs/manual/license.html.en
+++ b/docs/manual/license.html.en
@@ -233,6 +233,6 @@ limitations under the License.</pre></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="./en/license.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/logs.html.en b/docs/manual/logs.html.en
index 60c6e663..27b6d944 100644
--- a/docs/manual/logs.html.en
+++ b/docs/manual/logs.html.en
@@ -555,7 +555,7 @@
<h2><a name="other" id="other">Other Log Files</a></h2>
- <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code></li><li><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_log_forensic.html#forensiclog">ForensicLog</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritelog">RewriteLog</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriteloglevel">RewriteLogLevel</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptloglength">ScriptLogLength</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code></li><li><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#bufferedlogs">BufferedLogs</a></code></li><li><code class="directive"><a href="./mod/mod_log_forensic.html#forensiclog">ForensicLog</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritelog">RewriteLog</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriteloglevel">RewriteLogLevel</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptloglength">ScriptLogLength</a></code></li></ul></td></tr></table>
<h3>Logging actual bytes sent and received</h3>
@@ -615,6 +615,6 @@
<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/logs.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/logs.html.ja.utf8 b/docs/manual/logs.html.ja.utf8
index fba8dd62..b4008dfc 100644
--- a/docs/manual/logs.html.ja.utf8
+++ b/docs/manual/logs.html.ja.utf8
@@ -570,6 +570,6 @@
<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/logs.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/logs.html.ko.euc-kr b/docs/manual/logs.html.ko.euc-kr
index 20516925..6a9a7906 100644
--- a/docs/manual/logs.html.ko.euc-kr
+++ b/docs/manual/logs.html.ko.euc-kr
@@ -518,6 +518,6 @@
<a href="./ko/logs.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/logs.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/logs.html.tr.utf8 b/docs/manual/logs.html.tr.utf8
index 04a9712d..c50c8613 100644
--- a/docs/manual/logs.html.tr.utf8
+++ b/docs/manual/logs.html.tr.utf8
@@ -521,7 +521,7 @@
<h2><a name="other" id="other">Diğer Günlük Dosyaları</a></h2>
- <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code></li><li><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_log_forensic.html#forensiclog">ForensicLog</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritelog">RewriteLog</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriteloglevel">RewriteLogLevel</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptloglength">ScriptLogLength</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code></li><li><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#bufferedlogs">BufferedLogs</a></code></li><li><code class="directive"><a href="./mod/mod_log_forensic.html#forensiclog">ForensicLog</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritelog">RewriteLog</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriteloglevel">RewriteLogLevel</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptloglength">ScriptLogLength</a></code></li></ul></td></tr></table>
<h3>Gönderilen ve alınan bayt sayısının günlüklenmesi</h3>
@@ -584,6 +584,6 @@
<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/logs.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/index.html b/docs/manual/misc/index.html
index 0f2f79ca..73b89d54 100644
--- a/docs/manual/misc/index.html
+++ b/docs/manual/misc/index.html
@@ -11,3 +11,7 @@ Content-type: text/html; charset=EUC-KR
URI: index.html.tr.utf8
Content-Language: tr
Content-type: text/html; charset=UTF-8
+
+URI: index.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/misc/index.html.en b/docs/manual/misc/index.html.en
index 66fe45af..32f06be2 100644
--- a/docs/manual/misc/index.html.en
+++ b/docs/manual/misc/index.html.en
@@ -20,7 +20,8 @@
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/misc/" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/misc/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/misc/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/misc/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/misc/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
@@ -82,8 +83,9 @@
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/misc/" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/misc/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/misc/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/misc/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/misc/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/index.html.ko.euc-kr b/docs/manual/misc/index.html.ko.euc-kr
index 9ec2d751..1b73cf68 100644
--- a/docs/manual/misc/index.html.ko.euc-kr
+++ b/docs/manual/misc/index.html.ko.euc-kr
@@ -20,7 +20,8 @@
<div class="toplang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/misc/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/misc/" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/misc/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/misc/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/misc/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
@@ -73,8 +74,9 @@
<div class="bottomlang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/misc/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/misc/" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/misc/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/misc/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/misc/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/index.html.tr.utf8 b/docs/manual/misc/index.html.tr.utf8
index d4a355c2..f349d776 100644
--- a/docs/manual/misc/index.html.tr.utf8
+++ b/docs/manual/misc/index.html.tr.utf8
@@ -20,7 +20,8 @@
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../en/misc/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/misc/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/misc/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/misc/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/misc/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
@@ -83,8 +84,9 @@
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../en/misc/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/misc/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/misc/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/misc/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/misc/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/index.html.zh-cn b/docs/manual/misc/index.html.zh-cn
new file mode 100644
index 00000000..966dbb17
--- /dev/null
+++ b/docs/manual/misc/index.html.zh-cn
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache æ‚项文档 - Apache HTTP æœåŠ¡å™¨</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page" class="no-sidebar"><div id="page-header">
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache æ‚项文档</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/misc/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../ko/misc/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../tr/misc/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/misc/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+
+ <p>下é¢æ˜¯é€‚用于 Apache æœåŠ¡å™¨å¼€å‘项目的附加文档。</p>
+
+ <div class="warning"><h3>警告</h3>
+ <p>下é¢çš„文档尚未完全更新,以å映自 Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.1
+ 之åŽçš„修改。æŸäº›ä¿¡æ¯å¯èƒ½ä»æ—§é€‚用,但请å°å¿ƒä½¿ç”¨å®ƒã€‚</p>
+ </div>
+
+ <dl>
+ <dt><a href="perf-tuning.html">Apache 性能调è°</a></dt>
+
+ <dd>
+ <p>对如何在编译或è¿è¡Œæ—¶ï¼Œé…ç½® Apache,以便性能更高的说明。
+ 解释了为什么 Apache 这样åšï¼Œè€Œä¸é‚£æ ·åš (这会让它更慢或更快)。</p>
+ </dd>
+
+ <dt><a href="security_tips.html">安全技巧</a></dt>
+
+ <dd>
+ <p>åšå’Œä¸åš - 如何让你的 Apache 站点ä¿æŒå®‰å…¨ã€‚</p>
+ </dd>
+
+ <dt><a href="rewriteguide.html">URL 改写指å—</a></dt>
+
+ <dd>
+ <p>这篇文档是 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ <a href="../mod/mod_rewrite.html">å‚考手册</a> 的补充。
+ 它æ述了如何使用 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ æ¥è§£å†³ç½‘站管ç†å‘˜åœ¨å®žè·µä¸­ç»å¸¸é‡åˆ°çš„基于 URL 的典型问题。</p>
+ </dd>
+
+ <dt><a href="relevant_standards.html">相关标准</a></dt>
+
+ <dd>
+ <p>这篇文档是 Apache éµå¾ªçš„相关标准的å‚考页é¢ã€‚</p>
+ </dd>
+
+ <dt><a href="password_encryptions.html">密ç åŠ å¯†æ ¼å¼</a></dt>
+
+ <dd>
+ <p>对 Apache 身份认è¯æ”¯æŒçš„å„ç§å¯†ç åŠ å¯†æ ¼å¼çš„讨论。</p>
+ </dd>
+ </dl>
+
+ </div>
+</div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/misc/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../ko/misc/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../tr/misc/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/misc/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/password_encryptions.html.en b/docs/manual/misc/password_encryptions.html.en
index 1b3b8ed7..d9b5a3ee 100644
--- a/docs/manual/misc/password_encryptions.html.en
+++ b/docs/manual/misc/password_encryptions.html.en
@@ -209,6 +209,6 @@
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/misc/password_encryptions.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/perf-tuning.html.en b/docs/manual/misc/perf-tuning.html.en
index 925ab9b7..607257c6 100644
--- a/docs/manual/misc/perf-tuning.html.en
+++ b/docs/manual/misc/perf-tuning.html.en
@@ -1052,6 +1052,6 @@
<a href="../ko/misc/perf-tuning.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/misc/perf-tuning.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/perf-tuning.html.ko.euc-kr b/docs/manual/misc/perf-tuning.html.ko.euc-kr
index 511a49c3..82d6eee9 100644
--- a/docs/manual/misc/perf-tuning.html.ko.euc-kr
+++ b/docs/manual/misc/perf-tuning.html.ko.euc-kr
@@ -973,6 +973,6 @@
<a href="../ko/misc/perf-tuning.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/misc/perf-tuning.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/perf-tuning.html.tr.utf8 b/docs/manual/misc/perf-tuning.html.tr.utf8
index b0202518..47ca9226 100644
--- a/docs/manual/misc/perf-tuning.html.tr.utf8
+++ b/docs/manual/misc/perf-tuning.html.tr.utf8
@@ -1095,6 +1095,6 @@
<a href="../ko/misc/perf-tuning.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/misc/perf-tuning.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/relevant_standards.html.en b/docs/manual/misc/relevant_standards.html.en
index 9f1fbf14..0c000ded 100644
--- a/docs/manual/misc/relevant_standards.html.en
+++ b/docs/manual/misc/relevant_standards.html.en
@@ -194,6 +194,6 @@
<p><span>Available Languages: </span><a href="../en/misc/relevant_standards.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/misc/relevant_standards.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/relevant_standards.html.ko.euc-kr b/docs/manual/misc/relevant_standards.html.ko.euc-kr
index bd5b9dd1..bcdb6555 100644
--- a/docs/manual/misc/relevant_standards.html.ko.euc-kr
+++ b/docs/manual/misc/relevant_standards.html.ko.euc-kr
@@ -186,6 +186,6 @@
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/misc/relevant_standards.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/misc/relevant_standards.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/rewriteguide.html.en b/docs/manual/misc/rewriteguide.html.en
index 8e719cd0..a734ee24 100644
--- a/docs/manual/misc/rewriteguide.html.en
+++ b/docs/manual/misc/rewriteguide.html.en
@@ -10,7 +10,7 @@
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
-<body id="manual-page"><div id="page-header">
+<body id="manual-page" class="no-sidebar"><div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
<p class="apache">Apache HTTP Server Version 2.2</p>
<img alt="" src="../images/feather.gif" /></div>
@@ -28,2082 +28,12 @@
new <a href="../rewrite/">Rewrite Guide</a>.</p>
</div>
-
- <div class="note">
- <p>Originally written by<br />
- <cite>Ralf S. Engelschall &lt;rse@apache.org&gt;</cite><br />
- December 1997</p>
- </div>
-
- <p>This document supplements the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- <a href="../mod/mod_rewrite.html">reference documentation</a>.
- It describes how one can use Apache's <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- to solve typical URL-based problems with which webmasters are
- commonly confronted. We give detailed descriptions on how to
- solve each problem by configuring URL rewriting rulesets.</p>
-
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#ToC1">Introduction to <code>mod_rewrite</code></a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#ToC2">Practical Solutions</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#url">URL Layout</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#content">Content Handling</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#access">Access Restriction</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#other">Other</a></li>
-</ul></div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="ToC1" id="ToC1">Introduction to <code>mod_rewrite</code></a></h2>
-
-
-
- <p>The Apache module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> is a killer
- one, i.e. it is a really sophisticated module which provides
- a powerful way to do URL manipulations. With it you can do nearly
- all types of URL manipulations you ever dreamed about.
- The price you have to pay is to accept complexity, because
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>'s major drawback is that it is
- not easy to understand and use for the beginner. And even
- Apache experts sometimes discover new aspects where
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> can help.</p>
-
- <p>In other words: With <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> you either
- shoot yourself in the foot the first time and never use it again
- or love it for the rest of your life because of its power.
- This paper tries to give you a few initial success events to
- avoid the first case by presenting already invented solutions
- to you.</p>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="ToC2" id="ToC2">Practical Solutions</a></h2>
-
-
-
- <p>Here come a lot of practical solutions I've either invented
- myself or collected from other people's solutions in the past.
- Feel free to learn the black magic of URL rewriting from
- these examples.</p>
-
- <div class="warning">ATTENTION: Depending on your server-configuration
- it can be necessary to slightly change the examples for your
- situation, e.g. adding the <code>[PT]</code> flag when
- additionally using <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> and
- <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code>, etc. Or rewriting a ruleset
- to fit in <code>.htaccess</code> context instead
- of per-server context. Always try to understand what a
- particular ruleset really does before you use it. It
- avoid problems.</div>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="url" id="url">URL Layout</a></h2>
-
-
-
- <h3>Canonical URLs</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>On some webservers there are more than one URL for a
- resource. Usually there are canonical URLs (which should be
- actually used and distributed) and those which are just
- shortcuts, internal ones, etc. Independent of which URL the
- user supplied with the request he should finally see the
- canonical one only.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We do an external HTTP redirect for all non-canonical
- URLs to fix them in the location view of the Browser and
- for all subsequent requests. In the example ruleset below
- we replace <code>/~user</code> by the canonical
- <code>/u/user</code> and fix a missing trailing slash for
- <code>/u/user</code>.</p>
-
-<div class="example"><pre>
-RewriteRule ^/<strong>~</strong>([^/]+)/?(.*) /<strong>u</strong>/$1/$2 [<strong>R</strong>]
-RewriteRule ^/u/(<strong>[^/]+</strong>)$ /$1/$2<strong>/</strong> [<strong>R</strong>]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Canonical Hostnames</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>The goal of this rule is to force the use of a particular
- hostname, in preference to other hostnames which may be used to
- reach the same site. For example, if you wish to force the use
- of <strong>www.example.com</strong> instead of
- <strong>example.com</strong>, you might use a variant of the
- following recipe.</dd>
-
-
- <dt>Solution:</dt>
-
- <dd>
-<div class="example"><pre>
-# To force the use of
-RewriteEngine On
-RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
-RewriteCond %{HTTP_HOST} !^$
-RewriteRule ^/(.*) http://www.example.com/$1 [L,R]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Moved <code>DocumentRoot</code></h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Usually the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
- of the webserver directly relates to the URL "<code>/</code>".
- But often this data is not really of top-level priority, it is
- perhaps just one entity of a lot of data pools. For instance at
- our Intranet sites there are <code>/e/www/</code>
- (the homepage for WWW), <code>/e/sww/</code> (the homepage for
- the Intranet) etc. Now because the data of the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> stays at <code>/e/www/</code> we had
- to make sure that all inlined images and other stuff inside this
- data pool work for subsequent requests.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We redirect the URL <code>/</code> to
- <code>/e/www/</code>:
- </p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteRule <strong>^/$</strong> /e/www/ [<strong>R</strong>]
-</pre></div>
-
- <p>Note that this can also be handled using the <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> directive:</p>
-
- <div class="example"><p><code>
- RedirectMatch ^/$ http://example.com/e/www/
- </code></p></div>
- </dd>
- </dl>
-
-
-
- <h3>Trailing Slash Problem</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Every webmaster can sing a song about the problem of
- the trailing slash on URLs referencing directories. If they
- are missing, the server dumps an error, because if you say
- <code>/~quux/foo</code> instead of <code>/~quux/foo/</code>
- then the server searches for a <em>file</em> named
- <code>foo</code>. And because this file is a directory it
- complains. Actually it tries to fix it itself in most of
- the cases, but sometimes this mechanism need to be emulated
- by you. For instance after you have done a lot of
- complicated URL rewritings to CGI scripts etc.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>The solution to this subtle problem is to let the server
- add the trailing slash automatically. To do this
- correctly we have to use an external redirect, so the
- browser correctly requests subsequent images etc. If we
- only did a internal rewrite, this would only work for the
- directory page, but would go wrong when any images are
- included into this page with relative URLs, because the
- browser would request an in-lined object. For instance, a
- request for <code>image.gif</code> in
- <code>/~quux/foo/index.html</code> would become
- <code>/~quux/image.gif</code> without the external
- redirect!</p>
-
- <p>So, to do this trick we write:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^foo<strong>$</strong> foo<strong>/</strong> [<strong>R</strong>]
-</pre></div>
-
- <p>The crazy and lazy can even do the following in the
- top-level <code>.htaccess</code> file of their homedir.
- But notice that this creates some processing
- overhead.</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteBase /~quux/
-RewriteCond %{REQUEST_FILENAME} <strong>-d</strong>
-RewriteRule ^(.+<strong>[^/]</strong>)$ $1<strong>/</strong> [R]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Webcluster through Homogeneous URL Layout</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>We want to create a homogeneous and consistent URL
- layout over all WWW servers on a Intranet webcluster, i.e.
- all URLs (per definition server local and thus server
- dependent!) become actually server <em>independent</em>!
- What we want is to give the WWW namespace a consistent
- server-independent layout: no URL should have to include
- any physically correct target server. The cluster itself
- should drive us automatically to the physical target
- host.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>First, the knowledge of the target servers come from
- (distributed) external maps which contain information
- where our users, groups and entities stay. The have the
- form</p>
-
-<div class="example"><pre>
-user1 server_of_user1
-user2 server_of_user2
-: :
-</pre></div>
-
- <p>We put them into files <code>map.xxx-to-host</code>.
- Second we need to instruct all servers to redirect URLs
- of the forms</p>
-
-<div class="example"><pre>
-/u/user/anypath
-/g/group/anypath
-/e/entity/anypath
-</pre></div>
-
- <p>to</p>
-
-<div class="example"><pre>
-http://physical-host/u/user/anypath
-http://physical-host/g/group/anypath
-http://physical-host/e/entity/anypath
-</pre></div>
-
- <p>when the URL is not locally valid to a server. The
- following ruleset does this for us by the help of the map
- files (assuming that server0 is a default server which
- will be used if a user has no entry in the map):</p>
-
-<div class="example"><pre>
-RewriteEngine on
-
-RewriteMap user-to-host txt:/path/to/map.user-to-host
-RewriteMap group-to-host txt:/path/to/map.group-to-host
-RewriteMap entity-to-host txt:/path/to/map.entity-to-host
-
-RewriteRule ^/u/<strong>([^/]+)</strong>/?(.*) http://<strong>${user-to-host:$1|server0}</strong>/u/$1/$2
-RewriteRule ^/g/<strong>([^/]+)</strong>/?(.*) http://<strong>${group-to-host:$1|server0}</strong>/g/$1/$2
-RewriteRule ^/e/<strong>([^/]+)</strong>/?(.*) http://<strong>${entity-to-host:$1|server0}</strong>/e/$1/$2
-
-RewriteRule ^/([uge])/([^/]+)/?$ /$1/$2/.www/
-RewriteRule ^/([uge])/([^/]+)/([^.]+.+) /$1/$2/.www/$3\
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Move Homedirs to Different Webserver</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Many webmasters have asked for a solution to the
- following situation: They wanted to redirect just all
- homedirs on a webserver to another webserver. They usually
- need such things when establishing a newer webserver which
- will replace the old one over time.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>The solution is trivial with <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.
- On the old webserver we just redirect all
- <code>/~user/anypath</code> URLs to
- <code>http://newserver/~user/anypath</code>.</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteRule ^/~(.+) http://<strong>newserver</strong>/~$1 [R,L]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Structured Homedirs</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Some sites with thousands of users usually use a
- structured homedir layout, i.e. each homedir is in a
- subdirectory which begins for instance with the first
- character of the username. So, <code>/~foo/anypath</code>
- is <code>/home/<strong>f</strong>/foo/.www/anypath</code>
- while <code>/~bar/anypath</code> is
- <code>/home/<strong>b</strong>/bar/.www/anypath</code>.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We use the following ruleset to expand the tilde URLs
- into exactly the above layout.</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteRule ^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*) /home/<strong>$2</strong>/$1/.www$3
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Filesystem Reorganization</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>This really is a hardcore example: a killer application
- which heavily uses per-directory
- <code>RewriteRules</code> to get a smooth look and feel
- on the Web while its data structure is never touched or
- adjusted. Background: <strong><em>net.sw</em></strong> is
- my archive of freely available Unix software packages,
- which I started to collect in 1992. It is both my hobby
- and job to to this, because while I'm studying computer
- science I have also worked for many years as a system and
- network administrator in my spare time. Every week I need
- some sort of software so I created a deep hierarchy of
- directories where I stored the packages:</p>
-
-<div class="example"><pre>
-drwxrwxr-x 2 netsw users 512 Aug 3 18:39 Audio/
-drwxrwxr-x 2 netsw users 512 Jul 9 14:37 Benchmark/
-drwxrwxr-x 12 netsw users 512 Jul 9 00:34 Crypto/
-drwxrwxr-x 5 netsw users 512 Jul 9 00:41 Database/
-drwxrwxr-x 4 netsw users 512 Jul 30 19:25 Dicts/
-drwxrwxr-x 10 netsw users 512 Jul 9 01:54 Graphic/
-drwxrwxr-x 5 netsw users 512 Jul 9 01:58 Hackers/
-drwxrwxr-x 8 netsw users 512 Jul 9 03:19 InfoSys/
-drwxrwxr-x 3 netsw users 512 Jul 9 03:21 Math/
-drwxrwxr-x 3 netsw users 512 Jul 9 03:24 Misc/
-drwxrwxr-x 9 netsw users 512 Aug 1 16:33 Network/
-drwxrwxr-x 2 netsw users 512 Jul 9 05:53 Office/
-drwxrwxr-x 7 netsw users 512 Jul 9 09:24 SoftEng/
-drwxrwxr-x 7 netsw users 512 Jul 9 12:17 System/
-drwxrwxr-x 12 netsw users 512 Aug 3 20:15 Typesetting/
-drwxrwxr-x 10 netsw users 512 Jul 9 14:08 X11/
-</pre></div>
-
- <p>In July 1996 I decided to make this archive public to
- the world via a nice Web interface. "Nice" means that I
- wanted to offer an interface where you can browse
- directly through the archive hierarchy. And "nice" means
- that I didn't wanted to change anything inside this
- hierarchy - not even by putting some CGI scripts at the
- top of it. Why? Because the above structure should be
- later accessible via FTP as well, and I didn't want any
- Web or CGI stuff to be there.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>The solution has two parts: The first is a set of CGI
- scripts which create all the pages at all directory
- levels on-the-fly. I put them under
- <code>/e/netsw/.www/</code> as follows:</p>
-
-<div class="example"><pre>
--rw-r--r-- 1 netsw users 1318 Aug 1 18:10 .wwwacl
-drwxr-xr-x 18 netsw users 512 Aug 5 15:51 DATA/
--rw-rw-rw- 1 netsw users 372982 Aug 5 16:35 LOGFILE
--rw-r--r-- 1 netsw users 659 Aug 4 09:27 TODO
--rw-r--r-- 1 netsw users 5697 Aug 1 18:01 netsw-about.html
--rwxr-xr-x 1 netsw users 579 Aug 2 10:33 netsw-access.pl
--rwxr-xr-x 1 netsw users 1532 Aug 1 17:35 netsw-changes.cgi
--rwxr-xr-x 1 netsw users 2866 Aug 5 14:49 netsw-home.cgi
-drwxr-xr-x 2 netsw users 512 Jul 8 23:47 netsw-img/
--rwxr-xr-x 1 netsw users 24050 Aug 5 15:49 netsw-lsdir.cgi
--rwxr-xr-x 1 netsw users 1589 Aug 3 18:43 netsw-search.cgi
--rwxr-xr-x 1 netsw users 1885 Aug 1 17:41 netsw-tree.cgi
--rw-r--r-- 1 netsw users 234 Jul 30 16:35 netsw-unlimit.lst
-</pre></div>
-
- <p>The <code>DATA/</code> subdirectory holds the above
- directory structure, i.e. the real
- <strong><em>net.sw</em></strong> stuff and gets
- automatically updated via <code>rdist</code> from time to
- time. The second part of the problem remains: how to link
- these two structures together into one smooth-looking URL
- tree? We want to hide the <code>DATA/</code> directory
- from the user while running the appropriate CGI scripts
- for the various URLs. Here is the solution: first I put
- the following into the per-directory configuration file
- in the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
- of the server to rewrite the announced URL
- <code>/net.sw/</code> to the internal path
- <code>/e/netsw</code>:</p>
-
-<div class="example"><pre>
-RewriteRule ^net.sw$ net.sw/ [R]
-RewriteRule ^net.sw/(.*)$ e/netsw/$1
-</pre></div>
-
- <p>The first rule is for requests which miss the trailing
- slash! The second rule does the real thing. And then
- comes the killer configuration which stays in the
- per-directory config file
- <code>/e/netsw/.www/.wwwacl</code>:</p>
-
-<div class="example"><pre>
-Options ExecCGI FollowSymLinks Includes MultiViews
-
-RewriteEngine on
-
-# we are reached via /net.sw/ prefix
-RewriteBase /net.sw/
-
-# first we rewrite the root dir to
-# the handling cgi script
-RewriteRule ^$ netsw-home.cgi [L]
-RewriteRule ^index\.html$ netsw-home.cgi [L]
-
-# strip out the subdirs when
-# the browser requests us from perdir pages
-RewriteRule ^.+/(netsw-[^/]+/.+)$ $1 [L]
-
-# and now break the rewriting for local files
-RewriteRule ^netsw-home\.cgi.* - [L]
-RewriteRule ^netsw-changes\.cgi.* - [L]
-RewriteRule ^netsw-search\.cgi.* - [L]
-RewriteRule ^netsw-tree\.cgi$ - [L]
-RewriteRule ^netsw-about\.html$ - [L]
-RewriteRule ^netsw-img/.*$ - [L]
-
-# anything else is a subdir which gets handled
-# by another cgi script
-RewriteRule !^netsw-lsdir\.cgi.* - [C]
-RewriteRule (.*) netsw-lsdir.cgi/$1
-</pre></div>
-
- <p>Some hints for interpretation:</p>
-
- <ol>
- <li>Notice the <code>L</code> (last) flag and no
- substitution field ('<code>-</code>') in the forth part</li>
-
- <li>Notice the <code>!</code> (not) character and
- the <code>C</code> (chain) flag at the first rule
- in the last part</li>
-
- <li>Notice the catch-all pattern in the last rule</li>
- </ol>
- </dd>
- </dl>
-
-
-
- <h3>NCSA imagemap to Apache <code>mod_imagemap</code></h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>When switching from the NCSA webserver to the more
- modern Apache webserver a lot of people want a smooth
- transition. So they want pages which use their old NCSA
- <code>imagemap</code> program to work under Apache with the
- modern <code class="module"><a href="../mod/mod_imagemap.html">mod_imagemap</a></code>. The problem is that there
- are a lot of hyperlinks around which reference the
- <code>imagemap</code> program via
- <code>/cgi-bin/imagemap/path/to/page.map</code>. Under
- Apache this has to read just
- <code>/path/to/page.map</code>.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We use a global rule to remove the prefix on-the-fly for
- all requests:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteRule ^/cgi-bin/imagemap(.*) $1 [PT]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Search pages in more than one directory</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Sometimes it is necessary to let the webserver search
- for pages in more than one directory. Here MultiViews or
- other techniques cannot help.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We program a explicit ruleset which searches for the
- files in the directories.</p>
-
-<div class="example"><pre>
-RewriteEngine on
-
-# first try to find it in custom/...
-# ...and if found stop and be happy:
-RewriteCond /your/docroot/<strong>dir1</strong>/%{REQUEST_FILENAME} -f
-RewriteRule ^(.+) /your/docroot/<strong>dir1</strong>/$1 [L]
-
-# second try to find it in pub/...
-# ...and if found stop and be happy:
-RewriteCond /your/docroot/<strong>dir2</strong>/%{REQUEST_FILENAME} -f
-RewriteRule ^(.+) /your/docroot/<strong>dir2</strong>/$1 [L]
-
-# else go on for other Alias or ScriptAlias directives,
-# etc.
-RewriteRule ^(.+) - [PT]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Set Environment Variables According To URL Parts</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Perhaps you want to keep status information between
- requests and use the URL to encode it. But you don't want
- to use a CGI wrapper for all pages just to strip out this
- information.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We use a rewrite rule to strip out the status information
- and remember it via an environment variable which can be
- later dereferenced from within XSSI or CGI. This way a
- URL <code>/foo/S=java/bar/</code> gets translated to
- <code>/foo/bar/</code> and the environment variable named
- <code>STATUS</code> is set to the value "java".</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteRule ^(.*)/<strong>S=([^/]+)</strong>/(.*) $1/$3 [E=<strong>STATUS:$2</strong>]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Virtual User Hosts</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Assume that you want to provide
- <code>www.<strong>username</strong>.host.domain.com</code>
- for the homepage of username via just DNS A records to the
- same machine and without any virtualhosts on this
- machine.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>For HTTP/1.0 requests there is no solution, but for
- HTTP/1.1 requests which contain a Host: HTTP header we
- can use the following ruleset to rewrite
- <code>http://www.username.host.com/anypath</code>
- internally to <code>/home/username/anypath</code>:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteCond %{<strong>HTTP_HOST</strong>} ^www\.<strong>[^.]+</strong>\.host\.com$
-RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
-RewriteRule ^www\.<strong>([^.]+)</strong>\.host\.com(.*) /home/<strong>$1</strong>$2
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Redirect Homedirs For Foreigners</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>We want to redirect homedir URLs to another webserver
- <code>www.somewhere.com</code> when the requesting user
- does not stay in the local domain
- <code>ourdomain.com</code>. This is sometimes used in
- virtual host contexts.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>Just a rewrite condition:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteCond %{REMOTE_HOST} <strong>!^.+\.ourdomain\.com$</strong>
-RewriteRule ^(/~.+) http://www.somewhere.com/$1 [R,L]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Redirect Failing URLs To Other Webserver</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>A typical FAQ about URL rewriting is how to redirect
- failing requests on webserver A to webserver B. Usually
- this is done via <code class="directive"><a href="../mod/core.html#errordocument">ErrorDocument</a></code> CGI-scripts in Perl, but
- there is also a <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> solution.
- But notice that this performs more poorly than using an
- <code class="directive"><a href="../mod/core.html#errordocument">ErrorDocument</a></code>
- CGI-script!</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>The first solution has the best performance but less
- flexibility, and is less error safe:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteCond /your/docroot/%{REQUEST_FILENAME} <strong>!-f</strong>
-RewriteRule ^(.+) http://<strong>webserverB</strong>.dom/$1
-</pre></div>
-
- <p>The problem here is that this will only work for pages
- inside the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. While you can add more
- Conditions (for instance to also handle homedirs, etc.)
- there is better variant:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteCond %{REQUEST_URI} <strong>!-U</strong>
-RewriteRule ^(.+) http://<strong>webserverB</strong>.dom/$1
-</pre></div>
-
- <p>This uses the URL look-ahead feature of <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.
- The result is that this will work for all types of URLs
- and is a safe way. But it does a performance impact on
- the webserver, because for every request there is one
- more internal subrequest. So, if your webserver runs on a
- powerful CPU, use this one. If it is a slow machine, use
- the first approach or better a <code class="directive"><a href="../mod/core.html#errordocument">ErrorDocument</a></code> CGI-script.</p>
- </dd>
- </dl>
-
-
-
- <h3>Extended Redirection</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Sometimes we need more control (concerning the
- character escaping mechanism) of URLs on redirects.
- Usually the Apache kernels URL escape function also
- escapes anchors, i.e. URLs like "<code>url#anchor</code>".
- You cannot use this directly on redirects with
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> because the
- <code>uri_escape()</code> function of Apache
- would also escape the hash character.
- How can we redirect to such a URL?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We have to use a kludge by the use of a NPH-CGI script
- which does the redirect itself. Because here no escaping
- is done (NPH=non-parseable headers). First we introduce a
- new URL scheme <code>xredirect:</code> by the following
- per-server config-line (should be one of the last rewrite
- rules):</p>
-
-<div class="example"><pre>
-RewriteRule ^xredirect:(.+) /path/to/nph-xredirect.cgi/$1 \
- [T=application/x-httpd-cgi,L]
-</pre></div>
-
- <p>This forces all URLs prefixed with
- <code>xredirect:</code> to be piped through the
- <code>nph-xredirect.cgi</code> program. And this program
- just looks like:</p>
-
-<div class="example"><pre>
-#!/path/to/perl
-##
-## nph-xredirect.cgi -- NPH/CGI script for extended redirects
-## Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved.
-##
-
-$| = 1;
-$url = $ENV{'PATH_INFO'};
-
-print "HTTP/1.0 302 Moved Temporarily\n";
-print "Server: $ENV{'SERVER_SOFTWARE'}\n";
-print "Location: $url\n";
-print "Content-type: text/html\n";
-print "\n";
-print "&lt;html&gt;\n";
-print "&lt;head&gt;\n";
-print "&lt;title&gt;302 Moved Temporarily (EXTENDED)&lt;/title&gt;\n";
-print "&lt;/head&gt;\n";
-print "&lt;body&gt;\n";
-print "&lt;h1&gt;Moved Temporarily (EXTENDED)&lt;/h1&gt;\n";
-print "The document has moved &lt;a HREF=\"$url\"&gt;here&lt;/a&gt;.&lt;p&gt;\n";
-print "&lt;/body&gt;\n";
-print "&lt;/html&gt;\n";
-
-##EOF##
-</pre></div>
-
- <p>This provides you with the functionality to do
- redirects to all URL schemes, i.e. including the one
- which are not directly accepted by <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.
- For instance you can now also redirect to
- <code>news:newsgroup</code> via</p>
-
-<div class="example"><pre>
-RewriteRule ^anyurl xredirect:news:newsgroup
-</pre></div>
-
- <div class="note">Notice: You have not to put <code>[R]</code> or
- <code>[R,L]</code> to the above rule because the
- <code>xredirect:</code> need to be expanded later
- by our special "pipe through" rule above.</div>
- </dd>
- </dl>
-
-
-
- <h3>Archive Access Multiplexer</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Do you know the great CPAN (Comprehensive Perl Archive
- Network) under <a href="http://www.perl.com/CPAN">http://www.perl.com/CPAN</a>?
- This does a redirect to one of several FTP servers around
- the world which carry a CPAN mirror and is approximately
- near the location of the requesting client. Actually this
- can be called an FTP access multiplexing service. While
- CPAN runs via CGI scripts, how can a similar approach
- implemented via <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>First we notice that from version 3.0.0
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> can
- also use the "<code>ftp:</code>" scheme on redirects.
- And second, the location approximation can be done by a
- <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
- over the top-level domain of the client.
- With a tricky chained ruleset we can use this top-level
- domain as a key to our multiplexing map.</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteMap multiplex txt:/path/to/map.cxan
-RewriteRule ^/CxAN/(.*) %{REMOTE_HOST}::$1 [C]
-RewriteRule ^.+\.<strong>([a-zA-Z]+)</strong>::(.*)$ ${multiplex:<strong>$1</strong>|ftp.default.dom}$2 [R,L]
-</pre></div>
-
-<div class="example"><pre>
-##
-## map.cxan -- Multiplexing Map for CxAN
-##
-
-de ftp://ftp.cxan.de/CxAN/
-uk ftp://ftp.cxan.uk/CxAN/
-com ftp://ftp.cxan.com/CxAN/
- :
-##EOF##
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Time-Dependent Rewriting</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>When tricks like time-dependent content should happen a
- lot of webmasters still use CGI scripts which do for
- instance redirects to specialized pages. How can it be done
- via <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>There are a lot of variables named <code>TIME_xxx</code>
- for rewrite conditions. In conjunction with the special
- lexicographic comparison patterns <code>&lt;STRING</code>,
- <code>&gt;STRING</code> and <code>=STRING</code> we can
- do time-dependent redirects:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteCond %{TIME_HOUR}%{TIME_MIN} &gt;0700
-RewriteCond %{TIME_HOUR}%{TIME_MIN} &lt;1900
-RewriteRule ^foo\.html$ foo.day.html
-RewriteRule ^foo\.html$ foo.night.html
-</pre></div>
-
- <p>This provides the content of <code>foo.day.html</code>
- under the URL <code>foo.html</code> from
- <code>07:00-19:00</code> and at the remaining time the
- contents of <code>foo.night.html</code>. Just a nice
- feature for a homepage...</p>
- </dd>
- </dl>
-
-
-
- <h3>Backward Compatibility for YYYY to XXXX migration</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>How can we make URLs backward compatible (still
- existing virtually) after migrating <code>document.YYYY</code>
- to <code>document.XXXX</code>, e.g. after translating a
- bunch of <code>.html</code> files to <code>.phtml</code>?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We just rewrite the name to its basename and test for
- existence of the new extension. If it exists, we take
- that name, else we rewrite the URL to its original state.</p>
-
-
-<div class="example"><pre>
-# backward compatibility ruleset for
-# rewriting document.html to document.phtml
-# when and only when document.phtml exists
-# but no longer document.html
-RewriteEngine on
-RewriteBase /~quux/
-# parse out basename, but remember the fact
-RewriteRule ^(.*)\.html$ $1 [C,E=WasHTML:yes]
-# rewrite to document.phtml if exists
-RewriteCond %{REQUEST_FILENAME}.phtml -f
-RewriteRule ^(.*)$ $1.phtml [S=1]
-# else reverse the previous basename cutout
-RewriteCond %{ENV:WasHTML} ^yes$
-RewriteRule ^(.*)$ $1.html
-</pre></div>
- </dd>
- </dl>
-
-
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="content" id="content">Content Handling</a></h2>
-
-
-
- <h3>From Old to New (intern)</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Assume we have recently renamed the page
- <code>foo.html</code> to <code>bar.html</code> and now want
- to provide the old URL for backward compatibility. Actually
- we want that users of the old URL even not recognize that
- the pages was renamed.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We rewrite the old URL to the new one internally via the
- following rule:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^<strong>foo</strong>\.html$ <strong>bar</strong>.html
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>From Old to New (extern)</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Assume again that we have recently renamed the page
- <code>foo.html</code> to <code>bar.html</code> and now want
- to provide the old URL for backward compatibility. But this
- time we want that the users of the old URL get hinted to
- the new one, i.e. their browsers Location field should
- change, too.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We force a HTTP redirect to the new URL which leads to a
- change of the browsers and thus the users view:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^<strong>foo</strong>\.html$ <strong>bar</strong>.html [<strong>R</strong>]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Browser Dependent Content</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>At least for important top-level pages it is sometimes
- necessary to provide the optimum of browser dependent
- content, i.e. one has to provide a maximum version for the
- latest Netscape variants, a minimum version for the Lynx
- browsers and a average feature version for all others.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We cannot use content negotiation because the browsers do
- not provide their type in that form. Instead we have to
- act on the HTTP header "User-Agent". The following condig
- does the following: If the HTTP header "User-Agent"
- begins with "Mozilla/3", the page <code>foo.html</code>
- is rewritten to <code>foo.NS.html</code> and and the
- rewriting stops. If the browser is "Lynx" or "Mozilla" of
- version 1 or 2 the URL becomes <code>foo.20.html</code>.
- All other browsers receive page <code>foo.32.html</code>.
- This is done by the following ruleset:</p>
-
-<div class="example"><pre>
-RewriteCond %{HTTP_USER_AGENT} ^<strong>Mozilla/3</strong>.*
-RewriteRule ^foo\.html$ foo.<strong>NS</strong>.html [<strong>L</strong>]
-
-RewriteCond %{HTTP_USER_AGENT} ^<strong>Lynx/</strong>.* [OR]
-RewriteCond %{HTTP_USER_AGENT} ^<strong>Mozilla/[12]</strong>.*
-RewriteRule ^foo\.html$ foo.<strong>20</strong>.html [<strong>L</strong>]
-
-RewriteRule ^foo\.html$ foo.<strong>32</strong>.html [<strong>L</strong>]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Dynamic Mirror</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Assume there are nice webpages on remote hosts we want
- to bring into our namespace. For FTP servers we would use
- the <code>mirror</code> program which actually maintains an
- explicit up-to-date copy of the remote data on the local
- machine. For a webserver we could use the program
- <code>webcopy</code> which acts similar via HTTP. But both
- techniques have one major drawback: The local copy is
- always just as up-to-date as often we run the program. It
- would be much better if the mirror is not a static one we
- have to establish explicitly. Instead we want a dynamic
- mirror with data which gets updated automatically when
- there is need (updated data on the remote host).</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>To provide this feature we map the remote webpage or even
- the complete remote webarea to our namespace by the use
- of the <dfn>Proxy Throughput</dfn> feature
- (flag <code>[P]</code>):</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^<strong>hotsheet/</strong>(.*)$ <strong>http://www.tstimpreso.com/hotsheet/</strong>$1 [<strong>P</strong>]
-</pre></div>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^<strong>usa-news\.html</strong>$ <strong>http://www.quux-corp.com/news/index.html</strong> [<strong>P</strong>]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Reverse Dynamic Mirror</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>...</dd>
-
- <dt>Solution:</dt>
-
- <dd>
-<div class="example"><pre>
-RewriteEngine on
-RewriteCond /mirror/of/remotesite/$1 -U
-RewriteRule ^http://www\.remotesite\.com/(.*)$ /mirror/of/remotesite/$1
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Retrieve Missing Data from Intranet</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>This is a tricky way of virtually running a corporate
- (external) Internet webserver
- (<code>www.quux-corp.dom</code>), while actually keeping
- and maintaining its data on a (internal) Intranet webserver
- (<code>www2.quux-corp.dom</code>) which is protected by a
- firewall. The trick is that on the external webserver we
- retrieve the requested data on-the-fly from the internal
- one.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>First, we have to make sure that our firewall still
- protects the internal webserver and that only the
- external webserver is allowed to retrieve data from it.
- For a packet-filtering firewall we could for instance
- configure a firewall ruleset like the following:</p>
-
-<div class="example"><pre>
-<strong>ALLOW</strong> Host www.quux-corp.dom Port &gt;1024 --&gt; Host www2.quux-corp.dom Port <strong>80</strong>
-<strong>DENY</strong> Host * Port * --&gt; Host www2.quux-corp.dom Port <strong>80</strong>
-</pre></div>
-
- <p>Just adjust it to your actual configuration syntax.
- Now we can establish the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- rules which request the missing data in the background
- through the proxy throughput feature:</p>
-
-<div class="example"><pre>
-RewriteRule ^/~([^/]+)/?(.*) /home/$1/.www/$2
-RewriteCond %{REQUEST_FILENAME} <strong>!-f</strong>
-RewriteCond %{REQUEST_FILENAME} <strong>!-d</strong>
-RewriteRule ^/home/([^/]+)/.www/?(.*) http://<strong>www2</strong>.quux-corp.dom/~$1/pub/$2 [<strong>P</strong>]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Load Balancing</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Suppose we want to load balance the traffic to
- <code>www.foo.com</code> over <code>www[0-5].foo.com</code>
- (a total of 6 servers). How can this be done?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>There are a lot of possible solutions for this problem.
- We will discuss first a commonly known DNS-based variant
- and then the special one with <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>:</p>
-
- <ol>
- <li>
- <strong>DNS Round-Robin</strong>
-
- <p>The simplest method for load-balancing is to use
- the DNS round-robin feature of <code>BIND</code>.
- Here you just configure <code>www[0-9].foo.com</code>
- as usual in your DNS with A(address) records, e.g.</p>
-
-<div class="example"><pre>
-www0 IN A 1.2.3.1
-www1 IN A 1.2.3.2
-www2 IN A 1.2.3.3
-www3 IN A 1.2.3.4
-www4 IN A 1.2.3.5
-www5 IN A 1.2.3.6
-</pre></div>
-
- <p>Then you additionally add the following entry:</p>
-
-<div class="example"><pre>
-www IN A 1.2.3.1
-www IN A 1.2.3.2
-www IN A 1.2.3.3
-www IN A 1.2.3.4
-www IN A 1.2.3.5
-</pre></div>
-
- <p>Now when <code>www.foo.com</code> gets
- resolved, <code>BIND</code> gives out <code>www0-www5</code>
- - but in a slightly permutated/rotated order every time.
- This way the clients are spread over the various
- servers. But notice that this not a perfect load
- balancing scheme, because DNS resolve information
- gets cached by the other nameservers on the net, so
- once a client has resolved <code>www.foo.com</code>
- to a particular <code>wwwN.foo.com</code>, all
- subsequent requests also go to this particular name
- <code>wwwN.foo.com</code>. But the final result is
- ok, because the total sum of the requests are really
- spread over the various webservers.</p>
- </li>
-
- <li>
- <strong>DNS Load-Balancing</strong>
-
- <p>A sophisticated DNS-based method for
- load-balancing is to use the program
- <code>lbnamed</code> which can be found at <a href="http://www.stanford.edu/~riepel/lbnamed/">
- http://www.stanford.edu/~riepel/lbnamed/</a>.
- It is a Perl 5 program in conjunction with auxiliary
- tools which provides a real load-balancing for
- DNS.</p>
- </li>
-
- <li>
- <strong>Proxy Throughput Round-Robin</strong>
-
- <p>In this variant we use <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- and its proxy throughput feature. First we dedicate
- <code>www0.foo.com</code> to be actually
- <code>www.foo.com</code> by using a single</p>
-
-<div class="example"><pre>
-www IN CNAME www0.foo.com.
-</pre></div>
-
- <p>entry in the DNS. Then we convert
- <code>www0.foo.com</code> to a proxy-only server,
- i.e. we configure this machine so all arriving URLs
- are just pushed through the internal proxy to one of
- the 5 other servers (<code>www1-www5</code>). To
- accomplish this we first establish a ruleset which
- contacts a load balancing script <code>lb.pl</code>
- for all URLs.</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteMap lb prg:/path/to/lb.pl
-RewriteRule ^/(.+)$ ${lb:$1} [P,L]
-</pre></div>
-
- <p>Then we write <code>lb.pl</code>:</p>
-
-<div class="example"><pre>
-#!/path/to/perl
-##
-## lb.pl -- load balancing script
-##
-
-$| = 1;
-
-$name = "www"; # the hostname base
-$first = 1; # the first server (not 0 here, because 0 is myself)
-$last = 5; # the last server in the round-robin
-$domain = "foo.dom"; # the domainname
-
-$cnt = 0;
-while (&lt;STDIN&gt;) {
- $cnt = (($cnt+1) % ($last+1-$first));
- $server = sprintf("%s%d.%s", $name, $cnt+$first, $domain);
- print "http://$server/$_";
-}
-
-##EOF##
-</pre></div>
-
- <div class="note">A last notice: Why is this useful? Seems like
- <code>www0.foo.com</code> still is overloaded? The
- answer is yes, it is overloaded, but with plain proxy
- throughput requests, only! All SSI, CGI, ePerl, etc.
- processing is completely done on the other machines.
- This is the essential point.</div>
- </li>
-
- <li>
- <strong>Hardware/TCP Round-Robin</strong>
-
- <p>There is a hardware solution available, too. Cisco
- has a beast called LocalDirector which does a load
- balancing at the TCP/IP level. Actually this is some
- sort of a circuit level gateway in front of a
- webcluster. If you have enough money and really need
- a solution with high performance, use this one.</p>
- </li>
- </ol>
- </dd>
- </dl>
-
-
-
- <h3>New MIME-type, New Service</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>On the net there are a lot of nifty CGI programs. But
- their usage is usually boring, so a lot of webmaster
- don't use them. Even Apache's Action handler feature for
- MIME-types is only appropriate when the CGI programs
- don't need special URLs (actually <code>PATH_INFO</code>
- and <code>QUERY_STRINGS</code>) as their input. First,
- let us configure a new file type with extension
- <code>.scgi</code> (for secure CGI) which will be processed
- by the popular <code>cgiwrap</code> program. The problem
- here is that for instance we use a Homogeneous URL Layout
- (see above) a file inside the user homedirs has the URL
- <code>/u/user/foo/bar.scgi</code>. But
- <code>cgiwrap</code> needs the URL in the form
- <code>/~user/foo/bar.scgi/</code>. The following rule
- solves the problem:</p>
-
-<div class="example"><pre>
-RewriteRule ^/[uge]/<strong>([^/]+)</strong>/\.www/(.+)\.scgi(.*) ...
-... /internal/cgi/user/cgiwrap/~<strong>$1</strong>/$2.scgi$3 [NS,<strong>T=application/x-http-cgi</strong>]
-</pre></div>
-
- <p>Or assume we have some more nifty programs:
- <code>wwwlog</code> (which displays the
- <code>access.log</code> for a URL subtree and
- <code>wwwidx</code> (which runs Glimpse on a URL
- subtree). We have to provide the URL area to these
- programs so they know on which area they have to act on.
- But usually this ugly, because they are all the times
- still requested from that areas, i.e. typically we would
- run the <code>swwidx</code> program from within
- <code>/u/user/foo/</code> via hyperlink to</p>
-
-<div class="example"><pre>
-/internal/cgi/user/swwidx?i=/u/user/foo/
-</pre></div>
-
- <p>which is ugly. Because we have to hard-code
- <strong>both</strong> the location of the area
- <strong>and</strong> the location of the CGI inside the
- hyperlink. When we have to reorganize the area, we spend a
- lot of time changing the various hyperlinks.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>The solution here is to provide a special new URL format
- which automatically leads to the proper CGI invocation.
- We configure the following:</p>
-
-<div class="example"><pre>
-RewriteRule ^/([uge])/([^/]+)(/?.*)/\* /internal/cgi/user/wwwidx?i=/$1/$2$3/
-RewriteRule ^/([uge])/([^/]+)(/?.*):log /internal/cgi/user/wwwlog?f=/$1/$2$3
-</pre></div>
-
- <p>Now the hyperlink to search at
- <code>/u/user/foo/</code> reads only</p>
-
-<div class="example"><pre>
-HREF="*"
-</pre></div>
-
- <p>which internally gets automatically transformed to</p>
-
-<div class="example"><pre>
-/internal/cgi/user/wwwidx?i=/u/user/foo/
-</pre></div>
-
- <p>The same approach leads to an invocation for the
- access log CGI program when the hyperlink
- <code>:log</code> gets used.</p>
- </dd>
- </dl>
-
-
-
- <h3>From Static to Dynamic</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>How can we transform a static page
- <code>foo.html</code> into a dynamic variant
- <code>foo.cgi</code> in a seamless way, i.e. without notice
- by the browser/user.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We just rewrite the URL to the CGI-script and force the
- correct MIME-type so it gets really run as a CGI-script.
- This way a request to <code>/~quux/foo.html</code>
- internally leads to the invocation of
- <code>/~quux/foo.cgi</code>.</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^foo\.<strong>html</strong>$ foo.<strong>cgi</strong> [T=<strong>application/x-httpd-cgi</strong>]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>On-the-fly Content-Regeneration</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Here comes a really esoteric feature: Dynamically
- generated but statically served pages, i.e. pages should be
- delivered as pure static pages (read from the filesystem
- and just passed through), but they have to be generated
- dynamically by the webserver if missing. This way you can
- have CGI-generated pages which are statically served unless
- one (or a cronjob) removes the static contents. Then the
- contents gets refreshed.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- This is done via the following ruleset:
-
-<div class="example"><pre>
-RewriteCond %{REQUEST_FILENAME} <strong>!-s</strong>
-RewriteRule ^page\.<strong>html</strong>$ page.<strong>cgi</strong> [T=application/x-httpd-cgi,L]
-</pre></div>
-
- <p>Here a request to <code>page.html</code> leads to a
- internal run of a corresponding <code>page.cgi</code> if
- <code>page.html</code> is still missing or has filesize
- null. The trick here is that <code>page.cgi</code> is a
- usual CGI script which (additionally to its <code>STDOUT</code>)
- writes its output to the file <code>page.html</code>.
- Once it was run, the server sends out the data of
- <code>page.html</code>. When the webmaster wants to force
- a refresh the contents, he just removes
- <code>page.html</code> (usually done by a cronjob).</p>
- </dd>
- </dl>
-
-
-
- <h3>Document With Autorefresh</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Wouldn't it be nice while creating a complex webpage if
- the webbrowser would automatically refresh the page every
- time we write a new version from within our editor?
- Impossible?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>No! We just combine the MIME multipart feature, the
- webserver NPH feature and the URL manipulation power of
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. First, we establish a new
- URL feature: Adding just <code>:refresh</code> to any
- URL causes this to be refreshed every time it gets
- updated on the filesystem.</p>
-
-<div class="example"><pre>
-RewriteRule ^(/[uge]/[^/]+/?.*):refresh /internal/cgi/apache/nph-refresh?f=$1
-</pre></div>
-
- <p>Now when we reference the URL</p>
-
-<div class="example"><pre>
-/u/foo/bar/page.html:refresh
-</pre></div>
-
- <p>this leads to the internal invocation of the URL</p>
-
-<div class="example"><pre>
-/internal/cgi/apache/nph-refresh?f=/u/foo/bar/page.html
-</pre></div>
-
- <p>The only missing part is the NPH-CGI script. Although
- one would usually say "left as an exercise to the reader"
- ;-) I will provide this, too.</p>
-
-<div class="example"><pre>
-#!/sw/bin/perl
-##
-## nph-refresh -- NPH/CGI script for auto refreshing pages
-## Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved.
-##
-$| = 1;
-
-# split the QUERY_STRING variable
-@pairs = split(/&amp;/, $ENV{'QUERY_STRING'});
-foreach $pair (@pairs) {
- ($name, $value) = split(/=/, $pair);
- $name =~ tr/A-Z/a-z/;
- $name = 'QS_' . $name;
- $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
- eval "\$$name = \"$value\"";
-}
-$QS_s = 1 if ($QS_s eq '');
-$QS_n = 3600 if ($QS_n eq '');
-if ($QS_f eq '') {
- print "HTTP/1.0 200 OK\n";
- print "Content-type: text/html\n\n";
- print "&amp;lt;b&amp;gt;ERROR&amp;lt;/b&amp;gt;: No file given\n";
- exit(0);
-}
-if (! -f $QS_f) {
- print "HTTP/1.0 200 OK\n";
- print "Content-type: text/html\n\n";
- print "&amp;lt;b&amp;gt;ERROR&amp;lt;/b&amp;gt;: File $QS_f not found\n";
- exit(0);
-}
-
-sub print_http_headers_multipart_begin {
- print "HTTP/1.0 200 OK\n";
- $bound = "ThisRandomString12345";
- print "Content-type: multipart/x-mixed-replace;boundary=$bound\n";
- &amp;print_http_headers_multipart_next;
-}
-
-sub print_http_headers_multipart_next {
- print "\n--$bound\n";
-}
-
-sub print_http_headers_multipart_end {
- print "\n--$bound--\n";
-}
-
-sub displayhtml {
- local($buffer) = @_;
- $len = length($buffer);
- print "Content-type: text/html\n";
- print "Content-length: $len\n\n";
- print $buffer;
-}
-
-sub readfile {
- local($file) = @_;
- local(*FP, $size, $buffer, $bytes);
- ($x, $x, $x, $x, $x, $x, $x, $size) = stat($file);
- $size = sprintf("%d", $size);
- open(FP, "&amp;lt;$file");
- $bytes = sysread(FP, $buffer, $size);
- close(FP);
- return $buffer;
-}
-
-$buffer = &amp;readfile($QS_f);
-&amp;print_http_headers_multipart_begin;
-&amp;displayhtml($buffer);
-
-sub mystat {
- local($file) = $_[0];
- local($time);
-
- ($x, $x, $x, $x, $x, $x, $x, $x, $x, $mtime) = stat($file);
- return $mtime;
-}
-
-$mtimeL = &amp;mystat($QS_f);
-$mtime = $mtime;
-for ($n = 0; $n &amp;lt; $QS_n; $n++) {
- while (1) {
- $mtime = &amp;mystat($QS_f);
- if ($mtime ne $mtimeL) {
- $mtimeL = $mtime;
- sleep(2);
- $buffer = &amp;readfile($QS_f);
- &amp;print_http_headers_multipart_next;
- &amp;displayhtml($buffer);
- sleep(5);
- $mtimeL = &amp;mystat($QS_f);
- last;
- }
- sleep($QS_s);
- }
-}
-
-&amp;print_http_headers_multipart_end;
-
-exit(0);
-
-##EOF##
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Mass Virtual Hosting</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>The <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> feature of Apache is nice
- and works great when you just have a few dozens
- virtual hosts. But when you are an ISP and have hundreds of
- virtual hosts to provide this feature is not the best
- choice.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>To provide this feature we map the remote webpage or even
- the complete remote webarea to our namespace by the use
- of the <dfn>Proxy Throughput</dfn> feature (flag <code>[P]</code>):</p>
-
-<div class="example"><pre>
-##
-## vhost.map
-##
-www.vhost1.dom:80 /path/to/docroot/vhost1
-www.vhost2.dom:80 /path/to/docroot/vhost2
- :
-www.vhostN.dom:80 /path/to/docroot/vhostN
-</pre></div>
-
-<div class="example"><pre>
-##
-## httpd.conf
-##
- :
-# use the canonical hostname on redirects, etc.
-UseCanonicalName on
-
- :
-# add the virtual host in front of the CLF-format
-CustomLog /path/to/access_log "%{VHOST}e %h %l %u %t \"%r\" %&gt;s %b"
- :
-
-# enable the rewriting engine in the main server
-RewriteEngine on
-
-# define two maps: one for fixing the URL and one which defines
-# the available virtual hosts with their corresponding
-# DocumentRoot.
-RewriteMap lowercase int:tolower
-RewriteMap vhost txt:/path/to/vhost.map
-
-# Now do the actual virtual host mapping
-# via a huge and complicated single rule:
-#
-# 1. make sure we don't map for common locations
-RewriteCond %{REQUEST_URI} !^/commonurl1/.*
-RewriteCond %{REQUEST_URI} !^/commonurl2/.*
- :
-RewriteCond %{REQUEST_URI} !^/commonurlN/.*
-#
-# 2. make sure we have a Host header, because
-# currently our approach only supports
-# virtual hosting through this header
-RewriteCond %{HTTP_HOST} !^$
-#
-# 3. lowercase the hostname
-RewriteCond ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$
-#
-# 4. lookup this hostname in vhost.map and
-# remember it only when it is a path
-# (and not "NONE" from above)
-RewriteCond ${vhost:%1} ^(/.*)$
-#
-# 5. finally we can map the URL to its docroot location
-# and remember the virtual host for logging puposes
-RewriteRule ^/(.*)$ %1/$1 [E=VHOST:${lowercase:%{HTTP_HOST}}]
- :
-</pre></div>
- </dd>
- </dl>
-
-
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="access" id="access">Access Restriction</a></h2>
-
-
-
- <h3>Blocking of Robots</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>How can we block a really annoying robot from
- retrieving pages of a specific webarea? A
- <code>/robots.txt</code> file containing entries of the
- "Robot Exclusion Protocol" is typically not enough to get
- rid of such a robot.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We use a ruleset which forbids the URLs of the webarea
- <code>/~quux/foo/arc/</code> (perhaps a very deep
- directory indexed area where the robot traversal would
- create big server load). We have to make sure that we
- forbid access only to the particular robot, i.e. just
- forbidding the host where the robot runs is not enough.
- This would block users from this host, too. We accomplish
- this by also matching the User-Agent HTTP header
- information.</p>
-
-<div class="example"><pre>
-RewriteCond %{HTTP_USER_AGENT} ^<strong>NameOfBadRobot</strong>.*
-RewriteCond %{REMOTE_ADDR} ^<strong>123\.45\.67\.[8-9]</strong>$
-RewriteRule ^<strong>/~quux/foo/arc/</strong>.+ - [<strong>F</strong>]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Blocked Inline-Images</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Assume we have under <code>http://www.quux-corp.de/~quux/</code>
- some pages with inlined GIF graphics. These graphics are
- nice, so others directly incorporate them via hyperlinks to
- their pages. We don't like this practice because it adds
- useless traffic to our server.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>While we cannot 100% protect the images from inclusion,
- we can at least restrict the cases where the browser
- sends a HTTP Referer header.</p>
-
-<div class="example"><pre>
-RewriteCond %{HTTP_REFERER} <strong>!^$</strong>
-RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.*$ [NC]
-RewriteRule <strong>.*\.gif$</strong> - [F]
-</pre></div>
-
-<div class="example"><pre>
-RewriteCond %{HTTP_REFERER} !^$
-RewriteCond %{HTTP_REFERER} !.*/foo-with-gif\.html$
-RewriteRule <strong>^inlined-in-foo\.gif$</strong> - [F]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Host Deny</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>How can we forbid a list of externally configured hosts
- from using our server?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>For Apache &gt;= 1.3b6:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteMap hosts-deny txt:/path/to/hosts.deny
-RewriteCond ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND} !=NOT-FOUND [OR]
-RewriteCond ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND
-RewriteRule ^/.* - [F]
-</pre></div>
-
- <p>For Apache &lt;= 1.3b6:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteMap hosts-deny txt:/path/to/hosts.deny
-RewriteRule ^/(.*)$ ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}/$1
-RewriteRule !^NOT-FOUND/.* - [F]
-RewriteRule ^NOT-FOUND/(.*)$ ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}/$1
-RewriteRule !^NOT-FOUND/.* - [F]
-RewriteRule ^NOT-FOUND/(.*)$ /$1
-</pre></div>
-
-<div class="example"><pre>
-##
-## hosts.deny
-##
-## ATTENTION! This is a map, not a list, even when we treat it as such.
-## mod_rewrite parses it for key/value pairs, so at least a
-## dummy value "-" must be present for each entry.
-##
-
-193.102.180.41 -
-bsdti1.sdm.de -
-192.76.162.40 -
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Proxy Deny</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>How can we forbid a certain host or even a user of a
- special host from using the Apache proxy?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We first have to make sure <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- is below(!) <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> in the Configuration
- file when compiling the Apache webserver. This way it gets
- called <em>before</em> <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Then we
- configure the following for a host-dependent deny...</p>
-
-<div class="example"><pre>
-RewriteCond %{REMOTE_HOST} <strong>^badhost\.mydomain\.com$</strong>
-RewriteRule !^http://[^/.]\.mydomain.com.* - [F]
-</pre></div>
-
- <p>...and this one for a user@host-dependent deny:</p>
-
-<div class="example"><pre>
-RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>^badguy@badhost\.mydomain\.com$</strong>
-RewriteRule !^http://[^/.]\.mydomain.com.* - [F]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Special Authentication Variant</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Sometimes a very special authentication is needed, for
- instance a authentication which checks for a set of
- explicitly configured users. Only these should receive
- access and without explicit prompting (which would occur
- when using the Basic Auth via <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>).</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We use a list of rewrite conditions to exclude all except
- our friends:</p>
-
-<div class="example"><pre>
-RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>!^friend1@client1.quux-corp\.com$</strong>
-RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>!^friend2</strong>@client2.quux-corp\.com$
-RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>!^friend3</strong>@client3.quux-corp\.com$
-RewriteRule ^/~quux/only-for-friends/ - [F]
-</pre></div>
- </dd>
- </dl>
-
-
-
- <h3>Referer-based Deflector</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>How can we program a flexible URL Deflector which acts
- on the "Referer" HTTP header and can be configured with as
- many referring pages as we like?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>Use the following really tricky ruleset...</p>
-
-<div class="example"><pre>
-RewriteMap deflector txt:/path/to/deflector.map
-
-RewriteCond %{HTTP_REFERER} !=""
-RewriteCond ${deflector:%{HTTP_REFERER}} ^-$
-RewriteRule ^.* %{HTTP_REFERER} [R,L]
-
-RewriteCond %{HTTP_REFERER} !=""
-RewriteCond ${deflector:%{HTTP_REFERER}|NOT-FOUND} !=NOT-FOUND
-RewriteRule ^.* ${deflector:%{HTTP_REFERER}} [R,L]
-</pre></div>
-
- <p>... in conjunction with a corresponding rewrite
- map:</p>
-
-<div class="example"><pre>
-##
-## deflector.map
-##
-
-http://www.badguys.com/bad/index.html -
-http://www.badguys.com/bad/index2.html -
-http://www.badguys.com/bad/index3.html http://somewhere.com/
-</pre></div>
-
- <p>This automatically redirects the request back to the
- referring page (when "<code>-</code>" is used as the value
- in the map) or to a specific URL (when an URL is specified
- in the map as the second argument).</p>
- </dd>
- </dl>
-
-
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="other" id="other">Other</a></h2>
-
-
-
- <h3>External Rewriting Engine</h3>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>A FAQ: How can we solve the FOO/BAR/QUUX/etc.
- problem? There seems no solution by the use of
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>...</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>Use an external <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>, i.e. a program which acts
- like a <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>. It is run once on startup of Apache
- receives the requested URLs on <code>STDIN</code> and has
- to put the resulting (usually rewritten) URL on
- <code>STDOUT</code> (same order!).</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteMap quux-map <strong>prg:</strong>/path/to/map.quux.pl
-RewriteRule ^/~quux/(.*)$ /~quux/<strong>${quux-map:$1}</strong>
-</pre></div>
-
-<div class="example"><pre>
-#!/path/to/perl
-
-# disable buffered I/O which would lead
-# to deadloops for the Apache server
-$| = 1;
-
-# read URLs one per line from stdin and
-# generate substitution URL on stdout
-while (&lt;&gt;) {
- s|^foo/|bar/|;
- print $_;
-}
-</pre></div>
-
- <p>This is a demonstration-only example and just rewrites
- all URLs <code>/~quux/foo/...</code> to
- <code>/~quux/bar/...</code>. Actually you can program
- whatever you like. But notice that while such maps can be
- <strong>used</strong> also by an average user, only the
- system administrator can <strong>define</strong> it.</p>
- </dd>
- </dl>
-
-
-
- </div></div>
+</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/misc/rewriteguide.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/misc/rewriteguide.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/rewriteguide.html.ko.euc-kr b/docs/manual/misc/rewriteguide.html.ko.euc-kr
index cfaf477e..a3b9747a 100644
--- a/docs/manual/misc/rewriteguide.html.ko.euc-kr
+++ b/docs/manual/misc/rewriteguide.html.ko.euc-kr
@@ -2001,6 +2001,6 @@ while (&lt;&gt;) {
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/misc/rewriteguide.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/misc/rewriteguide.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/security_tips.html.en b/docs/manual/misc/security_tips.html.en
index 5ceed29b..e1c814d9 100644
--- a/docs/manual/misc/security_tips.html.en
+++ b/docs/manual/misc/security_tips.html.en
@@ -350,6 +350,6 @@
<a href="../ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/misc/security_tips.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/security_tips.html.ko.euc-kr b/docs/manual/misc/security_tips.html.ko.euc-kr
index 6a8c6665..ed198f2c 100644
--- a/docs/manual/misc/security_tips.html.ko.euc-kr
+++ b/docs/manual/misc/security_tips.html.ko.euc-kr
@@ -340,6 +340,6 @@
<a href="../ko/misc/security_tips.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/misc/security_tips.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/misc/security_tips.html.tr.utf8 b/docs/manual/misc/security_tips.html.tr.utf8
index 58350500..adad628c 100644
--- a/docs/manual/misc/security_tips.html.tr.utf8
+++ b/docs/manual/misc/security_tips.html.tr.utf8
@@ -339,6 +339,6 @@
<a href="../ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/misc/security_tips.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/beos.html.de b/docs/manual/mod/beos.html.de
index 14494d57..828baa15 100644
--- a/docs/manual/mod/beos.html.de
+++ b/docs/manual/mod/beos.html.de
@@ -104,6 +104,6 @@
<a href="../es/mod/beos.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ko/mod/beos.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/beos.html.en b/docs/manual/mod/beos.html.en
index dba3e43e..e2478f45 100644
--- a/docs/manual/mod/beos.html.en
+++ b/docs/manual/mod/beos.html.en
@@ -102,6 +102,6 @@ will handle during its life</td></tr>
<a href="../es/mod/beos.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ko/mod/beos.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/beos.html.es b/docs/manual/mod/beos.html.es
index a3e2676e..e713d513 100644
--- a/docs/manual/mod/beos.html.es
+++ b/docs/manual/mod/beos.html.es
@@ -54,6 +54,7 @@ optimizado para BeOS.</td></tr>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li>
+<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startthreads">StartThreads</a></li>
@@ -110,6 +111,6 @@ atender durante su vida</td></tr>
<a href="../es/mod/beos.html" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ko/mod/beos.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="../faq/">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/beos.html.ko.euc-kr b/docs/manual/mod/beos.html.ko.euc-kr
index af78690e..1865249a 100644
--- a/docs/manual/mod/beos.html.ko.euc-kr
+++ b/docs/manual/mod/beos.html.ko.euc-kr
@@ -49,6 +49,7 @@
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li>
+<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startthreads">StartThreads</a></li>
@@ -100,6 +101,6 @@
<a href="../es/mod/beos.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="../ko/mod/beos.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/core.html b/docs/manual/mod/core.html
index faf3d61b..81c99a44 100644
--- a/docs/manual/mod/core.html
+++ b/docs/manual/mod/core.html
@@ -8,6 +8,10 @@ URI: core.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: core.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: core.html.ja.utf8
Content-Language: ja
Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/mod/core.html.de b/docs/manual/mod/core.html.de
index e06ecfc8..24459f06 100644
--- a/docs/manual/mod/core.html.de
+++ b/docs/manual/mod/core.html.de
@@ -23,6 +23,7 @@
<div class="toplang">
<p><span>Verfügbare Sprachen: </span><a href="../de/mod/core.html" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
@@ -35,6 +36,7 @@ Servers</td></tr>
</div>
<div id="quickview"><h3 class="directives">Direktiven</h3>
<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#acceptfilter">AcceptFilter</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li>
@@ -57,6 +59,7 @@ Servers</td></tr>
<li><img alt="" src="../images/down.gif" /> <a href="#files">&lt;Files&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch">&lt;FilesMatch&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine">&lt;IfDefine&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule">&lt;IfModule&gt;</a></li>
@@ -77,6 +80,7 @@ Servers</td></tr>
<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#require">Require</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li>
@@ -93,13 +97,32 @@ Servers</td></tr>
<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#suexec">Suexec</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost">&lt;VirtualHost&gt;</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a>-<a name="acceptfilter" id="acceptfilter">Direktive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Configures optimizations for a Protocol's Listener Sockets</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AcceptFilter <var>protocol</var> <var>accept_filter</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache 2.1.5 and later</td></tr>
+</table><p>Die Dokumentation zu dieser Direktive wurde
+ noch nicht übersetzt. Bitte schauen Sie in die englische
+ Version.</p><h3>Siehe auch</h3>
+<ul>
+<li><code class="directive">Protocol</code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a>-<a name="acceptpathinfo" id="acceptpathinfo">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ressourcen lassen angehängte Pfadangaben zu</td></tr>
@@ -1347,6 +1370,17 @@ angegebenen MIME-Content-Type</td></tr>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="GprofDir" id="GprofDir">GprofDir</a>-<a name="gprofdir" id="gprofdir">Direktive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Directory to write gmon.out profiling data to. </td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr>
+</table><p>Die Dokumentation zu dieser Direktive wurde
+ noch nicht übersetzt. Bitte schauen Sie in die englische
+ Version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a>-<a name="hostnamelookups" id="hostnamelookups">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert DNS-Lookups auf Client-IP-Adressen</td></tr>
@@ -1516,7 +1550,7 @@ Server-Konfigurationsdatei ein</td></tr>
<p>Die Direktive erlaubt das Einfügen anderer Konfigurationsdateien
in die Konfigurationsdatei des Servers.</p>
- <p>Shell-typische (<code>fnmatch()</code>) Platzhlaterzeichen können
+ <p>Shell-typische (<code>fnmatch()</code>) Platzhalterzeichen können
dazu verwendet werden, mehrere Dateien auf einmal in alphabetischer
Reihenfolge einzufügen. Wenn <code class="directive">Include</code>
darüber hinaus auf ein Verzeichnis anstatt auf eine Datei zeigt,
@@ -2462,6 +2496,24 @@ bestimmten Verzeichnis verfügbar sind</td></tr>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Protocol" id="Protocol">Protocol</a>-<a name="protocol" id="protocol">Direktive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Protocol for a listening socket</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Protocol <var>protocol</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache 2.1.5 and later.
+On Windows from Apache 2.3.3 and later.</td></tr>
+</table><p>Die Dokumentation zu dieser Direktive wurde
+ noch nicht übersetzt. Bitte schauen Sie in die englische
+ Version.</p><h3>Siehe auch</h3>
+<ul>
+<li><code class="directive">AcceptFilter</code></li>
+<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Require" id="Require">Require</a>-<a name="require" id="require">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Wählt die authentisierten Benutzer aus, die auf eine
@@ -3129,6 +3181,20 @@ verarbeiten</td></tr>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Suexec" id="Suexec">Suexec</a>-<a name="suexec" id="suexec">Direktive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Enable or disable the suEXEC feature</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Suexec On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>On if suexec binary exists with proper owner and mode,
+Off otherwise</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache httpd 2.2.18 and later</td></tr>
+</table><p>Die Dokumentation zu dieser Direktive wurde
+ noch nicht übersetzt. Bitte schauen Sie in die englische
+ Version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a>-<a name="timeout" id="timeout">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Zeitspanne, die der Server auf verschiedene Ereignisse wartet,
@@ -3163,6 +3229,20 @@ bevor er die Anfrage abbricht</td></tr>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="TraceEnable" id="TraceEnable">TraceEnable</a>-<a name="traceenable" id="traceenable">Direktive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Determines the behaviour on <code>TRACE</code>
+requests</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TraceEnable <var>[on|off|extended]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>TraceEnable on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache 1.3.34, 2.0.55 and later</td></tr>
+</table><p>Die Dokumentation zu dieser Direktive wurde
+ noch nicht übersetzt. Bitte schauen Sie in die englische
+ Version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a>-<a name="usecanonicalname" id="usecanonicalname">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt, wie der Server seinen eigenen Namen und Port
@@ -3233,6 +3313,25 @@ ermittelt</td></tr>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="UseCanonicalPhysicalPort" id="UseCanonicalPhysicalPort">UseCanonicalPhysicalPort</a>-<a name="usecanonicalphysicalport" id="usecanonicalphysicalport">Direktive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Configures how the server determines its own name and
+port</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UseCanonicalPhysicalPort On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr>
+</table><p>Die Dokumentation zu dieser Direktive wurde
+ noch nicht übersetzt. Bitte schauen Sie in die englische
+ Version.</p><h3>Siehe auch</h3>
+<ul>
+<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
+<li><code class="directive"><a href="#servername">ServerName</a></code></li>
+<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="VirtualHost" id="VirtualHost">&lt;VirtualHost&gt;</a>-<a name="virtualhost" id="virtualhost">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Enthält Direktiven, die nur auf bestimmte Hostnamen oder
@@ -3357,9 +3456,10 @@ IP-Adressen angewendet werden</td></tr>
<div class="bottomlang">
<p><span>Verfügbare Sprachen: </span><a href="../de/mod/core.html" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/core.html.en b/docs/manual/mod/core.html.en
index 2ff9124f..2dc3db79 100644
--- a/docs/manual/mod/core.html.en
+++ b/docs/manual/mod/core.html.en
@@ -23,6 +23,7 @@
<div class="toplang">
<p><span>Available Languages: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/core.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
@@ -55,6 +56,7 @@ available</td></tr>
<li><img alt="" src="../images/down.gif" /> <a href="#files">&lt;Files&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch">&lt;FilesMatch&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine">&lt;IfDefine&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule">&lt;IfModule&gt;</a></li>
@@ -75,6 +77,7 @@ available</td></tr>
<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#require">Require</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li>
@@ -91,6 +94,7 @@ available</td></tr>
<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#suexec">Suexec</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li>
@@ -109,12 +113,12 @@ available</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1.5 and later</td></tr>
</table>
- <p>This directive enables operating system specific optimizations for a
- listening socket by the Protocol type. The basic premise is for the
- kernel to not send a socket to the server process until either data
+ <p>This directive enables operating system specific optimizations for a
+ listening socket by the Protocol type. The basic premise is for the
+ kernel to not send a socket to the server process until either data
is received or an entire HTTP Request is buffered. Only
<a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&amp;sektion=9">
- FreeBSD's Accept Filters</a> and Linux's more primitive
+ FreeBSD's Accept Filters</a> and Linux's more primitive
<code>TCP_DEFER_ACCEPT</code> are currently supported.</p>
<p>The default values on FreeBSD are:</p>
@@ -122,12 +126,12 @@ available</td></tr>
AcceptFilter http httpready <br />
AcceptFilter https dataready
</code></p></div>
-
+
<p>The <code>httpready</code> accept filter buffers entire HTTP requests at
- the kernel level. Once an entire request is received, the kernel then
- sends it to the server. See the
+ the kernel level. Once an entire request is received, the kernel then
+ sends it to the server. See the
<a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&amp;sektion=9">
- accf_http(9)</a> man page for more details. Since HTTPS requests are
+ accf_http(9)</a> man page for more details. Since HTTPS requests are
encrypted only the <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&amp;sektion=9">
accf_data(9)</a> filter is used.</p>
@@ -138,18 +142,22 @@ available</td></tr>
</code></p></div>
<p>Linux's <code>TCP_DEFER_ACCEPT</code> does not support buffering http
- requests. Any value besides <code>none</code> will enable
+ requests. Any value besides <code>none</code> will enable
<code>TCP_DEFER_ACCEPT</code> on that listener. For more details
- see the Linux
+ see the Linux
<a href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/tcp.7.html">
tcp(7)</a> man page.</p>
- <p>Using <code>none</code> for an argument will disable any accept filters
+ <p>Using <code>none</code> for an argument will disable any accept filters
for that protocol. This is useful for protocols that require a server
send data first, such as <code>nntp</code>:</p>
<div class="example"><p><code>AcceptFilter nntp none</code></p></div>
+<h3>See also</h3>
+<ul>
+<li><code class="directive">Protocol</code></li>
+</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a> <a name="acceptpathinfo" id="acceptpathinfo">Directive</a></h2>
@@ -381,26 +389,35 @@ content-type is <code>text/plain</code> or <code>text/html</code></td></tr>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines whether encoded path separators in URLs are allowed to
be passed through</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowEncodedSlashes On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowEncodedSlashes On|Off|NoDecode</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.0.46 and later</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache httpd 2.0.46 and later.
+NoDecode option available in 2.2.18 and later.</td></tr>
</table>
<p>The <code class="directive">AllowEncodedSlashes</code> directive allows URLs
which contain encoded path separators (<code>%2F</code> for <code>/</code>
and additionally <code>%5C</code> for <code>\</code> on according systems)
- to be used. Normally such URLs are refused with a 404 (Not found) error.</p>
+ to be used in the path info.</p>
+
+ <p>With the default value, <code>Off</code>, such URLs are refused
+ with a 404 (Not found) error.</p>
+
+ <p>With the value <code>On</code>, such URLs are accepted, and encoded
+ slashes are decoded like all other encoded characters.</p>
+
+ <p>With the value <code>NoDecode</code>, such URLs are accepted, but
+ encoded slashes are not decoded but left in their encoded state.</p>
<p>Turning <code class="directive">AllowEncodedSlashes</code> <code>On</code> is
mostly useful when used in conjunction with <code>PATH_INFO</code>.</p>
<div class="note"><h3>Note</h3>
- <p>Allowing encoded slashes does <em>not</em> imply <em>decoding</em>.
- Occurrences of <code>%2F</code> or <code>%5C</code> (<em>only</em> on
- according systems) will be left as such in the otherwise decoded URL
- string.</p>
+ <p>If encoded slashes are needed in path info, use of <code>NoDecode</code> is
+ strongly recommended as a security measure. Allowing slashes
+ to be decoded could potentially allow unsafe paths.</p>
</div>
<h3>See also</h3>
@@ -503,7 +520,7 @@ be passed through</td></tr>
server error.</p>
<div class="note"><p>For security and performance reasons, do not set
- <code>AllowOverride</code> to anything other than <code>None</code>
+ <code>AllowOverride</code> to anything other than <code>None</code>
in your <code>&lt;Directory /&gt;</code> block. Instead, find (or
create) the <code>&lt;Directory&gt;</code> block that refers to the
directory where you're actually planning to place a
@@ -686,7 +703,7 @@ server cannot determine a type in any other way</td></tr>
<div class="directive-section"><h2><a name="Directory" id="Directory">&lt;Directory&gt;</a> <a name="directory" id="directory">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enclose a group of directives that apply only to the
-named file-system directory and sub-directories</td></tr>
+named file-system directory, sub-directories, and their contents</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;Directory <var>directory-path</var>&gt;
... &lt;/Directory&gt;</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
@@ -695,8 +712,9 @@ named file-system directory and sub-directories</td></tr>
</table>
<p><code class="directive">&lt;Directory&gt;</code> and
<code>&lt;/Directory&gt;</code> are used to enclose a group of
- directives that will apply only to the named directory and
- sub-directories of that directory. Any directive that is allowed
+ directives that will apply only to the named directory,
+ sub-directories of that directory, and the files within the respective
+ directories. Any directive that is allowed
in a directory context may be used. <var>Directory-path</var> is
either the full path to a directory, or a wild-card string using
Unix shell-style matching. In a wild-card string, <code>?</code> matches
@@ -748,7 +766,7 @@ named file-system directory and sub-directories</td></tr>
</span>
&lt;/Directory&gt;<br />
<br />
- &lt;Directory /home/&gt;<br />
+ &lt;Directory /home&gt;<br />
<span class="indent">
AllowOverride FileInfo<br />
</span>
@@ -835,9 +853,9 @@ subdirectories</td></tr>
</table>
<p><code class="directive">&lt;DirectoryMatch&gt;</code> and
<code>&lt;/DirectoryMatch&gt;</code> are used to enclose a group
- of directives which will apply only to the named directory and
- <em>sub-directories of that directory</em>, the same as <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>. However, it
- takes as an argument a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular
+ of directives which will apply only to the named directory and
+ <em>sub-directories of that directory</em> (and the files within), the same as <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>. However, it
+ takes as an argument a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular
expression</a>. For example:</p>
<div class="example"><p><code>
@@ -884,7 +902,7 @@ from the web</td></tr>
<p>then an access to
<code>http://www.my.host.com/index.html</code> refers to
- <code>/usr/web/index.html</code>. If the <var>directory-path</var> is
+ <code>/usr/web/index.html</code>. If the <var>directory-path</var> is
not absolute then it is assumed to be relative to the <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
<p>The <code class="directive">DocumentRoot</code> should be specified without
@@ -944,12 +962,6 @@ Locations</a></li>
</span>
&lt;/Directory&gt;
</code></p></div>
- <p>Please note that the per-directory and .htaccess configuration
- of <code class="directive">EnableSendfile</code> is not supported by
- <code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code>.
- Only global definition of <code class="directive">EnableSendfile</code>
- is taken into account by the module.
- </p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -1008,6 +1020,13 @@ Locations</a></li>
&lt;/Directory&gt;
</code></p></div>
+ <p>Please note that the per-directory and .htaccess configuration
+ of <code class="directive">EnableSendfile</code> is not supported by
+ <code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code>.
+ Only global definition of <code class="directive">EnableSendfile</code>
+ is taken into account by the module.
+ </p>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a> <a name="errordocument" id="errordocument">Directive</a></h2>
@@ -1128,7 +1147,7 @@ in case of an error</td></tr>
</table>
<p>The <code class="directive">ErrorLog</code> directive sets the name of
the file to which the server will log any errors it encounters. If
- the <var>file-path</var> is not absolute then it is assumed to be
+ the <var>file-path</var> is not absolute then it is assumed to be
relative to the <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
<div class="example"><h3>Example</h3><p><code>
@@ -1163,8 +1182,8 @@ in case of an error</td></tr>
anyone other than the user that starts the server.</p>
<div class="warning"><h3>Note</h3>
<p>When entering a file path on non-Unix platforms, care should be taken
- to make sure that only forward slashed are used even though the platform
- may allow the use of back slashes. In general it is a good idea to always
+ to make sure that only forward slashes are used even though the platform
+ may allow the use of back slashes. In general it is a good idea to always
use forward slashes throughout the configuration files.</p>
</div>
@@ -1234,8 +1253,8 @@ HTTP response header for static files</td></tr>
changed via <code class="directive">FileETag</code>.
</div>
<div class="note"><h3>Server Side Includes</h3>
- An ETag is not generated for responses parsed by <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>,
- since the response entity can change without a change of the INode, MTime, or Size
+ An ETag is not generated for responses parsed by <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>,
+ since the response entity can change without a change of the INode, MTime, or Size
of the static file with embedded SSI directives.
</div>
@@ -1270,7 +1289,7 @@ filenames</td></tr>
<p>The <var>filename</var> argument should include a filename, or
a wild-card string, where <code>?</code> matches any single character,
and <code>*</code> matches any sequences of characters.
- <a class="glossarylink" href="../glossary.html#regex" title="see glossary">Regular expressions</a>
+ <a class="glossarylink" href="../glossary.html#regex" title="see glossary">Regular expressions</a>
can also be used, with the addition of the
<code>~</code> character. For example:</p>
@@ -1307,7 +1326,7 @@ filenames</td></tr>
<p>The <code class="directive">&lt;FilesMatch&gt;</code> directive
limits the scope of the enclosed directives by filename, just as the
<code class="directive"><a href="#files">&lt;Files&gt;</a></code> directive
- does. However, it accepts a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular
+ does. However, it accepts a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular
expression</a>. For example:</p>
<div class="example"><p><code>
@@ -1374,6 +1393,25 @@ MIME content-type</td></tr>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="GprofDir" id="GprofDir">GprofDir</a> <a name="gprofdir" id="gprofdir">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directory to write gmon.out profiling data to. </td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>When the server has been compiled with gprof profiling suppport,
+ <code class="directive">GprofDir</code> causes <code>gmon.out</code> files to
+ be written to the specified directory when the process exits. If the
+ argument ends with a percent symbol ('%'), subdirectories are created
+ for each process id.</p>
+
+ <p>This directive currently only works with the <code class="module"><a href="../mod/prefork.html">prefork</a></code>
+ MPM.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a> <a name="hostnamelookups" id="hostnamelookups">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables DNS lookups on client IP addresses</td></tr>
@@ -1559,7 +1597,7 @@ the server configuration files</td></tr>
files in a directory that can cause <code class="program"><a href="../programs/httpd.html">httpd</a></code> to
fail.</p>
- <p>The file path specified may be an absolute path, or may be relative
+ <p>The file path specified may be an absolute path, or may be relative
to the <code class="directive"><a href="#serverroot">ServerRoot</a></code> directory.</p>
<p>Examples:</p>
@@ -1640,7 +1678,7 @@ requests on a persistent connection</td></tr>
may cause performance problems in heavily loaded servers. The
higher the timeout, the more server processes will be kept
occupied waiting on connections with idle clients.</p>
-
+
<p>In a name-based virtual host context, the value of the first
defined virtual host (the default host) in a set of <code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code> will be used.
The other values will be ignored.</p>
@@ -1805,6 +1843,7 @@ from the client</td></tr>
LimitRequestBody 102400
</code></p></div>
+ <div class="note">Note: not applicable to proxy requests.</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -1814,7 +1853,7 @@ from the client</td></tr>
will be accepted from the client</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestFields <var>number</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LimitRequestFields 100</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
@@ -1847,6 +1886,12 @@ will be accepted from the client</td></tr>
LimitRequestFields 50
</code></p></div>
+ <div class="warning"><h3>Warning</h3>
+ <p> When name-based virtual hosting is used, the value for this
+ directive is taken from the default (first-listed) virtual host for the
+ <code class="directive">NameVirtualHost</code> the connection was mapped to.</p>
+ </div>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -1856,7 +1901,7 @@ will be accepted from the client</td></tr>
client</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestFieldSize <var>bytes</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LimitRequestFieldSize 8190</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
@@ -1864,11 +1909,11 @@ client</td></tr>
that will be allowed in an HTTP request header.</p>
<p>The <code class="directive">LimitRequestFieldSize</code> directive
- allows the server administrator to reduce or increase the limit
+ allows the server administrator to reduce or increase the limit
on the allowed size of an HTTP request header field. A server
- needs this value to be large enough to hold any one header field
- from a normal client request. The size of a normal request header
- field will vary greatly among different client implementations,
+ needs this value to be large enough to hold any one header field
+ from a normal client request. The size of a normal request header
+ field will vary greatly among different client implementations,
often depending upon the extent to which a user has configured
their browser to support detailed content negotiation. SPNEGO
authentication headers can be up to 12392 bytes.</p>
@@ -1886,6 +1931,12 @@ client</td></tr>
<div class="note">Under normal conditions, the value should not be changed from
the default.</div>
+ <div class="warning"><h3>Warning</h3>
+ <p> When name-based virtual hosting is used, the value for this
+ directive is taken from the default (first-listed) virtual host for the
+ <code class="directive">NameVirtualHost</code> the connection was mapped to.</p>
+ </div>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -1895,11 +1946,11 @@ client</td></tr>
from the client</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestLine <var>bytes</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LimitRequestLine 8190</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>This directive sets the number of <var>bytes</var> that will be
+ <p>This directive sets the number of <var>bytes</var> that will be
allowed on the HTTP request-line.</p>
<p>The <code class="directive">LimitRequestLine</code> directive allows
@@ -1925,6 +1976,13 @@ from the client</td></tr>
<div class="note">Under normal conditions, the value should not be changed from
the default.</div>
+ <div class="warning"><h3>Warning</h3>
+ <p> When name-based virtual hosting is used, the value for this
+ directive is taken from the default (first-listed) virtual host for the
+ <code class="directive">NameVirtualHost</code> the connection was mapped to.</p>
+ </div>
+
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a> <a name="limitxmlrequestbody" id="limitxmlrequestbody">Directive</a></h2>
@@ -1974,12 +2032,39 @@ URLs</td></tr>
locations. Since several different URLs may map to the same
filesystem location, such access controls may by circumvented.</p>
+ <p>The enclosed directives will be applied to the request if the path component
+ of the URL meets <em>any</em> of the following criteria:</p>
+ <ul>
+ <li>The specified location matches exactly the path component of the URL.
+ </li>
+ <li>The specified location, which ends in a forward slash, is a prefix
+ of the path component of the URL (treated as a context root).
+ </li>
+ <li>The specified location, with the addition of a trailing slash, is a
+ prefix of the path component of the URL (also treated as a context root).
+ </li>
+ </ul>
+ <p>In the example below, where no trailing slash is used, requests to
+ /private1, /private1/ and /private1/file.txt will have the enclosed
+ directives applied, but /private1other would not.</p>
+ <div class="example"><p><code>
+ &lt;Location /private1&gt;
+ ...
+ </code></p></div>
+ <p>In the example below, where a trailing slash is used, requests to
+ /private2/ and /private2/file.txt will have the enclosed
+ directives applied, but /private2 and /private2other would not.</p>
+ <div class="example"><p><code>
+ &lt;Location /private2<em>/</em>&gt;
+ ...
+ </code></p></div>
+
<div class="note"><h3>When to use <code class="directive">&lt;Location&gt;</code></h3>
<p>Use <code class="directive">&lt;Location&gt;</code> to apply
directives to content that lives outside the filesystem. For
content that lives in the filesystem, use <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> and <code class="directive"><a href="#files">&lt;Files&gt;</a></code>. An exception is
- <code>&lt;Location /&gt;</code>, which is an easy way to
+ <code>&lt;Location /&gt;</code>, which is an easy way to
apply a configuration to the entire server.</p>
</div>
@@ -2463,6 +2548,38 @@ directory</td></tr>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Protocol" id="Protocol">Protocol</a> <a name="protocol" id="protocol">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Protocol for a listening socket</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Protocol <var>protocol</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1.5 and later.
+On Windows from Apache 2.3.3 and later.</td></tr>
+</table>
+ <p>This directive specifies the protocol used for a specific listening socket.
+ The protocol is used to determine which module should handle a request, and
+ to apply protocol specific optimizations with the <code class="directive">AcceptFilter</code>
+ directive.</p>
+
+ <p>You only need to set the protocol if you are running on non-standard ports, otherwise <code>http</code> is assumed for port 80 and <code>https</code> for port 443.</p>
+
+ <p>For example, if you are running <code>https</code> on a non-standard port, specify the protocol explicitly:</p>
+
+ <div class="example"><p><code>
+ Protocol https
+ </code></p></div>
+
+ <p>You can also specify the protocol using the <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> directive.</p>
+
+<h3>See also</h3>
+<ul>
+<li><code class="directive">AcceptFilter</code></li>
+<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Require" id="Require">Require</a> <a name="require" id="require">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Selects which authenticated users can access
@@ -2474,7 +2591,9 @@ a resource</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>This directive selects which authenticated users can access a
- resource. The restrictions are processed by authorization
+ resource. Multipe instances of this directive are combined with a logical
+ "OR", such that a user matching any <code class="directive">Require </code>line is
+ granted access. The restrictions are processed by authorization
modules. Some of the allowed syntaxes provided by
<code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code> and
<code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> are:</p>
@@ -2518,8 +2637,8 @@ a resource</td></tr>
place the <code class="directive">Require</code> statement into a
<code class="directive"><a href="#limit">&lt;Limit&gt;</a></code>
section.</p>
-
- <p>If <code class="directive">Require</code> is used together with
+
+ <p>If <code class="directive">Require</code> is used together with
the <code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> or
<code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> directives,
then the interaction of these restrictions is controlled by
@@ -2547,7 +2666,7 @@ a resource</td></tr>
&lt;/Directory&gt;<br />
</code></p></div>
</div>
-
+
<h3>See also</h3>
<ul>
@@ -2864,14 +2983,20 @@ itself</td></tr>
<p>The <code class="directive">ServerName</code> directive sets the
request scheme, hostname and
port that the server uses to identify itself. This is used when
- creating redirection URLs. For example, if the name of the
+ creating redirection URLs.</p>
+
+ <p>Additionally, <code class="directive">ServerName</code> is used (possibly
+ in conjunction with <code class="directive">ServerAlias</code>) to uniquely
+ identify a virtual host, when using <a href="../vhosts/name-based.html">name-based virtual hosts</a>.</p>
+
+ <p>For example, if the name of the
machine hosting the web server is <code>simple.example.com</code>,
but the machine also has the DNS alias <code>www.example.com</code>
and you wish the web server to be so identified, the following
directive should be used:</p>
<div class="example"><p><code>
- ServerName www.example.com:80
+ ServerName www.example.com
</code></p></div>
<p>If no <code class="directive">ServerName</code> is specified, then the
@@ -2895,7 +3020,7 @@ itself</td></tr>
<code>https://</code> scheme and the port number to which the
clients connect in the <code class="directive">ServerName</code> directive
to make sure that the server generates the correct
- self-referential URLs.
+ self-referential URLs.
</p>
<p>See the description of the
@@ -2950,7 +3075,7 @@ is accessed by an incompatible browser</td></tr>
<p>The <code class="directive">ServerRoot</code> directive sets the
directory in which the server lives. Typically it will contain the
subdirectories <code>conf/</code> and <code>logs/</code>. Relative
- paths in other configuration directives (such as <code class="directive"><a href="#include">Include</a></code> or <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>, for example) are taken as
+ paths in other configuration directives (such as <code class="directive"><a href="#include">Include</a></code> or <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>, for example) are taken as
relative to this directory.</p>
<div class="example"><h3>Example</h3><p><code>
@@ -3176,6 +3301,24 @@ server</td></tr>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Suexec" id="Suexec">Suexec</a> <a name="suexec" id="suexec">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable or disable the suEXEC feature</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Suexec On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>On if suexec binary exists with proper owner and mode,
+Off otherwise</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache httpd 2.2.18 and later</td></tr>
+</table>
+ <p>When On, startup will fail if the suexec binary doesn't exist
+ or has an invalid owner or file mode.</p>
+ <p>When Off, suEXEC will be disabled even if the suexec binary exists
+ and has a valid owner and file mode.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a> <a name="timeout" id="timeout">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Amount of time the server will wait for
@@ -3232,7 +3375,7 @@ requests</td></tr>
allowed) error to the client.</p>
<p>Finally, for testing and diagnostic purposes only, request
- bodies may be allowed using the non-compliant <code>TraceEnable
+ bodies may be allowed using the non-compliant <code>TraceEnable
extended</code> directive. The core (as an origin server) will
restrict the request body to 64k (plus 8k for chunk headers if
<code>Transfer-Encoding: chunked</code> is used). The core will
@@ -3340,7 +3483,7 @@ port</td></tr>
<li>Port provided in <code>Servername</code></li>
<li>Default port</li>
</ul>
-
+
<p>With <code>UseCanonicalPhysicalPort Off</code>, the
physical ports are removed from the ordering.</p>
</div>
@@ -3478,9 +3621,10 @@ hostname or IP address</td></tr>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/core.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/core.html.fr b/docs/manual/mod/core.html.fr
new file mode 100644
index 00000000..223bded9
--- /dev/null
+++ b/docs/manual/mod/core.html.fr
@@ -0,0 +1,3905 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>core - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Fonctionalités de Base Apache</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/core.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalités de base du serveur HTTP Apache disponibles
+en toutes circonstances</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Core</td></tr></table>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#acceptfilter">AcceptFilter</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#addoutputfilterbytype">AddOutputFilterByType</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authname">AuthName</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authtype">AuthType</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#directory">&lt;Directory&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#directorymatch">&lt;DirectoryMatch&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#files">&lt;Files&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch">&lt;FilesMatch&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine">&lt;IfDefine&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule">&lt;IfModule&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limit">&lt;Limit&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitexcept">&lt;LimitExcept&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#location">&lt;Location&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#locationmatch">&lt;LocationMatch&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#require">Require</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#suexec">Suexec</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost">&lt;VirtualHost&gt;</a></li>
+</ul>
+</div>
+
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a> <a name="acceptfilter" id="acceptfilter">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'optimiser la configuration d'un socket pour
+l'écoute d'un protocole</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptFilter <var>protocole</var> <var>filtre
+d'acceptation</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible avec Apache version 2.1.5 et
+supérieures</td></tr>
+</table>
+ <p>Cette directive permet d'effectuer une optimisation du socket
+ d'écoute d'un type de protocole en fonction du système
+ d'exploitation. Le but premier est de faire en sorte que le noyau
+ n'envoie pas de socket au processus du serveur jusqu'à ce que
+ des données soient reçues, ou qu'une requête HTTP complète soit mise
+ en tampon. Seuls les <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&amp; sektion=9">Filtres d'acceptation de FreeBSD</a> et le filtre plus
+ primitif <code>TCP_DEFER_ACCEPT</code> sous Linux sont actuellement
+ supportés.</p>
+
+ <p>Sous FreeBSD, les valeurs par défaut sont :</p>
+ <div class="example"><p><code>
+ AcceptFilter http httpready <br />
+ AcceptFilter https dataready
+ </code></p></div>
+
+ <p>Le filtre d'acceptation <code>httpready</code> met en tampon des
+ requêtes HTTP entières au niveau du noyau. Quand une requête
+ entière a été reçue, le noyau l'envoie au serveur. Voir la page de
+ manuel de <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&amp; sektion=9">accf_http(9)</a> pour plus de détails. Comme les requêtes
+ HTTPS sont chiffrées, celles-ci n'autorisent que le filtre <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&amp; sektion=9">accf_data(9)</a>.</p>
+
+ <p>Sous Linux, les valeurs par défaut sont :</p>
+ <div class="example"><p><code>
+ AcceptFilter http data <br />
+ AcceptFilter https data
+ </code></p></div>
+
+ <p>Le filtre <code>TCP_DEFER_ACCEPT</code> de Linux ne supporte pas
+ la mise en tampon des requêtes http. Toute valeur autre que
+ <code>none</code> active le filtre <code>TCP_DEFER_ACCEPT</code>
+ pour ce protocole. Pour plus de détails, voir la page de
+ manuel Linux de <a href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/ tcp.7.html">tcp(7)</a>.</p>
+
+ <p>L'utilisation de la valeur <code>none</code> comme argument
+ désactive tout filtre d'acceptation pour ce protocole. Elle peut
+ être utile dans le cas d'un protocole pour lequel un serveur doit
+ d'abord envoyer des données, comme <code>nntp</code> :</p>
+ <div class="example"><p><code>AcceptFilter nntp none</code></p></div>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive">Protocol</code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a> <a name="acceptpathinfo" id="acceptpathinfo">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les ressources acceptent des informations sous forme d'un
+nom de chemin en fin de requête.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AcceptPathInfo Default</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible avec Apache version 2.0.30 et
+supérieures</td></tr>
+</table>
+
+ <p>Cette directive permet de définir si les requêtes contenant des
+ informations sous forme d'un nom de chemin suivant le nom d'un
+ fichier réel (ou un fichier qui n'existe pas dans un répertoire qui
+ existe) doivent être acceptées ou rejetées. Les scripts peuvent
+ accéder à cette information via la variable d'environnement
+ <code>PATH_INFO</code>.</p>
+
+ <p>Supposons par exemple que <code>/test/</code> pointe vers un
+ répertoire qui ne contient que le fichier <code>here.html</code>.
+ Les requêtes pour <code>/test/here.html/more</code> et
+ <code>/test/nothere.html/more</code> vont affecter la valeur
+ <code>/more</code> à la variable d'environnement
+ <code>PATH_INFO</code>.</p>
+
+ <p>L'argument de la directive <code class="directive">AcceptPathInfo</code>
+ possède trois valeurs possibles :</p>
+ <dl>
+ <dt><code>Off</code></dt><dd>Une requête ne sera acceptée que si
+ elle correspond à un chemin qui existe. Par conséquent, une requête
+ contenant une information de chemin après le nom de fichier réel
+ comme <code>/test/here.html/more</code> dans l'exemple ci-dessus
+ renverra une erreur "404 NOT FOUND".</dd>
+
+ <dt><code>On</code></dt><dd>Une requête sera acceptée si la partie
+ principale du chemin correspond à un fichier existant. Dans
+ l'exemple ci-dessus <code>/test/here.html/more</code>, la requête
+ sera acceptée si <code>/test/here.html</code> correspond à un nom de
+ fichier valide.</dd>
+
+ <dt><code>Default</code></dt><dd>Le traitement des requêtes est
+ déterminé par le <a href="../handler.html">gestionnaire</a> responsable de la requête.
+ Le gestionnaire de base pour les fichiers normaux rejette par défaut
+ les requêtes avec <code>PATH_INFO</code>. Les gestionnaires qui
+ servent des scripts, comme<a href="mod_cgi.html">cgi-script</a> et <a href="mod_isapi.html">isapi-handler</a>, acceptent en général par
+ défaut les requêtes avec <code>PATH_INFO</code>.</dd>
+ </dl>
+
+ <p>Le but premier de la directive <code>AcceptPathInfo</code> est de
+ vous permettre de remplacer le choix du gestionnaire d'accepter ou
+ de rejeter <code>PATH_INFO</code>. Ce remplacement est nécessaire
+ par exemple, lorsque vous utilisez un <a href="../filter.html">filtre</a>, comme <a href="mod_include.html">INCLUDES</a>, pour générer un contenu basé
+ sur <code>PATH_INFO</code>. Le gestionnaire de base va en général
+ rejeter la requête, et vous pouvez utiliser la configuration
+ suivante pour utiliser un tel script :</p>
+
+ <div class="example"><p><code>
+ &lt;Files "mes-chemins.shtml"&gt;<br />
+ <span class="indent">
+ Options +Includes<br />
+ SetOutputFilter INCLUDES<br />
+ AcceptPathInfo On<br />
+ </span>
+ &lt;/Files&gt;
+ </code></p></div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AccessFileName" id="AccessFileName">AccessFileName</a> <a name="accessfilename" id="accessfilename">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier de configuration distribué</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AccessFileName <var>nom-du-fichier</var>
+[<var>nom-du-fichier</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AccessFileName .htaccess</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Au cours du traitement d'une requête, le serveur recherche le
+ premier fichier de configuration existant à partir de la liste
+ de noms dans chaque répertoire composant le chemin du document, à
+ partir du moment où les fichiers de configuration distribués sont <a href="#allowoverride">activés pour ce répertoire</a>. Par exemple
+ :</p>
+
+ <div class="example"><p><code>
+ AccessFileName .acl
+ </code></p></div>
+
+ <p>avant de renvoyer le document
+ <code>/usr/local/web/index.html</code>, le serveur va rechercher les
+ fichiers <code>/.acl</code>, <code>/usr/.acl</code>,
+ <code>/usr/local/.acl</code> et <code>/usr/local/web/.acl</code>
+ pour y lire d'éventuelles directives, à moins quelles n'aient été
+ désactivées avec</p>
+
+ <div class="example"><p><code>
+ &lt;Directory /&gt;<br />
+ <span class="indent">
+ AllowOverride None<br />
+ </span>
+ &lt;/Directory&gt;
+ </code></p></div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li>
+<li><a href="../configuring.html">Fichiers de configuration</a></li>
+<li><a href="../howto/htaccess.html">Fichiers .htaccess</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a> <a name="adddefaultcharset" id="adddefaultcharset">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Paramètre jeu de caractères par défaut à ajouter quand le
+type de contenu d'une réponse est <code>text/plain</code> ou
+<code>text/html</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddDefaultCharset On|Off|<var>jeu de caractères</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AddDefaultCharset Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive spécifie une valeur par défaut pour le paramètre
+ jeu de caractères du type de média (le nom d'un codage de
+ caractères) à ajouter à une réponse, si et seulement si le type de
+ contenu de la réponse est soit <code>text/plain</code>, soit
+ <code>text/html</code>. Ceci va remplacer
+ tout jeu de caractères spécifié dans le corps de la réponse via un
+ élément <code>META</code>, bien que cet effet dépende en fait
+ souvent de la configuration du client de l'utilisateur. La
+ définition de <code>AddDefaultCharset Off</code> désactive cette
+ fonctionnalité. <code>AddDefaultCharset On</code> ajoute un jeu de
+ caractères par défaut de <code>iso-8859-1</code>. Toute autre valeur
+ peut être définie via le paramètre <var>jeu de caractères</var>, qui
+ doit appartenir à la liste des <a href="http://www.iana.org/assignments/character-sets">valeurs de
+ jeux de caractères enregistrés par l'IANA</a> à utiliser dans les
+ types de média MIME.
+ Par exemple :</p>
+
+ <div class="example"><p><code>
+ AddDefaultCharset utf-8
+ </code></p></div>
+
+ <p>La directive <code class="directive">AddDefaultCharset</code> ne doit
+ être utilisée que lorsque toutes les ressources textes auxquelles
+ elle s'applique possèdent le jeu de caractère spécifié, et qu'il est
+ trop contraignant de définir leur jeu de caractères
+ individuellement. Un exemple de ce type est l'ajout du paramètre jeu
+ de caractères aux ressources comportant un contenu généré, comme les
+ scripts CGI hérités qui peuvent être vulnérables à des attaques de
+ type cross-site scripting à cause des données utilisateurs incluses
+ dans leur sortie. Notez cependant qu'une meilleur solution consiste
+ à corriger (ou supprimer) ces scripts, car la définition d'un jeu de
+ caractères par défaut ne protège pas les utilisateurs qui ont activé
+ la fonctionnalité "Détection automatique de l'encodage des
+ caractères" dans leur navigateur.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="../mod/mod_mime.html#addcharset">AddCharset</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AddOutputFilterByType" id="AddOutputFilterByType">AddOutputFilterByType</a> <a name="addoutputfilterbytype" id="addoutputfilterbytype">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>assigne un filtre en sortie pour un type MIME
+particulier</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddOutputFilterByType <var>filtre</var>[;<var>filtre</var>...]
+<var>type MIME</var> [<var>type MIME</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans Apache version 2.0.33 et supérieures ;
+obsolète depuis les versions 2.1</td></tr>
+</table>
+ <p>Cette directive active un <a href="../filter.html">filtre</a> en sortie particulier pour une
+ requête en fonction du <a class="glossarylink" href="../glossary.html#type mime" title="voir glossaire">type MIME</a> de la réponse.
+ Suite à certains problèmes évoqués plus loin, cette directive a été
+ abandonnée. Le même résultat peut être obtenu à l'aide du module
+ <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>.</p>
+
+ <p>L'exemple suivant active le filtre <code>DEFLATE</code> qui est
+ fourni par le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>. Il va compresser
+ toute sortie dont le type MIME est <code>text/html</code> ou
+ <code>text/plain</code> avant de l'envoyer au client.</p>
+
+ <div class="example"><p><code>
+ AddOutputFilterByType DEFLATE text/html text/plain
+ </code></p></div>
+
+ <p>Si vous voulez assigner plusieurs filtres au contenu, leurs noms
+ doivent être séparés par des points-virgules. On peut aussi utiliser
+ une directive <code class="directive">AddOutputFilterByType</code> pour
+ chacun des filtres à assigner.</p>
+
+ <p>La configuration ci-dessous impose le traitement de toute sortie
+ de script dont le type MIME est <code>text/html</code> en premier
+ lieu par le filtre <code>INCLUDES</code>, puis par le filtre
+ <code>DEFLATE</code>.</p>
+
+ <div class="example"><p><code>
+ &lt;Location /cgi-bin/&gt;<br />
+ <span class="indent">
+ Options Includes<br />
+ AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
+ </span>
+ &lt;/Location&gt;
+ </code></p></div>
+
+ <div class="warning"><h3>Note</h3>
+ <p>L'activation de filtres par la directive
+ <code class="directive">AddOutputFilterByType</code> peut partiellement
+ échouer, ou même complètement dans certains cas. Par exemple,
+ aucun filtre n'est appliqué si le <a class="glossarylink" href="../glossary.html#type mime" title="voir glossaire">type MIME</a>
+ n'a pas pu être déterminé et est dans ce cas défini par la
+ directive <code class="directive"><a href="#defaulttype">DefaultType</a></code>, même
+ si la directive <code class="directive"><a href="#defaulttype">DefaultType</a></code> a
+ la même valeur.</p>
+
+ <p>Cependant, si vous voulez vous assurer que les filtres seront
+ appliqués, assignez explicitement le type de contenu à une
+ ressource, par exemple à l'aide d'une directive <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> ou <code class="directive"><a href="#forcetype">ForceType</a></code>. Il est aussi recommandé de
+ définir le type de contenu dans un script CGI (non-nph).</p>
+
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li>
+<li><code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code></li>
+<li><a href="../filter.html">Les filtres</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a> <a name="allowencodedslashes" id="allowencodedslashes">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les séparateurs de chemin encodés sont
+autorisés à transiter dans les URLs tel quel</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowEncodedSlashes On|Off|NoDecode</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans Apache version 2.0.46 et
+ultérieures. L'option NoDecode est disponible depuis la version
+2.2.18.</td></tr>
+</table>
+ <p>La directive <code class="directive">AllowEncodedSlashes</code> permet
+ l'utilisation des URLs contenant des séparateurs de chemin
+ encodés dans la partie chemin
+ (<code>%2F</code> pour <code>/</code> et même <code>%5C</code> pour
+ <code>\</code> sur les systèmes concernés).</p>
+
+ <p>Avec la valeur par défaut, <code>Off</code>, de telles URLs sont
+ refusées et provoquent le renvoi d'une erreur 404 (Not found).</p>
+
+ <p>Avec la valeur <code>On</code>, ces URLs sont acceptées, et les
+ slashes encodés sont décodés comme tout autre caractère codé.</p>
+
+ <p>Avec la valeur <code>NoDecode</code>, ces URLs sont acceptées,
+ mais les slashes codés ne sont pas décodés et laissés dans leur état
+ codé.</p>
+
+ <p>Définir <code class="directive">AllowEncodedSlashes</code> à
+ <code>On</code> est surtout utile en association avec
+ <code>PATH_INFO</code>.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>Si le codage des slashes dans la partie chemin est nécessaire,
+ l'utilisation de l'option <code>NoDecode</code> est fortement
+ recommandée par mesure de sécurité. Permettre le décodage des
+ slashes pourrait éventuellement induire l'autorisation de chemins
+ non sûrs.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AllowOverride" id="AllowOverride">AllowOverride</a> <a name="allowoverride" id="allowoverride">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Types de directives autorisées dans les fichiers
+<code>.htaccess</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowOverride All|None|<var>type directive</var>
+[<var>type directive</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverride All</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Lorsque le serveur trouve un fichier <code>.htaccess</code> (dont
+ le nom est défini par la directive <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), il doit savoir lesquelles
+ des directives placées dans ce fichier sont autorisées à modifier la
+ configuration préexistante.</p>
+
+ <div class="note"><h3>Valable seulement dans les sections
+ &lt;Directory&gt;</h3>
+ La directive <code class="directive">AllowOverride</code> ne peut être
+ utilisée que dans les sections <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> définies sans expressions
+ rationnelles, et non dans les sections <code class="directive"><a href="#location">&lt;Location&gt;</a></code>, <code class="directive"><a href="#directorymatch">&lt;DirectoryMatch&gt;</a></code> ou
+ <code class="directive"><a href="#files">&lt;Files&gt;</a></code>.
+ </div>
+
+ <p>Lorsque cette directive est définie à <code>None</code>, les
+ fichiers <a href="#accessfilename">.htaccess</a> sont totalement
+ ignorés. Dans ce cas, le serveur n'essaiera même pas de lire les
+ fichiers <code>.htaccess</code> du système de fichiers.</p>
+
+ <p>Lorsque cette directive est définie à <code>All</code>, toute
+ directive valable dans le <a href="directive-dict.html#Context">Contexte</a> .htaccess sera
+ autorisée dans les fichiers <code>.htaccess</code>.</p>
+
+ <p>L'argument <var>type directive</var> peut contenir les
+ groupements de directives suivants :</p>
+
+ <dl>
+ <dt>AuthConfig</dt>
+
+ <dd>
+
+ Permet l'utilisation des directives d'autorisation (<code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>,
+ <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>,
+ <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>,
+ <code class="directive"><a href="#authname">AuthName</a></code>,
+ <code class="directive"><a href="#authtype">AuthType</a></code>, <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>, <code class="directive"><a href="#require">Require</a></code>, <em>etc.</em>).</dd>
+
+ <dt>FileInfo</dt>
+
+ <dd>
+ Permet l'utilisation des directives qui contrôlent les types de
+ documents (directives <code class="directive"><a href="#defaulttype">DefaultType</a></code>, <code class="directive"><a href="#errordocument">ErrorDocument</a></code>, <code class="directive"><a href="#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>,
+ <code class="directive"><a href="#sethandler">SetHandler</a></code>, <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code>, et directives du
+ module <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> Add* et Remove*,
+ <em>etc...</em>), des metadonnées des documents (<code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>, <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookieexpires">CookieExpires</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiedomain">CookieDomain</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiestyle">CookieStyle</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookietracking">CookieTracking</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiename">CookieName</a></code>), des directives du
+ module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> <code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriteoptions">RewriteOptions</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>) et de la directive
+ <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> du module
+ <code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code>.
+ </dd>
+
+ <dt>Indexes</dt>
+
+ <dd>
+ Permet l'utilisation des directives qui contrôlent l'indexation
+ des répertoires (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>,
+ <code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>,
+ <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>,
+ <code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#fancyindexing">FancyIndexing</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#headername">HeaderName</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#readmename">ReadmeName</a></code>,
+ <em>etc...</em>).</dd>
+
+ <dt>Limit</dt>
+
+ <dd>
+ Permet l'utilisation des directives contrôlant l'accès au serveur
+ (<code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> et <code class="directive"><a href="../mod/mod_authz_host.html#order">Order</a></code>).</dd>
+
+ <dt>Options[=<var>Option</var>,...]</dt>
+
+ <dd>
+ Permet l'utilisation des directives contrôlant les fonctionnalités
+ spécifiques d'un répertoire (<code class="directive"><a href="#options">Options</a></code> et <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>). "Options" doit être
+ suivi d'un signe "égal", puis d'une liste d'options séparées par des
+ virgules (pas d'espaces) ; ces options doivent être définies à
+ l'aide de la commande <code class="directive"><a href="#options">Options</a></code>.</dd>
+ </dl>
+
+ <p>Exemple :</p>
+
+ <div class="example"><p><code>
+ AllowOverride AuthConfig Indexes
+ </code></p></div>
+
+ <p>Dans l'exemple ci-dessus, toutes les directives qui ne font
+ partie ni du groupe <code>AuthConfig</code>, ni du groupe
+ <code>Indexes</code>, provoquent une "internal
+ server error".</p>
+
+ <div class="note"><p>Pour des raisons de sécurité et de performances, n'affectez
+ pas à <code>AllowOverride</code> une autre valeur que
+ <code>None</code> dans votre bloc <code>&lt;Directory /&gt;</code>.
+ Configurez plutôt le bloc <code>&lt;Directory&gt;</code> qui
+ concerne le répertoire dans lequel vous voulez placer votre fichier
+ <code>.htaccess</code> (ou créez-le s'il n'existe pas).</p>
+ </div>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li>
+<li><a href="../configuring.html">Fichiers de Configuration</a></li>
+<li><a href="../howto/htaccess.html">Fichiers .htaccess</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthName" id="AuthName">AuthName</a> <a name="authname" id="authname">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Identificateur d'autorisation à utiliser pour
+l'authentification HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthName <var>domaine d'authentification</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive permet de définir l'identificateur d'autorisation
+ pour un répertoire. Cet identificateur est fourni au client afin que
+ ce dernier sache quels nom d'utilisateur et mot de passe envoyer.
+ <code class="directive">AuthName</code> n'accepte qu'un seul argument ; si
+ l'identificateur contient des espaces, il doit être entouré
+ d'apostrophes. Il doit être associé à des directives <code class="directive"><a href="#authtype">AuthType</a></code> et <code class="directive"><a href="#require">Require</a></code>, ainsi qu'à des directives telles
+ que <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> et
+ <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>
+ pour pouvoir fonctionner.</p>
+
+ <p>Par exemple :</p>
+
+ <div class="example"><p><code>
+ AuthName "Top Secret"
+ </code></p></div>
+
+ <p>La chaîne de caractères définie par la directive
+ <code>AuthName</code> correspond à celle que la plupart des
+ navigateurs vont fournir dans la boîte de dialogue de saisie du mot
+ de passe.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../howto/auth.html">Authentification, Autorisation, et
+ contrôle d'accès</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthType" id="AuthType">AuthType</a> <a name="authtype" id="authtype">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le type d'authentification de l'utilisateur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthType Basic|Digest</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive permet de définir le type d'authentification de
+ l'utilisateur pour un répertoire. Les types d'authentification
+ disponibles sont <code>Basic</code> (implémenté par
+ <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>), et <code>Digest</code> (implémenté
+ par <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>).</p>
+
+ <p>Pour que l'authentification fonctionne, vous devez aussi définir
+ les directives <code class="directive"><a href="#authname">AuthName</a></code> et <code class="directive"><a href="#require">Require</a></code>.
+ En outre, le serveur doit avoir à sa disposition un module
+ fournisseur d'authentification tel que
+ <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et un module d'autorisation tel que
+ <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../howto/auth.html">Authentification, Autorisation, et
+ contrôle d'accès</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a> <a name="cgimapextension" id="cgimapextension">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Technique permettant de localiser l'interpréteur des
+scripts CGI</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIMapExtension <var>chemin CGI</var> <var>.extension</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>NetWare uniquement</td></tr>
+</table>
+ <p>Cette directive permet de contrôler la manière dont Apache trouve
+ l'interpréteur servant à exécuter les scripts CGI. Par exemple, avec
+ la définition <code>CGIMapExtension sys:\foo.nlm .foo</code>, tous
+ les fichiers scripts CGI possédant une extension <code>.foo</code>
+ seront passés à l'interpréteur FOO.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ContentDigest" id="ContentDigest">ContentDigest</a> <a name="contentdigest" id="contentdigest">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la génération d'un en-tête <code>Content-MD5</code>
+dans la réponse HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ContentDigest On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ContentDigest Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive active la génération d'un en-tête
+ <code>Content-MD5</code> selon les définitions des RFC 1864 et
+ 2616.</p>
+
+ <p>MD5 est un algorithme permettant de générer un condensé (parfois
+ appelé "empreinte") à partir de données d'une taille aléatoire ; le
+ degré de précision est tel que la moindre altération des données
+ d'origine entraîne une altération de l'empreinte.</p>
+
+ <p>L'en-tête <code>Content-MD5</code> permet de vérifier
+ l'intégrité de la réponse HTTP dans son ensemble. Un serveur mandataire
+ ou un client peut utiliser cet en-tête pour rechercher une
+ éventuelle modification accidentelle de la réponse au cours de sa
+ transmission. Exemple d'en-tête :</p>
+
+ <div class="example"><p><code>
+ Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
+ </code></p></div>
+
+ <p>Notez que des problèmes de performances peuvent affecter votre
+ serveur, car l'empreinte est générée pour chaque requête (il n'y a
+ pas de mise en cache).</p>
+
+ <p>L'en-tête <code>Content-MD5</code> n'est envoyé qu'avec les
+ documents servis par le module <code class="module"><a href="../mod/core.html">core</a></code>, à l'exclusion
+ de tout autre module. Ainsi, les documents SSI, les sorties de
+ scripts CGI, et les réponses à des requêtes partielles (byte range)
+ ne comportent pas cet en-tête.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="DefaultType" id="DefaultType">DefaultType</a> <a name="defaulttype" id="defaulttype">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type de contenu MIME qui sera envoyé par défaut si le
+serveur ne peut le déterminer d'aucune manière</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultType <var>type MIME|none</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DefaultType text/plain</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'argument <code>none</code> est disponible dans les
+versions d'Apache 2.2.7 et supérieures</td></tr>
+</table>
+ <p>Il peut arriver que le serveur doive servir un document dont il
+ ne peut pas déterminer le type à partir de sa table de <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">types MIME</a>.</p>
+
+ <p>Le serveur DEVRAIT fournir au client le type de contenu du
+ document. Si le serveur n'est pas capable de le déterminer par la
+ voie normale, il fournira le type défini par la directive
+ <code>DefaultType</code>. Par exemple :</p>
+
+ <div class="example"><p><code>
+ DefaultType image/gif
+ </code></p></div>
+
+ <p>conviendra pour un répertoire contenant de nombreuses images GIF
+ dont le fichier ne comporte pas l'extension <code>.gif</code>.</p>
+
+ <p>Dans les cas où ni le serveur, ni l'administrateur (ou un
+ serveur mandataire) ne sont en mesure de déterminer le type du
+ document, il est préférable de ne pas le mentionner, plutôt que de
+ fournir de fausses informations. À cet effet, on utilise </p>
+ <div class="example"><p><code>
+ DefaultType None
+ </code></p></div>
+ <p><code>DefaultType None</code> n'est disponible que dans les
+ versions d'Apache 2.2.7 et supérieures.</p>
+
+ <p>Notez qu'à la différence de la directive <code class="directive"><a href="#forcetype">ForceType</a></code>, cette directive ne définit que
+ le type MIME par défaut. Toute autre définition de type MIME, y
+ compris l'extension des noms de fichiers, susceptible de
+ permettre d'identifier le type de média l'emportera sur la valeur
+ par défaut.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Directory" id="Directory">&lt;Directory&gt;</a> <a name="directory" id="directory">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe un ensemble de directives qui ne s'appliquent
+qu'au répertoire concerné du système de fichiers, à ses
+sous-répertoires, et à leur contenu.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;Directory <var>chemin répertoire</var>&gt;
+... &lt;/Directory&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Les balises <code class="directive">&lt;Directory&gt;</code> et
+ <code>&lt;/Directory&gt;</code> permettent de regrouper un ensemble
+ de directives qui ne s'appliquent qu'au répertoire
+ précisé, à ses sous-répertoires, et aux fichiers situés dans ces
+ sous-répertoires. Toute directive
+ autorisée dans un contexte de répertoire peut être utilisée.
+ <var>chemin répertoire</var> est soit le chemin absolu d'un
+ répertoire, soit une chaîne de caractères avec caractères génériques
+ utilisant la comparaison Unix de style shell. Dans une chaîne de
+ caractères avec caractères génériques, <code>?</code> correspond à
+ un caractère quelconque, et <code>*</code> à toute chaîne de
+ caractères. Les intervalles de caractères <code>[]</code> sont aussi
+ autorisés. Aucun caractère générique ne peut remplacer le caractère
+ `/', si bien que l'expression <code>&lt;Directory
+ /*/public_html&gt;</code> ne conviendra pas pour le chemin
+ * <code>/home/user/public_html</code>, alors que <code>&lt;Directory
+ /home/*/public_html&gt;</code> conviendra. Exemple :</p>
+
+ <div class="example"><p><code>
+ &lt;Directory /usr/local/httpd/htdocs&gt;<br />
+ <span class="indent">
+ Options Indexes FollowSymLinks<br />
+ </span>
+ &lt;/Directory&gt;
+ </code></p></div>
+
+ <div class="note">
+ <p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il
+ doit correspondre exactement au chemin du système de fichier
+ qu'Apache utilise pour accéder aux fichiers. Les directives
+ comprises dans une section <code>&lt;Directory&gt;</code> ne
+ s'appliqueront pas aux fichiers du même répertoire auxquels on
+ aura accédé via un chemin différent, per exemple via un lien
+ symbolique.</p>
+ </div>
+
+ <p> Les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a>
+ peuvent aussi être utilisées en ajoutant le caractère
+ <code>~</code>. Par exemple :</p>
+
+ <div class="example"><p><code>
+ &lt;Directory ~ "^/www/.*/[0-9]{3}"&gt;
+ </code></p></div>
+
+ <p>pourra correspondre à tout répertoire situé dans /www/ et dont le
+ nom se compose de trois chiffres.</p>
+
+ <p>Si plusieurs sections <code class="directive">&lt;Directory&gt;</code> (sans expression rationnelle)
+ correspondent au répertoire (ou à un de ses parents) qui contient le
+ document, les directives de la section <code class="directive">&lt;Directory&gt;</code> dont le chemin est le plus
+ court sont appliquées en premier, en s'intercalant avec les
+ directives des fichiers <a href="#accessfilename">.htaccess</a>. Par
+ exemple, avec</p>
+
+ <div class="example"><p><code>
+ &lt;Directory /&gt;<br />
+ <span class="indent">
+ AllowOverride None<br />
+ </span>
+ &lt;/Directory&gt;<br />
+ <br />
+ &lt;Directory /home&gt;<br />
+ <span class="indent">
+ AllowOverride FileInfo<br />
+ </span>
+ &lt;/Directory&gt;
+ </code></p></div>
+
+ <p>l'accès au document <code>/home/web/dir/doc.html</code> emprunte
+ le chemin suivant :</p>
+
+ <ul>
+ <li>Aplication de la directive <code>AllowOverride None</code>
+ (qui désactive les fichiers <code>.htaccess</code>).</li>
+
+ <li>Application de la directive <code>AllowOverride
+ FileInfo</code> (pour le répertoire <code>/home</code>).</li>
+
+ <li>Application de toute directive <code>FileInfo</code> qui se
+ trouverait dans d'éventuels fichiers <code>/home/.htaccess</code>,
+ <code>/home/web/.htaccess</code> ou
+ <code>/home/web/dir/.htaccess</code>, dans cet ordre.</li>
+ </ul>
+
+ <p>Les directives associées aux répertoires sous forme d'expressions
+ rationnelles ne sont prises en compte qu'une fois toutes les
+ directives des sections sans expressions rationnelles appliquées.
+ Alors, tous les répertoires avec expressions rationnelles sont
+ testés selon l'ordre dans lequel ils apparaissent dans le fichier de
+ configuration. Par exemple, avec</p>
+
+ <div class="example"><p><code>
+ &lt;Directory ~ abc$&gt;<br />
+ <span class="indent">
+ # ... directives here ...<br />
+ </span>
+ &lt;/Directory&gt;
+ </code></p></div>
+
+ <p>la section avec expression rationnelle ne sera prise en compte
+ qu'après les sections <code class="directive">&lt;Directory&gt;</code> sans expressions rationnelles
+ et les fichiers <code>.htaccess</code>. Alors, l'expression
+ rationnelle conviendra pour <code>/home/abc/public_html/abc</code>
+ et la section <code class="directive">&lt;Directory&gt;</code>
+ correspondante s'appliquera.</p>
+
+ <p><strong>Notez que pour Apache, la politique d'accès par défaut
+ dans les sections <code>&lt;Directory /&gt;</code> est <code>Allow
+ from All</code>. Ceci signifie qu'Apache va servir tout fichier
+ correspondant à une URL. Il est recommandé de modifier cette
+ situation à l'aide d'un bloc du style</strong></p>
+
+ <div class="example"><p><code>
+ &lt;Directory /&gt;<br />
+ <span class="indent">
+ Order Deny,Allow<br />
+ Deny from All<br />
+ </span>
+ &lt;/Directory&gt;
+ </code></p></div>
+
+ <p><strong>puis d'affiner la configuration pour les répertoires que vous
+ voulez rendre accessibles. Voir la page <a href="../misc/security_tips.html">Conseils à propos de la sécurité</a>
+ pour plus de détails.</strong></p>
+
+ <p>Les sections directory se situent dans le fichier
+ <code>httpd.conf</code>. Les directives <code class="directive">&lt;Directory&gt;</code> ne peuvent pas être imbriquées
+ et ne sont pas autorisées dans les sections <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code> ou <code class="directive"><a href="#limitexcept">&lt;LimitExcept&gt;</a></code>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../sections.html">Comment fonctionnent les sections
+&lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour des
+explications à propos de la manière dont ces différentes sections se
+combinent entre elles à la réception d'une requête</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="DirectoryMatch" id="DirectoryMatch">&lt;DirectoryMatch&gt;</a> <a name="directorymatch" id="directorymatch">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives qui s'appliquent à des répertoires
+du système de fichiers correspondant à une expression rationnelle et à
+leurs sous-répertoires</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;DirectoryMatch <var>regex</var>&gt;
+... &lt;/DirectoryMatch&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Les balises <code class="directive">&lt;DirectoryMatch&gt;</code>
+ et <code>&lt;/DirectoryMatch&gt;</code> permettent de regrouper un
+ ensemble de directives qui ne s'appliqueront qu'au répertoire
+ précisé (et aux fichiers qu'il contient), comme pour la section <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>. Cependant, le
+ répertoire est précisé sous la forme d'une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>. Par exemple :</p>
+
+ <div class="example"><p><code>
+ &lt;DirectoryMatch "^/www/(.+/)?[0-9]{3}"&gt;
+ </code></p></div>
+
+ <p>conviendrait pour les sous-répertoires de <code>/www/</code> dont
+ le nom se compose de trois chiffres.</p>
+
+ <div class="note"><h3>Caractère de fin de ligne</h3>
+ <p>Cette directive ne tient pas compte du caractère de fin de
+ ligne ($).</p>
+ </div>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>
+pour une description de la manière dont les expressions rationnelles
+sont traitées en présence d'autres sections <code class="directive">&lt;Directory&gt;</code> sans expressions rationnelles</li>
+<li><a href="../sections.html">Comment fonctionnent les sections
+&lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
+explication à propos de la manière dont ces différentes sections se
+combinent entre elles à la réception d'une requête</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a> <a name="documentroot" id="documentroot">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine de l'arborescence des documents principale visible
+depuis Internet</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DocumentRoot <var>chemin répertoire</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DocumentRoot /usr/local/apache/htdocs</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive permet de définir le répertoire à partir duquel
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code> va servir les fichiers. S'il ne correspond
+ pas à un <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, le chemin
+ de l'URL sera ajouté par le serveur à la racine des documents afin
+ de construire le chemin du document recherché. Exemple :</p>
+
+ <div class="example"><p><code>
+ DocumentRoot /usr/web
+ </code></p></div>
+
+ <p>un accès à <code>http://www.my.host.com/index.html</code> se
+ réfère alors à <code>/usr/web/index.html</code>. Si <var>chemin
+ répertoire</var> n'est pas un chemin absolu, il est considéré comme
+ relatif au chemin défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
+
+ <p>Le répertoire défini par la directive
+ <code class="directive">DocumentRoot</code> ne doit pas comporter de slash
+ terminal.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../urlmapping.html#documentroot">Mise en
+correspondance des URLs avec le système de fichiers</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a> <a name="enablemmap" id="enablemmap">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise la projection en mémoire (Memory-Mapping) pour
+lire les fichiers pendant qu'ils sont servis</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableMMAP On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableMMAP On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive définit si <code class="program"><a href="../programs/httpd.html">httpd</a></code> peut utiliser
+ la projection en mémoire (Memory-Mapping) s'il doit lire le contenu
+ d'un fichier pendant qu'il est servi. Par défaut, lorsque le
+ traitement d'une requête requiert l'accès aux données contenues dans
+ un fichier -- par exemple, pour servir un fichier interprété par le
+ serveur à l'aide de <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> -- Apache projette
+ le fichier en mémoire si le système d'exploitation le permet.</p>
+
+ <p>Cette projection en mémoire induit parfois une amélioration des
+ performances. Cependant, sur certains systèmes, il est préférable de
+ désactiver la projection en mémoire afin d'éviter certains problèmes
+ opérationnels :</p>
+
+ <ul>
+ <li>Sur certains systèmes multi-processeurs, la projection en
+ mémoire peut dégrader les performances du programme
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</li>
+ <li>La suppression ou la troncature d'un fichier faisant l'objet
+ d'une image en mémoire peut provoquer un crash de
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec une erreur de segmentation.
+ </li>
+ </ul>
+
+ <p>Pour les configurations de serveur sujettes à ce genre de
+ problème, il est préférable de désactiver la projection en mémoire
+ des fichiers servis en spécifiant :</p>
+
+ <div class="example"><p><code>
+ EnableMMAP Off
+ </code></p></div>
+
+ <p>Pour les montages NFS, cette fonctionnalité peut être
+ explicitement désactivée pour les fichiers concernés en spécifiant
+ :</p>
+
+ <div class="example"><p><code>
+ &lt;Directory "/chemin vers montage NFS"&gt;
+ <span class="indent">
+ EnableMMAP Off
+ </span>
+ &lt;/Directory&gt;
+ </code></p></div>
+
+
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a> <a name="enablesendfile" id="enablesendfile">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le support sendfile du noyau pour servir les
+fichiers aux clients</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableSendfile On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableSendfile On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions 2.0.44 et
+supérieures</td></tr>
+</table>
+ <p>Cette directive définit si le programme <code class="program"><a href="../programs/httpd.html">httpd</a></code>
+ peut utiliser le support sendfile du noyau pour transmettre le
+ contenu des fichiers aux clients. Par défaut, lorsque le traitement
+ d'une requête ne requiert pas l'accès aux données contenues dans un
+ fichier -- par exemple, pour la transmission d'un fichier statique
+ -- Apache utilise sendfile pour transmettre le contenu du fichier
+ sans même lire ce dernier, si le système d'exploitation le
+ permet.</p>
+
+ <p>Ce mécanisme sendfile évite la séparation des opérations de
+ lecture et d'envoi, ainsi que les réservations de tampons. sur
+ certains systèmes cependant, ou sous certains systèmes de fichiers,
+ il est préférable de désactiver cette fonctionnalité afin d'éviter
+ certains problèmes opérationnels :</p>
+
+ <ul>
+ <li>Certains systèmes peuvent présenter un support sendfile
+ défectueux que le système de compilation n'a pas détecté, en
+ particulier si les exécutables ont été compilés sur une autre
+ machine, puis copiés sur la première avec un support sendfile
+ défectueux.</li>
+ <li>Sous Linux, l'utilisation de sendfile induit des bogues lors de
+ la récupération des paquets de vérification TCP (TCP-checksum) avec
+ certaines cartes réseau lorsqu'on utilise IPv6.</li>
+ <li>Sous Linux sur plateforme Itanium, sendfile peut s'avérer
+ r.{1,2}pertoireincapable de traiter les fichiers de plus de 2 Go.</li>
+ <li>Avec un montage réseau de <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (par exemple NFS ou SMB), le
+ noyau peut s'avérer incapable de servir un fichier de ce montage
+ réseau en passant par son propre cache.</li>
+ </ul>
+
+ <p>Pour les configurations de serveur sujettes à ce genre de
+ problème, il est recommandé de désactiver cette fonctionnalité en
+ spécifiant :</p>
+
+ <div class="example"><p><code>
+ EnableSendfile Off
+ </code></p></div>
+
+ <p>Pour les montages NFS ou SMB, cette fonctionnalité peut être
+ explicitement désactivée pour les fichiers concernés en spécifiant
+ :</p>
+
+ <div class="example"><p><code>
+ &lt;Directory "/chemin vers montage réseau"&gt;
+ <span class="indent">
+ EnableSendfile Off
+ </span>
+ &lt;/Directory&gt;
+ </code></p></div>
+ <p>Veuillez noter que la configuration de la directive
+ <code class="directive">EnableSendfile</code> dans un contexte de répertoire
+ ou de fichier .htaccess n'est pas supportée par
+ <code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code>. Le module ne prend en compte la
+ définition de <code class="directive">EnableSendfile</code> que dans un
+ contexte global.
+ </p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a> <a name="errordocument" id="errordocument">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Document que le serveur renvoie au client en cas
+d'erreur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ErrorDocument <var>code erreur</var> <var>document</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La syntaxe des guillemets pour les messages textes est
+différente dans Apache 2.0</td></tr>
+</table>
+ <p>Apache peut traiter les problèmes et les erreurs de quatre
+ manières,</p>
+
+ <ol>
+ <li>afficher un simple message d'erreur au contenu fixe</li>
+
+ <li>afficher un message personnalisé</li>
+
+ <li>rediriger vers un <var>chemin d'URL</var> local pour traiter
+ le problème ou l'erreur</li>
+
+ <li>rediriger vers une <var>URL</var> externe pour traiter
+ le problème ou l'erreur</li>
+ </ol>
+
+ <p>La première option constitue le comportement par défaut; pour
+ choisir une des trois autres options, il faut configurer Apache à
+ l'aide de la directive <code class="directive">ErrorDocument</code>, suivie
+ du code de la réponse HTTP et d'une URL ou d'un message. Apache
+ fournit parfois des informations supplémentaires à propos du
+ problème ou de l'erreur.</p>
+
+ <p>Les URLs peuvent commencer par un slash (/) pour les chemins web
+ locaux (relatifs au répertoire défini par la directive <code class="directive"><a href="#documentroot">DocumentRoot</a></code>), ou se présenter sous la
+ forme d'une URL complète que le client pourra résoudre.
+ Alternativement, un message à afficher par le navigateur pourra être
+ fourni. Exemples :</p>
+
+ <div class="example"><p><code>
+ ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
+ ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
+ ErrorDocument 401 /subscription_info.html<br />
+ ErrorDocument 403 "Désolé, vous n'avez pas l'autorisation d'accès
+ aujourd'hui"
+ </code></p></div>
+
+ <p>De plus, on peut spécifier la valeur spéciale <code>default</code>
+ pour indiquer l'utilisation d'un simple message d'Apache codé en
+ dur. Bien que non nécessaire dans des circonstances normales, la
+ spécification de la valeur <code>default</code> va permettre de
+ rétablir l'utilisation du simple message d'Apache codé en dur pour
+ les configurations qui sans cela, hériteraient d'une directive
+ <code class="directive">ErrorDocument</code> existante.</p>
+
+ <div class="example"><p><code>
+ ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
+ &lt;Directory /web/docs&gt;<br />
+ <span class="indent">
+ ErrorDocument 404 default<br />
+ </span>
+ &lt;/Directory&gt;
+ </code></p></div>
+
+ <p>Notez que lorsque vous spécifiez une directive
+ <code class="directive">ErrorDocument</code> pointant vers une URL distante
+ (c'est à dire tout ce qui commence par le préfixe http), Apache va
+ envoyer une redirection au client afin de lui indiquer où trouver le
+ document, même dans le cas où ce document se trouve sur le serveur
+ local. Ceci a de nombreuses conséquences dont la plus importante
+ réside dans le fait que le client ne recevra pas le code d'erreur
+ original, mais au contraire un code de statut de redirection. Ceci
+ peut en retour semer la confusion chez les robots web et divers
+ clients qui tentent de déterminer la validité d'une URL en examinant
+ le code de statut. De plus, si vous utilisez une URL distante avec
+ <code>ErrorDocument 401</code>, le client ne saura pas qu'il doit
+ demander un mot de passe à l'utilisateur car il ne recevra pas le
+ code de statut 401. C'est pourquoi, <strong>si vous utilisez une
+ directive <code>ErrorDocument 401</code>, elle devra faire référence
+ à un document par le biais d'un chemin local.</strong></p>
+
+ <p>Microsoft Internet Explorer (MSIE) ignore par défaut les messages
+ d'erreur générés par le serveur lorsqu'ils sont trop courts et
+ remplacent ces propres messages d'erreur "amicaux". Le seuil de
+ taille varie en fonction du type d'erreur, mais en général, si la
+ taille de votre message d'erreur est supérieure à 512 octets, il y a
+ peu de chances pour que MSIE l'occulte, et il sera affiché par ce
+ dernier. Vous trouverez d'avantage d'informations dans l'article de
+ la base de connaissances Microsoft <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>.</p>
+
+ <p>Bien que la plupart des messages d'erreur internes originaux
+ puissent être remplacés, ceux-ci sont cependant conservés dans
+ certaines circonstances sans tenir compte de la définition de la
+ directive <code class="directive"><a href="#errordocument">ErrorDocument</a></code>. En
+ particulier, en cas de détection d'une requête mal formée, le
+ processus de traitement normal des requêtes est immédiatement
+ interrompu, et un message d'erreur interne est renvoyé, ceci afin de
+ se prémunir contre les problèmes de sécurité liés aux requêtes mal
+ formées.</p>
+
+ <p>Si vous utilisez mod_proxy, il est en général préférable
+ d'activer <code class="directive"><a href="../mod/mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></code> afin d'être en
+ mesure de produire des messages d'erreur personnalisés pour le
+ compte de votre serveur d'origine. Si vous n'activez pas
+ ProxyErrorOverride, Apache ne générera pas de messages d'erreur
+ personnalisés pour le contenu mandaté.</p>
+
+ <p>Avant la version 2.0, les messages étaient indiqués en les
+ préfixant par un seul caractère guillemet isolé.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../custom-error.html">documentation sur la
+personnalisation des réponses</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ErrorLog" id="ErrorLog">ErrorLog</a> <a name="errorlog" id="errorlog">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition du chemin du journal des erreurs</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> ErrorLog <var>chemin fichier</var>|syslog[:<var>facility</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows
+et OS/2)</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">ErrorLog</code> permet de définir le
+ nom du fichier dans lequel le serveur va journaliser toutes les
+ erreurs qu'il rencontre. Si le <var>chemin fichier</var> n'est pas
+ absolu, il est considére comme relatif au chemin défini par la
+ directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ ErrorLog /var/log/httpd/error_log
+ </code></p></div>
+
+ <p>Si le <var>chemin fichier</var> commence par une barre verticale
+ "<code>|</code>", il est considéré comme une commande à lancer pour traiter la
+ journalisation de l'erreur.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ ErrorLog "|/usr/local/bin/erreurs_httpd"
+ </code></p></div>
+
+ <p>Voir les notes à propos des <a href="../logs.html#piped">journaux
+ redirigés</a> pour plus de détails.</p>
+
+ <p>L'utilisation de <code>syslog</code> à la place d'un nom de
+ fichier active la journalisation via syslogd(8) si le système le
+ supporte. Le dispositif syslog par défaut est <code>local7</code>,
+ mais vous pouvez le modifier à l'aide de la syntaxe
+ <code>syslog:<var>facility</var></code>, où <var>facility</var> peut
+ être remplacé par un des noms habituellement documentés dans la page
+ de man syslog(1).</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ ErrorLog syslog:user
+ </code></p></div>
+
+ <p>SECURITE : Voir le document <a href="../misc/security_tips.html#serverroot">conseils à propos de
+ sécurité</a> pour des détails sur les raisons pour lesquelles votre
+ sécurité peut être compromise si le répertoire contenant les
+ fichiers journaux présente des droits en écriture pour tout autre
+ utilisateur que celui sous lequel le serveur est démarré.</p>
+ <div class="warning"><h3>Note</h3>
+ <p>Lors de la spécification d'un chemin de fichier sur les
+ plates-formes non-Unix, on doit veiller à n'utiliser que des
+ slashes (/), même si la plate-forme autorise l'utilisation des
+ anti-slashes (\). Et d'une manière générale, il est recommandé de
+ n'utiliser que des slashes (/) dans les fichiers de
+ configuration.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li>
+<li><a href="../logs.html">Fichiers journaux d'Apache</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="FileETag" id="FileETag">FileETag</a> <a name="fileetag" id="fileetag">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Caractéristiques de fichier utilisés lors de la génération
+de l'en-tête de réponse HTTP ETag pour les fichiers statiques</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FileETag <var>composant</var> ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>FileETag INode MTime Size</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>
+ La directive <code class="directive">FileETag</code> définit les
+ caractéristiques de fichier utilisées lors de la génération de
+ l'en-tête de réponse HTTP <code>ETag</code> (entity tag) quand le
+ document est contenu dans un fichier statique (la valeur de
+ <code>ETag</code>
+ est utilisée dans le cadre de la gestion du cache pour préserver la
+ bande passante réseau). Dans les versions 1.3.22 et antérieures
+ d'Apache, la valeur de l'en-tête <code>ETag</code> se composait
+ <em>toujours</em> de l'inode du fichier, de sa taille et de sa date
+ de dernière modification (mtime). La directive
+ <code class="directive">FileETag</code> vous permet désormais de choisir
+ quelles caractéristiques du fichier vont être éventuellement
+ utilisées. Les mots-clés reconnus sont :
+ </p>
+
+ <dl>
+ <dt><strong>INode</strong></dt>
+ <dd>Le numéro d'i-node du fichier sera inclus dans le processus de
+ génération</dd>
+ <dt><strong>MTime</strong></dt>
+ <dd>La date et l'heure auxquelles le fichier a été modifié la
+ dernière fois seront incluses</dd>
+ <dt><strong>Size</strong></dt>
+ <dd>La taille du fichier en octets sera incluse</dd>
+ <dt><strong>All</strong></dt>
+ <dd>Tous les champs disponibles seront utilisés. Cette définition
+ est équivalente à : <div class="example"><p><code>FileETag INode MTime
+ Size</code></p></div></dd>
+ <dt><strong>None</strong></dt>
+ <dd>Si le document se compose d'un fichier, aucun champ
+ <code>ETag</code> ne sera inclus dans la réponse</dd>
+ </dl>
+
+ <p>Les mots-clés <code>INode</code>, <code>MTime</code>, et
+ <code>Size</code> peuvent être préfixés par <code>+</code> ou
+ <code>-</code>, ce qui permet de modifier les valeurs par défaut
+ héritées d'un niveau de configuration plus général. Tout mot-clé
+ apparaissant sans aucun préfixe annule entièrement et immédiatement
+ les configurations héritées.</p>
+
+ <p>Si la configuration d'un répertoire contient
+ <code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code>, et si un de
+ ses sous-répertoires contient <code>FileETag&nbsp;-INode</code>, la
+ configuration de ce sous-répertoire (qui sera propagée vers tout
+ sous-répertoire qui ne la supplante pas), sera équivalente à
+ <code>FileETag&nbsp;MTime&nbsp;Size</code>.</p>
+ <div class="warning"><h3>Avertissement</h3>
+ Ne modifiez pas les valeurs par défaut pour les répertoires ou
+ localisations où WebDAV est activé et qui utilisent
+ <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> comme fournisseur de stockage.
+ <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> utilise
+ <code>INode&nbsp;MTime&nbsp;Size</code> comme format fixe pour les
+ comparaisons de champs <code>ETag</code> dans les requêtes
+ conditionnelles. Ces requêtes conditionnelles échoueront si le
+ format <code>ETag</code> est modifié via la directive
+ <code class="directive">FileETag</code>.
+ </div>
+ <div class="note"><h3>Inclusions côté serveur</h3>
+ Aucun champ ETag n'est généré pour les réponses interprétées par
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, car l'entité de la réponse peut
+ changer sans modification de l'INode, du MTime, ou de la taille du
+ fichier statique contenant les directives SSI.
+ </div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Files" id="Files">&lt;Files&gt;</a> <a name="files" id="files">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent aux fichiers
+précisés</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;Files <var>nom fichier</var>&gt; ... &lt;/Files&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">&lt;Files&gt;</code> limite
+ la portée des directives qu'elle contient aux fichiers précisés.
+ Elle est comparable aux directives <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> et <code class="directive"><a href="#location">&lt;Location&gt;</a></code>. Elle doit se terminer par une
+ balise <code>&lt;/Files&gt;</code>. Les directives contenues dans
+ cette section s'appliqueront à tout objet dont le nom de base (la
+ dernière partie du nom de fichier) correspond au fichier spécifié.
+ Les sections <code class="directive">&lt;Files&gt;</code> sont
+ traitées selon l'ordre dans lequel elles apparaissent dans le
+ fichier de configuration, après les sections <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> et la lecture des fichiers
+ <code>.htaccess</code>, mais avant les sections <code class="directive"><a href="#location">&lt;Location&gt;</a></code>. Notez que les
+ sections <code class="directive">&lt;Files&gt;</code> peuvent être
+ imbriquées dans les sections <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> afin de restreindre la portion
+ du système de fichiers à laquelle ces dernières vont
+ s'appliquer.</p>
+
+ <p>L'argument <var>filename</var> peut contenir un nom de fichier
+ ou une chaîne de caractères avec caractères génériques, où
+ <code>?</code> remplace un caractère, et <code>*</code> toute chaîne
+ de caractères. On peut aussi utiliser les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a> en ajoutant la
+ caractère <code>~</code>. Par exemple :</p>
+
+ <div class="example"><p><code>
+ &lt;Files ~ "\.(gif|jpe?g|png)$"&gt;
+ </code></p></div>
+
+ <p>correspondrait à la plupart des formats graphiques de l'Internet.
+ Il est cependant préférable d'utiliser la directive <code class="directive"><a href="#filesmatch">&lt;FilesMatch&gt;</a></code>.</p>
+
+ <p>Notez qu'à la différence des sections <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> et <code class="directive"><a href="#location">&lt;Location&gt;</a></code>, les sections <code class="directive">&lt;Files&gt;</code> peuvent être utilisées dans les
+ fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs de
+ contrôler l'accès à leurs propres ressources, fichier par
+ fichier.</p>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../sections.html">Comment fonctionnent les sections
+&lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="FilesMatch" id="FilesMatch">&lt;FilesMatch&gt;</a> <a name="filesmatch" id="filesmatch">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent à des fichiers
+spécifiés sous la forme d'expressions rationnelles</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;FilesMatch <var>expression rationnelle</var>&gt; ...
+&lt;/FilesMatch&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La section <code class="directive">&lt;FilesMatch&gt;</code>
+ limite la portée des directives qu'elle contient aux fichiers
+ spécifiés, tout comme le ferait une section <code class="directive"><a href="#files">&lt;Files&gt;</a></code>. Mais elle accepte aussi les
+ <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>. Par
+ exemple :</p>
+
+ <div class="example"><p><code>
+ &lt;FilesMatch "\.(gif|jpe?g|png)$"&gt;
+ </code></p></div>
+
+ <p>correspondrait à la plupart des formats graphiques de
+ l'Internet.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../sections.html">Comment fonctionnent les sections
+&lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ForceType" id="ForceType">ForceType</a> <a name="forcetype" id="forcetype">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force un type de contenu MIME pour les fichiers
+spécifiés</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForceType <var>type MIME</var>|None</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Intégré dans le coeur d'Apache depuis la version
+2.0</td></tr>
+</table>
+ <p>Lorsqu'elle est placée dans un fichier <code>.htaccess</code> ou
+ une section <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>, <code class="directive"><a href="#location">&lt;Location&gt;</a></code>, ou <code class="directive"><a href="#files">&lt;Files&gt;</a></code>, cette directive force
+ l'identification du type MIME des fichiers spécifiés à la valeur de
+ l'argument <var>type MIME</var>. Par exemple, si vous possédez un
+ répertoire ne contenant que des fichiers GIF, et si vous ne voulez
+ pas leur ajouter l'extension <code>.gif</code>, vous pouvez utiliser
+ :</p>
+
+ <div class="example"><p><code>
+ ForceType image/gif
+ </code></p></div>
+
+ <p>Notez qu'à la différence de <code class="directive"><a href="#defaulttype">DefaultType</a></code>, cette directive l'emporte sur
+ toute méthode d'attribution du type MIME, y compris les extensions
+ de nom de fichier, qui parviendrait à identifier le type de
+ médium.</p>
+
+ <p>Vous pouvez annuler toute autre définition
+ <code class="directive">ForceType</code> en affectant la valeur
+ <code>None</code> à l'argument <var>type MIME</var> :</p>
+
+ <div class="example"><p><code>
+ # force le type MIME de tous les fichiers à image/gif:<br />
+ &lt;Location /images&gt;<br />
+ <span class="indent">
+ ForceType image/gif<br />
+ </span>
+ &lt;/Location&gt;<br />
+ <br />
+ # mais utilise les méthodes classiques d'attribution du type MIME
+ # dans le sous-répertoire suivant :<br />
+ &lt;Location /images/mixed&gt;<br />
+ <span class="indent">
+ ForceType None<br />
+ </span>
+ &lt;/Location&gt;
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="GprofDir" id="GprofDir">GprofDir</a> <a name="gprofdir" id="gprofdir">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire dans lequel écrire les données de profiling
+gmon.out.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Lorsque le serveur a été compilé avec le support du profiling
+ gprof, la directive <code class="directive">GprofDir</code> permet de
+ spécifier dans quel répertoire les fichiers <code>gmon.out</code>
+ doivent être écrits lorsque le processus s'arrête. Si l'argument se
+ termine par un caractère pourcentage ('%'), des sous-répertoires
+ sont créés pour chaque identifiant de processus.</p>
+
+ <p>Cette directive ne fonctionne actuellement qu'avec le MPM
+ <code class="module"><a href="../mod/prefork.html">prefork</a></code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a> <a name="hostnamelookups" id="hostnamelookups">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la recherche DNS sur les adresses IP des
+clients</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HostnameLookups Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive active la recherche DNS afin de pouvoir
+ journaliser les noms d'hôtes (et les passer aux programmes CGI et aux
+ inclusions SSI via la variable <code>REMOTE_HOST</code>). La valeur
+ <code>Double</code> déclenche une double recherche DNS inverse. En
+ d'autres termes, une fois la recherche inverse effectuée, on lance
+ une recherche directe sur le résultat de cette dernière. Au moins
+ une des adresses IP fournies par la recherche directe doit
+ correspondre à l'adresse originale (ce que l'on nomme
+ <code>PARANOID</code> dans la terminologie "tcpwrappers").</p>
+
+ <p>Quelle que soit la configuration, lorsqu'on utilise
+ <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> pour contrôler l'accès en fonction
+ du nom d'hôte, une double recherche DNS inverse est effectuée,
+ sécurité oblige. Notez cependant que le résultat de cette double
+ recherche n'est en général pas accessible, à moins que vous n'ayez
+ spécifié <code>HostnameLookups Double</code>. Par exemple, si vous
+ n'avez spécifié que <code>HostnameLookups On</code>, et si une
+ requête concerne un objet protégé par des restrictions en fonction
+ du nom d'hôte, quel que soit le résultat de la double recherche
+ inverse, les programmes CGI ne recevront que le résultat de la
+ recherche inverse simple dans la variable
+ <code>REMOTE_HOST</code>.</p>
+
+ <p>La valeur par défaut est <code>Off</code> afin de préserver le
+ traffic réseau des sites pour lesquels la recherche inverse n'est
+ pas vraiment nécessaire. Cette valeur par défaut est aussi bénéfique
+ pour les utilisateurs finaux car il n'ont ainsi pas à subir de temps
+ d'attente supplémentaires dus aux recherches DNS. Les sites
+ fortement chargés devraient laisser cette directive à
+ <code>Off</code>, car les recherches DNS peuvent prendre des temps
+ très longs. Vous pouvez éventuellement utiliser hors ligne
+ l'utilitaire <code class="program"><a href="../programs/logresolve.html">logresolve</a></code>, compilé par défaut dans
+ le sous-répertoire <code>bin</code> de votre répertoire
+ d'installation, afin de déterminer les noms d'hôtes associés aux
+ adresses IP journalisées.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="IfDefine" id="IfDefine">&lt;IfDefine&gt;</a> <a name="ifdefine" id="ifdefine">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliqueront que si un
+test retourne "vrai" au démarrage du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;IfDefine [!]<var>paramètre</var>&gt; ...
+ &lt;/IfDefine&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La section <code>&lt;IfDefine
+ <var>test</var>&gt;...&lt;/IfDefine&gt;</code> permet de
+ conférer un caractère conditionnel à un ensemble de directives. Les
+ directives situées à l'intérieur d'une section <code class="directive">&lt;IfDefine&gt;</code> ne s'appliquent que si
+ <var>test</var> est vrai. Si <var>test</var> est faux, tout ce qui
+ se trouve entre les balises de début et de fin est ignoré.</p>
+
+ <p><var>test</var> peut se présenter sous deux formes :</p>
+
+ <ul>
+ <li><var>nom paramètre</var></li>
+
+ <li><code>!</code><var>nom paramètre</var></li>
+ </ul>
+
+ <p>Dans le premier cas, les directives situées entre les balises de
+ début et de fin ne s'appliqueront que si le paramètre nommé <var>nom
+ paramètre</var> est défini. Le second format inverse le test, et
+ dans ce cas, les directives ne s'appliqueront que si <var>nom
+ paramètre</var> n'est <strong>pas</strong> défini.</p>
+
+ <p>La définition de l'argument <var>nom paramètre</var>
+ s'effectue au niveau de la ligne de commande
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code> via le paramètre
+ <code>-D<var>paramètre</var></code> au démarrage du serveur.</p>
+
+ <p>Les sections <code class="directive">&lt;IfDefine&gt;</code>
+ peuvent être imbriquées, ce qui permet de mettre en oeuvre un test
+ multi-paramètres simple. Exemple :</p>
+
+ <div class="example"><p><code>
+ httpd -DReverseProxy -DUseCache -DMemCache ...<br />
+ <br />
+ # httpd.conf<br />
+ &lt;IfDefine ReverseProxy&gt;<br />
+ <span class="indent">
+ LoadModule proxy_module modules/mod_proxy.so<br />
+ LoadModule proxy_http_module modules/mod_proxy_http.so<br />
+ &lt;IfDefine UseCache&gt;<br />
+ <span class="indent">
+ LoadModule cache_module modules/mod_cache.so<br />
+ &lt;IfDefine MemCache&gt;<br />
+ <span class="indent">
+ LoadModule mem_cache_module modules/mod_mem_cache.so<br />
+ </span>
+ &lt;/IfDefine&gt;<br />
+ &lt;IfDefine !MemCache&gt;<br />
+ <span class="indent">
+ LoadModule disk_cache_module modules/mod_disk_cache.so<br />
+ </span>
+ &lt;/IfDefine&gt;
+ </span>
+ &lt;/IfDefine&gt;
+ </span>
+ &lt;/IfDefine&gt;
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="IfModule" id="IfModule">&lt;IfModule&gt;</a> <a name="ifmodule" id="ifmodule">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'en fonction
+de la présence ou de l'absence d'un module spécifique</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;IfModule [!]<var>fichier module</var>|<var>identificateur
+module</var>&gt; ... &lt;/IfModule&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les identificateurs de modules sont disponibles dans les
+versions 2.1 et supérieures.</td></tr>
+</table>
+ <p>La section <code>&lt;IfModule
+ <var>test</var>&gt;...&lt;/IfModule&gt;</code> permet de conférer à
+ des directives un caractère conditionnel basé sur la présence d'un
+ module spécifique. Les directives situées dans une section
+ <code class="directive">&lt;IfModule&gt;</code> ne s'appliquent que
+ si <var>test</var> est vrai. Si <var>test</var> est faux, tout ce
+ qui se trouve entre les balises de début et de fin est ignoré.</p>
+
+ <p><var>test</var> peut se présenter sous deux formes :</p>
+
+ <ul>
+ <li><var>module</var></li>
+
+ <li>!<var>module</var></li>
+ </ul>
+
+ <p>Dans le premier cas, les directives situées entre les balises de
+ début et de fin ne s'appliquent que si le module <var>module</var>
+ est présent -- soit compilé avec le binaire httpd, soit chargé
+ dynamiquement via la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>. Le second format inverse le test, et dans
+ ce cas, les directives ne s'appliquent que si <var>module</var>
+ n'est <strong>pas</strong> présent.</p>
+
+ <p>L'argument <var>module</var> peut contenir soit l'identificateur
+ du module, soit le nom du fichier source du module. Par exemple,
+ <code>rewrite_module</code> est un identificateur et
+ <code>mod_rewrite.c</code> le nom du fichier source
+ correspondant. Si un module comporte plusieurs fichiers sources,
+ utilisez le nom du fichier qui contient la chaîne de caractères
+ <code>STANDARD20_MODULE_STUFF</code>.</p>
+
+ <p>Les sections <code class="directive">&lt;IfModule&gt;</code>
+ peuvent être imbriquées, ce qui permet d'implémenter des tests
+ multi-modules simples.</p>
+
+ <div class="note">Cette section ne doit être utilisée que si votre fichier de
+ configuration ne fonctionne qu'en fonction de la présence ou de
+ l'absence d'un module spécifique. D'une manière générale, il n'est
+ pas nécessaire de placer les directives à l'intérieur de sections
+ <code class="directive">&lt;IfModule&gt;</code>.</div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Include" id="Include">Include</a> <a name="include" id="include">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inclut d'autres fichiers de configuration dans un des
+fichiers de configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Include <var>chemin fichier</var>|<var>chemin
+répertoire</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Utilisation des caractères génériques depuis la version
+2.0.41, utilisation des caractères génériques pour les répertoires
+depuis la version 2.3.6</td></tr>
+</table>
+ <p>Cette directive permet l'inclusion d'autres fichiers de
+ configuration dans un des fichiers de configuration du serveur.</p>
+
+ <p>On peut utiliser des caractères génériques de style Shell
+ (<code>fnmatch()</code>) dans le nom du fichier ou la partie
+ répertoire pour inclure plusieurs fichiers en une
+ seule fois, selon leur ordre alphabétique. De plus, si la directive
+ <code class="directive">Include</code> pointe vers un répertoire, Apache
+ inclura tous les fichiers de ce répertoire et de tous ces
+ sous-répertoires. L'inclusion de répertoires entiers est cependant
+ déconseillée, car il est fréquent d'oublier des fichiers
+ temporaires dans un répertoire, ce qui causerait une erreur
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code> en cas d'inclusion. Nous vous recommandons
+ plutôt d'utiliser la syntaxe avec caractères génériques vue ci-dessous
+ pour inclure des fichiers dont le nom correspond à un modèle
+ particulier, comme *.conf par exemple.</p>
+
+ <p>Lorsqu'on utilise un caractère générique dans le nom de fichier
+ ou la partie répertoire du chemin, et si aucun fichier ou répertoire
+ ne correspond au modèle, la directive <code class="directive"><a href="#include">Include</a></code> sera silencieusement ignorée. Si
+ un nom de fichier ou un répertoire du chemin est spécifié sans
+ caractère générique, et si ce répertoire ou fichier n'existe pas, la
+ directive <code class="directive"><a href="#include">Include</a></code> échouera et
+ renverra un message d'erreur indiquant que le répertoire ou fichier
+ n'a pas pu être trouvé. Il
+ devient ainsi inutile de créer des fichiers fictifs destinés à
+ correspondre par défaut à un chemin contenant des caractères
+ génériques.</p>
+
+ <p>Le chemin fichier spécifié peut être soit un chemin absolu, soit
+ un chemin relatif au répertoire défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
+
+ <p>Exemples :</p>
+
+ <div class="example"><p><code>
+ Include /usr/local/apache2/conf/ssl.conf<br />
+ Include /usr/local/apache2/conf/vhosts/*.conf
+ </code></p></div>
+
+ <p>ou encore, avec des chemins relatifs au répertoire défini par la
+ directive <code class="directive"><a href="#serverroot">ServerRoot</a></code> :</p>
+
+ <div class="example"><p><code>
+ Include conf/ssl.conf<br />
+ Include conf/vhosts/*.conf
+ </code></p></div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="KeepAlive" id="KeepAlive">KeepAlive</a> <a name="keepalive" id="keepalive">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active les connexions HTTP persistantes</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeepAlive On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAlive On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>L'extension Keep-Alive de HTTP/1.0 et l'implémentation des
+ connexions persistantes dans HTTP/1.1 ont rendu possibles des
+ sessions HTTP de longue durée, ce qui permet de transmettre
+ plusieurs requêtes via la même connexion TCP. Dans certains cas, le
+ gain en rapidité pour des documents comportant de nombreuses images
+ peut atteindre 50%. Pour activer les connexions persistantes,
+ définissez <code>KeepAlive On</code>.</p>
+
+ <p>Pour les clients HTTP/1.0, les connexions persistantes ne seront
+ mises en oeuvre que si elles ont été spécialement demandées par un
+ client. De plus, une connexion persistante avec un client HTTP/1.0
+ ne peut être utilisée que si la taille du contenu est connue
+ d'avance. Ceci implique que les contenus dynamiques comme les
+ sorties CGI, les pages SSI, et les listings de répertoires générés
+ par le serveur n'utiliseront en général pas les connexions
+ persistantes avec les clients HTTP/1.0. Avec les clients HTTP/1.1,
+ les connexions persistantes sont utilisées par défaut, sauf
+ instructions contraires. Si le client le demande, le transfert par
+ tronçons de taille fixe (chunked encoding) sera utilisé afin de
+ transmettre un contenu de longueur inconnue via une connexion
+ persistante.</p>
+
+ <p>Lorsqu'un client utilise une connexion persistante, elle comptera
+ pour une seule requête pour la directive MaxRequestsPerChild, quel
+ que soit le nombre de requêtes transmises via cette connexion.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a> <a name="keepalivetimeout" id="keepalivetimeout">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée pendant laquelle le serveur va attendre une requête
+avant de fermer une connexion persistante</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeepAliveTimeout <var>secondes</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAliveTimeout 5</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Le nombre de secondes pendant lesquelles Apache va attendre une
+ requête avant de fermer la connexion. La valeur du délai spécifiée
+ par la directive <code class="directive"><a href="#timeout">Timeout</a></code>
+ s'applique dès qu'une requête a été reçue.</p>
+
+ <p>Donner une valeur trop élévée à
+ <code class="directive">KeepAliveTimeout</code> peut induire des problèmes
+ de performances sur les serveurs fortement chargés. Plus le délai
+ est élévé, plus nombreux seront les processus serveur en attente de
+ requêtes de la part de clients inactifs.</p>
+
+ <p>Dans un contexte de serveur virtuel à base de nom, c'est le délai
+ du premier serveur virtuel défini (le serveur par défaut) parmi un
+ ensemble de directives <code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code> qui sera utilisé. Les
+ autres valeurs seront ignorées.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Limit" id="Limit">&lt;Limit&gt;</a> <a name="limit" id="limit">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restreint les contrôles d'accès que la section contient à
+certaines méthodes HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;Limit <var>méthode</var> [<var>méthode</var>] ... &gt; ...
+ &lt;/Limit&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Les contrôles d'accès s'appliquent normalement à
+ <strong>toutes</strong> les méthodes d'accès, et c'est en général le
+ comportement souhaité. <strong>Dans le cas général, les directives
+ de contrôle d'accès n'ont pas à être placées dans une section
+ <code class="directive">&lt;Limit&gt;</code>.</strong></p>
+
+ <p>La directive <code class="directive">&lt;Limit&gt;</code> a pour
+ but de limiter les effets des contrôles d'accès aux méthodes HTTP
+ spécifiées. Pour toutes les autres méthodes, les restrictions
+ d'accès contenues dans la section <code class="directive">&lt;Limit&gt;</code> <strong>n'auront aucun
+ effet</strong>. L'exemple suivant n'applique les contrôles d'accès
+ qu'aux méthodes <code>POST</code>, <code>PUT</code>, et
+ <code>DELETE</code>, en laissant les autres méthodes sans protection
+ :</p>
+
+ <div class="example"><p><code>
+ &lt;Limit POST PUT DELETE&gt;<br />
+ <span class="indent">
+ Require valid-user<br />
+ </span>
+ &lt;/Limit&gt;
+ </code></p></div>
+
+ <p>La liste des noms de méthodes peut contenir une ou plusieurs
+ valeurs parmi les suivantes : <code>GET</code>, <code>POST</code>,
+ <code>PUT</code>, <code>DELETE</code>, <code>CONNECT</code>,
+ <code>OPTIONS</code>, <code>PATCH</code>, <code>PROPFIND</code>,
+ <code>PROPPATCH</code>, <code>MKCOL</code>, <code>COPY</code>,
+ <code>MOVE</code>, <code>LOCK</code>, et <code>UNLOCK</code>.
+ <strong>Le nom de méthode est sensible à la casse.</strong> Si la
+ valeur <code>GET</code> est présente, les requêtes <code>HEAD</code>
+ seront aussi concernées. La méthode <code>TRACE</code> ne peut pas
+ être limitée.</p>
+
+ <div class="warning">Une section <code class="directive"><a href="#limitexcept">&lt;LimitExcept&gt;</a></code> doit toujours être préférée à
+ une section <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code> pour la restriction d'accès, car une
+ section <code class="directive"><a href="#limitexcept">&lt;LimitExcept&gt;</a></code> fournit une protection contre
+ les méthodes arbitraires.</div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LimitExcept" id="LimitExcept">&lt;LimitExcept&gt;</a> <a name="limitexcept" id="limitexcept">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applique les contrôles d'accès à toutes les méthodes HTTP,
+sauf celles qui sont spécifiées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;LimitExcept <var>méthode</var> [<var>méthode</var>] ... &gt; ...
+ &lt;/LimitExcept&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p><code class="directive">&lt;LimitExcept&gt;</code> et
+ <code>&lt;/LimitExcept&gt;</code> permettent de regrouper des
+ directives de contrôle d'accès qui s'appliqueront à toutes les
+ méthodes d'accès HTTP qui ne font <strong>pas</strong> partie de la
+ liste des arguments ; en d'autres termes, elles ont un comportement
+ opposé à celui de la section <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code>, et on peut les utiliser pour
+ contrôler aussi bien les méthodes standards que les méthodes non
+ standards ou non reconnues. Voir la documentation de la section
+ <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code> pour plus
+ de détails.</p>
+
+ <p>Par exemple :</p>
+
+ <div class="example"><p><code>
+ &lt;LimitExcept POST GET&gt;<br />
+ <span class="indent">
+ Require valid-user<br />
+ </span>
+ &lt;/LimitExcept&gt;
+ </code></p></div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a> <a name="limitinternalrecursion" id="limitinternalrecursion">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le nombre maximal de redirections internes et de
+sous-requêtes imbriquées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitInternalRecursion 10</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.0.47 d'Apache</td></tr>
+</table>
+ <p>Une redirection interne survient, par exemple, quand on utilise
+ la directive <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> qui
+ redirige en interne la requête d'origine vers un script CGI. Une
+ sous-requête est le mécanisme qu'utilise Apache pour déterminer ce
+ qui se passerait pour un URI s'il faisait l'objet d'une requête. Par
+ exemple, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> utilise les sous-requêtes pour
+ rechercher les fichiers listés dans la directive <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>.</p>
+
+ <p>La directive <code class="directive">LimitInternalRecursion</code> permet
+ d'éviter un crash du serveur dû à un bouclage infini de redirections
+ internes ou de sous-requêtes. De tels bouclages sont dus en général
+ à des erreurs de configuration.</p>
+
+ <p>La directive accepte, comme arguments, deux limites qui sont
+ évaluées à chaque requête. Le premier <var>nombre</var> est le
+ nombre maximum de redirections internes qui peuvent se succéder. Le
+ second <var>nombre</var> détermine la profondeur d'imbrication
+ maximum des sous-requêtes. Si vous ne spécifiez qu'un seul
+ <var>nombre</var>, il sera affecté aux deux limites.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ LimitInternalRecursion 5
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a> <a name="limitrequestbody" id="limitrequestbody">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>limite la taille maximale du corps de la requête HTTP
+envoyée par le client</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestBody <var>octets</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestBody 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive spécifie la taille maximale autorisée pour le
+ corps d'une requête ; la valeur de l'argument <var>octets</var> va
+ de 0 (pour une taille illimitée), à 2147483647 (2Go).</p>
+
+ <p>La directive <code class="directive">LimitRequestBody</code> permet de
+ définir une limite pour la taille maximale autorisée du corps d'une
+ requête HTTP en tenant compte du contexte dans lequel la directive
+ a été placée (c'est à dire au niveau du serveur, d'un répertoire,
+ d'un fichier ou d'un chemin d'url). Si la requête du client dépasse
+ cette limite, le serveur répondra par un message d'erreur et ne
+ traitera pas la requête. La taille du corps d'une requête normale va
+ varier de manière importante en fonction de la nature de la
+ ressource et des méthodes autorisées pour cette dernière. Les
+ scripts CGI utilisent souvent le corps du message pour extraire les
+ informations d'un formulaire. Les implémentations de la méthode
+ <code>PUT</code> nécessitent une valeur au moins aussi élevée que la
+ taille maximale des représentations que le serveur désire accepter
+ pour cette ressource.</p>
+
+ <p>L'administrateur du serveur peut utiliser cette directive pour
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service.</p>
+
+ <p>Si par exemple, vous autorisez le chargement de fichiers vers une
+ localisation particulière, et souhaitez limiter la taille des
+ fichiers chargés à 100Ko, vous pouvez utiliser la directive suivante
+ :</p>
+
+ <div class="example"><p><code>
+ LimitRequestBody 102400
+ </code></p></div>
+
+ <div class="note">Note : ne s'applique pas aux requêtes mandatées.</div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a> <a name="limitrequestfields" id="limitrequestfields">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de champs d'en-tête autorisés dans une
+requête HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestFields <var>nombre</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFields 100</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p><var>nombre</var> est un entier de 0 (nombre de champs illimité)
+ à 32767. La valeur par défaut est définie à la compilation par la
+ constante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 selon la
+ distribution).</p>
+
+ <p>La directive <code class="directive">LimitRequestFields</code> permet à
+ l'administrateur du serveur de modifier le nombre maximum de champs
+ d'en-tête autorisés dans une requête HTTP. Pour un serveur, cette
+ valeur doit être supérieure au nombre de champs qu'une requête
+ client normale peut contenir. Le nombre de champs d'en-tête d'une
+ requête qu'un client utilise dépasse rarement 20, mais ce nombre
+ peut varier selon les implémentations des clients, et souvent en
+ fonction des extensions que les utilisateurs configurent dans leurs
+ navigateurs pour supporter la négociation de contenu détaillée. Les
+ extensions HTTP optionnelles fonctionnent utilisent souvent les
+ champs d'en-tête des requêtes.</p>
+
+ <p>L'administrateur du serveur peut utiliser cette directive pour
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service. La valeur spécifiée doit être
+ augmentée si les clients standards reçoivent une erreur du serveur
+ indiquant que la requête comportait un nombre d'en-têtes trop
+ important.</p>
+
+ <p>Par exemple :</p>
+
+ <div class="example"><p><code>
+ LimitRequestFields 50
+ </code></p></div>
+
+ <div class="warning"><h3>Avertissement</h3>
+ <p>Dans le cas des serveurs virtuels par noms, la valeur de
+ cette directive est extraite du serveur virtuel par défaut (le
+ premier de la liste) pour lequel la connexion correspondait à la
+ directive <code class="directive">NameVirtualHost</code>.</p>
+ </div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a> <a name="limitrequestfieldsize" id="limitrequestfieldsize">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dédinit la taille maximale autorisée d'un en-tête de
+requête HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestFieldSize <var>octets</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFieldSize 8190</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive permet de définir le nombre maximum
+ d'<var>octets</var> autorisés dans un en-tête de requête HTTP.</p>
+
+ <p>La directive <code class="directive">LimitRequestFieldSize</code> permet
+ à l'administrateur du serveur de réduire ou augmenter la taille
+ maximale autorisée d'un en-tête de requête HTTP. Pour un serveur,
+ cette valeur doit être suffisamment grande pour contenir tout
+ en-tête d'une requête client normale. La taille d'un champ d'en-tête
+ de requête normal va varier selon les implémentations des clients,
+ et en fonction des extensions que les utilisateurs
+ configurent dans leurs navigateurs pour supporter la négociation de
+ contenu détaillée. Les en-têtes d'authentification SPNEGO peuvent
+ atteindre une taille de 12392 octets.</p>
+
+ <p>&gt;L'administrateur du serveur peut utiliser cette directive pour
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service.</p>
+
+ <p>Par exemple ::</p>
+
+ <div class="example"><p><code>
+ LimitRequestFieldSize 4094
+ </code></p></div>
+
+ <div class="note">Dans des conditions normales, la valeur par défaut de cette
+ directive ne doit pas être modifiée.</div>
+
+ <div class="warning"><h3>Avertissement</h3>
+ <p>Dans le cas des serveurs virtuels par noms, la valeur de
+ cette directive est extraite du serveur virtuel par défaut (le
+ premier de la liste) pour lequel la connexion correspondait à la
+ directive <code class="directive">NameVirtualHost</code>.</p>
+ </div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a> <a name="limitrequestline" id="limitrequestline">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale d'une ligne de requête
+HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestLine <var>octets</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestLine 8190</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive permet de définir la taille maximale autorisée
+ pour une ligne de requête HTTP en <var>octets</var>.</p>
+
+ <p>La directive <code class="directive">LimitRequestLine</code> permet à
+ l'administrateur du serveur de réduire ou augmenter la taille
+ maximale autorisée d'une ligne de requête HTTP client. Comme une
+ requête comporte une méthode HTTP, un URI, et une version de
+ protocole, la directive <code class="directive">LimitRequestLine</code>
+ impose une restriction sur la longueur maximale autorisée pour un
+ URI dans une requête au niveau du serveur. Pour un serveur, cette
+ valeur doit être suffisamment grande pour référencer les noms de
+ toutes ses ressources, y compris toutes informations pouvant être
+ ajoutées dans la partie requête d'une méthode <code>GET</code>.</p>
+
+ <p>L'administrateur du serveur peut utiliser cette directive pour
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service.</p>
+
+ <p>Par exemple :</p>
+
+ <div class="example"><p><code>
+ LimitRequestLine 4094
+ </code></p></div>
+
+ <div class="note">Dans des conditions normales, la valeur par défaut de cette
+ directive ne doit pas être modifiée.</div>
+
+ <div class="warning"><h3>Avertissement</h3>
+ <p>Dans le cas des serveurs virtuels par noms, la valeur de
+ cette directive est extraite du serveur virtuel par défaut (le
+ premier de la liste) pour lequel la connexion correspondait à la
+ directive <code class="directive">NameVirtualHost</code>.</p>
+ </div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a> <a name="limitxmlrequestbody" id="limitxmlrequestbody">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale du corps d'une requête au format
+XML</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitXMLRequestBody <var>octets</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Taille maximale (en octets) du corps d'une requête au format XML.
+ Une valeur de <code>0</code> signifie qu'aucune limite n'est
+ imposée.</p>
+
+ <p>Exemple :</p>
+
+ <div class="example"><p><code>
+ LimitXMLRequestBody 0
+ </code></p></div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Location" id="Location">&lt;Location&gt;</a> <a name="location" id="location">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'applique les directives contenues qu'aux URLs
+spécifiées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;Location
+ <var>chemin URL</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">&lt;Location&gt;</code>
+ limite la portée des directives contenues aux URLs définies par
+ l'argument URL. Elle est similaire à la directive <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>, et marque le
+ début d'une section qui se termine par une directive
+ <code>&lt;/Location&gt;</code>. Les sections <code class="directive">&lt;Location&gt;</code> sont traitées selon l'ordre dans
+ lequel elles apparaissent dans le fichier de configuration, mais
+ après les sections <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> et la lecture des
+ fichiers <code>.htaccess</code>, et après les sections <code class="directive"><a href="#files">&lt;Files&gt;</a></code>.</p>
+
+ <p>Les sections <code class="directive">&lt;Location&gt;</code>
+ agissent complètement en dehors du système de fichiers. Ceci a de
+ nombreuses conséquences. Parmi les plus importantes, on ne doit pas
+ utiliser les sections <code class="directive">&lt;Location&gt;</code>
+ pour contrôler l'accès aux répertoires du système de fichiers. Comme
+ plusieurs URLs peuvent correspondre au même répertoire du système de
+ fichiers, un tel contrôle d'accès pourrait être contourné.</p>
+
+ <p>Les directives que contient cette section seront appliquées aux
+ requêtes si la partie chemin de l'URL satisfait à l'un au moins de
+ ces critères :</p>
+ <ul>
+ <li>Le chemin spécifié correspond exactement à la partie chemin de
+ l'URL.
+ </li>
+ <li>Le chemin spécifié, qui se termine par un slash, est un
+ préfixe de la partie chemin de l'URL (traité comme une racine du
+ contexte).
+ </li>
+ <li>Le chemin spécifié, si on lui ajoute un slash de fin, est un
+ préfixe de la partie chemin de l'URL (aussi traité comme une racine du
+ contexte).
+ </li>
+ </ul>
+ <p>Dans l'exemple ci-dessous, où aucun slash de fin n'est utilisé, les
+ directives contenues dans la section s'appliqueront à /private1,
+ /private1/ et /private1/file.txt, mais pas à /private1other.</p>
+ <div class="example"><p><code>
+ &lt;Location /private1&gt;
+ ...
+ </code></p></div>
+ <p>De même, dans l'exemple ci-dessous, où l'on utilise un slash de fin, les
+ directives contenues dans la section s'appliqueront à /private2/ et
+ à /private2/file.txt, mais pas à /private2other.</p>
+ <div class="example"><p><code>
+ &lt;Location /private2<em>/</em>&gt;
+ ...
+ </code></p></div>
+
+ <div class="note"><h3>Quand utiliser la section <code class="directive">&lt;Location&gt;</code></h3>
+
+ <p>Vous pouvez utiliser une section <code class="directive">&lt;Location&gt;</code> pour appliquer des directives à
+ des contenus situés en dehors du système de fichiers. Pour les
+ contenus situés à l'intérieur du système de fichiers, utilisez
+ plutôt les sections <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> et <code class="directive"><a href="#files">&lt;Files&gt;</a></code>. <code>&lt;Location
+ /&gt;</code> constitue une exception à cette règle et permet d'appliquer
+ aisément une configuration à l'ensemble du serveur.</p>
+ </div>
+
+ <p>Pour toutes les requêtes originales (non mandatées), l'argument
+ URL est un chemin d'URL de la forme
+ <code>/chemin/</code>. <em>Aucun protocole, nom d'hôte, port, ou chaîne
+ de requête ne doivent apparaître.</em> Pour les requêtes mandatées, l'URL
+ spécifiée doit être de la forme
+ <code>protocole://nom_serveur/chemin</code>, et vous devez inclure
+ le préfixe.</p>
+
+ <p>L'URL peut contenir des caractères génériques. Dans une chaîne
+ avec caractères génériques, <code>?</code> correspond à un caractère
+ quelconque, et <code>*</code> à toute chaîne de caractères. Les
+ caractères génériques ne peuvent pas remplacer un / dans le chemin
+ URL.</p>
+
+ <p>On peut également utiliser les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions
+ rationnelles</a>, moyennant l'addition d'un caractère
+ <code>~</code>. Par exemple :</p>
+
+ <div class="example"><p><code>
+ &lt;Location ~ "/(extra|special)/data"&gt;
+ </code></p></div>
+
+ <p>concernerait les URLs contenant les sous-chaîne
+ <code>/extra/data</code> ou <code>/special/data</code>. La directive
+ <code class="directive"><a href="#locationmatch">&lt;LocationMatch&gt;</a></code>
+ présente un comportement identique à la version avec expressions
+ rationnelles de la directive <code class="directive">&lt;Location&gt;</code>.</p>
+
+ <p>La directive <code class="directive">&lt;Location&gt;</code>
+ s'utilise principalement avec la directive <code class="directive"><a href="#sethandler">SetHandler</a></code>. Par exemple, pour activer les
+ requêtes d'état, mais ne les autoriser que depuis des navigateurs
+ appartenant au domaine <code>example.com</code>, vous pouvez
+ utiliser :</p>
+
+ <div class="example"><p><code>
+ &lt;Location /status&gt;<br />
+ <span class="indent">
+ SetHandler server-status<br />
+ Order Deny,Allow<br />
+ Deny from all<br />
+ Allow from .example.com<br />
+ </span>
+ &lt;/Location&gt;
+ </code></p></div>
+
+ <div class="note"><h3>Note à propos du slash (/)</h3>
+ <p>La signification du caractère slash dépend de l'endroit où il
+ se trouve dans l'URL. Les utilisateurs peuvent être habitués à
+ son comportement dans le système de fichiers où plusieurs slashes
+ successifs sont souvent réduits à un slash unique (en d'autres
+ termes, <code>/home///foo</code> est identique à
+ <code>/home/foo</code>). Dans l'espace de nommage des URLs, ce
+ n'est cependant pas toujours le cas. Pour la directive <code class="directive"><a href="#locationmatch">&lt;LocationMatch&gt;</a></code> et la
+ version avec expressions rationnelles de la directive <code class="directive">&lt;Location&gt;</code>, vous devez spécifier
+ explicitement les slashes multiples si telle est votre
+ intention.</p>
+
+ <p>Par exemple, <code>&lt;LocationMatch ^/abc&gt;</code> va
+ correspondre à l'URL <code>/abc</code> mais pas à l'URL <code>
+ //abc</code>. La directive <code class="directive">&lt;Location&gt;</code> sans expression rationnelle se comporte de
+ la même manière lorsqu'elle est utilisée pour des requêtes
+ mandatées. En revanche, lorsque la directive <code class="directive">&lt;Location&gt;</code> sans expression rationnelle
+ est utilisée pour des requêtes non mandatées, elle fera
+ correspondre implicitement les slashes multiples à des slashes
+ uniques. Par exemple, si vous spécifiez <code>&lt;Location
+ /abc/def&gt;</code>, une requête de la forme
+ <code>/abc//def</code> correspondra.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../sections.html">Comment fonctionnent les sections
+&lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête.</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LocationMatch" id="LocationMatch">&lt;LocationMatch&gt;</a> <a name="locationmatch" id="locationmatch">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'applique les directives contenues qu'aux URLs
+correspondant à une expression rationnelle</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;LocationMatch
+ <var>regex</var>&gt; ... &lt;/LocationMatch&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">&lt;LocationMatch&gt;</code>
+ limite la portée des directives contenues à l'URL spécifiée, de
+ manière identique à la directive <code class="directive"><a href="#location">&lt;Location&gt;</a></code>. Mais son argument permettant de
+ spécifier les URLs concernées est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> au lieu d'une simple
+ chaîne de caractères. Par exemple :</p>
+
+ <div class="example"><p><code>
+ &lt;LocationMatch "/(extra|special)/data"&gt;
+ </code></p></div>
+
+ <p>correspondrait à toute URL contenant les sous-chaînes
+ <code>/extra/data</code> ou <code>/special/data</code>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../sections.html">Comment fonctionnent les sections
+&lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête.</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LogLevel" id="LogLevel">LogLevel</a> <a name="loglevel" id="loglevel">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la verbosité du journal des erreurs</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogLevel <var>niveau</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogLevel warn</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">LogLevel</code> permet d'ajuster la
+ verbosité des messages enregistrés dans les journaux d'erreur (voir
+ la directive <code class="directive"><a href="#errorlog">ErrorLog</a></code>
+ directive). Les <var>niveau</var>x disponibles sont présentés
+ ci-après, par ordre de criticité décroissante :</p>
+
+ <table class="bordered">
+
+ <tr>
+ <th><strong>Niveau</strong> </th>
+
+ <th><strong>Description</strong> </th>
+
+ <th><strong>Exemple</strong> </th>
+ </tr>
+
+ <tr>
+ <td><code>emerg</code> </td>
+
+ <td>Urgences - le système est inutilisable.</td>
+
+ <td>"Child cannot open lock file. Exiting"</td>
+ </tr>
+
+ <tr>
+ <td><code>alert</code> </td>
+
+ <td>Des mesures doivent être prises immédiatement.</td>
+
+ <td>"getpwuid: couldn't determine user name from uid"</td>
+ </tr>
+
+ <tr>
+ <td><code>crit</code> </td>
+
+ <td>Conditions critiques.</td>
+
+ <td>"socket: Failed to get a socket, exiting child"</td>
+ </tr>
+
+ <tr>
+ <td><code>error</code> </td>
+
+ <td>Erreurs.</td>
+
+ <td>"Premature end of script headers"</td>
+ </tr>
+
+ <tr>
+ <td><code>warn</code> </td>
+
+ <td>Avertissements.</td>
+
+ <td>"child process 1234 did not exit, sending another
+ SIGHUP"</td>
+ </tr>
+
+ <tr>
+ <td><code>notice</code> </td>
+
+ <td>Evènement important mais normal.</td>
+
+ <td>"httpd: caught SIGBUS, attempting to dump core in
+ ..."</td>
+ </tr>
+
+ <tr>
+ <td><code>info</code> </td>
+
+ <td>Informations.</td>
+
+ <td>"Server seems busy, (you may need to increase
+ StartServers, or Min/MaxSpareServers)..."</td>
+ </tr>
+
+ <tr>
+ <td><code>debug</code> </td>
+
+ <td>Messages de débogage.</td>
+
+ <td>"Opening config file ..."</td>
+ </tr>
+ </table>
+
+ <p>Lorsqu'un niveau particulier est spécifié, les messages de tous
+ les autres niveaux de criticité supérieure seront aussi enregistrés.
+ <em>Par exemple</em>, si <code>LogLevel info</code> est spécifié,
+ les messages de niveaux <code>notice</code> et <code>warn</code>
+ seront aussi émis.</p>
+
+ <p>Il est recommandé d'utiliser un niveau <code>crit</code> ou
+ inférieur.</p>
+
+ <p>Par exemple :</p>
+
+ <div class="example"><p><code>
+ LogLevel notice
+ </code></p></div>
+
+ <div class="note"><h3>Note</h3>
+ <p>Si la journalisation s'effectue directement dans un fichier,
+ les messages de niveau <code>notice</code> ne peuvent pas être
+ supprimés et sont donc toujours journalisés. Cependant, ceci ne
+ s'applique pas lorsque la journalisation s'effectue vers
+ <code>syslog</code>.</p>
+ </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a> <a name="maxkeepaliverequests" id="maxkeepaliverequests">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de requêtes permises pour une connexion
+persistante</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxKeepAliveRequests <var>nombre</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">MaxKeepAliveRequests</code> permet
+ de limiter le nombre de requêtes autorisées par connexion lorsque
+ <code class="directive"><a href="#keepalive">KeepAlive</a></code> est à "on". Si sa
+ valeur est <code>0</code>, le nombre de requêtes autorisées est
+ illimité. Il est recommandé de définir une valeur assez haute pour
+ des performances du serveur maximales.</p>
+
+ <p>Par exemple :</p>
+
+ <div class="example"><p><code>
+ MaxKeepAliveRequests 500
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a> <a name="namevirtualhost" id="namevirtualhost">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une adresse IP pour les serveurs virtuels à base de
+nom</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NameVirtualHost <var>adresse</var>[:<var>port</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">NameVirtualHost</code> est
+ obligatoire si vous envisagez de configurer des <a href="../vhosts/">serveurs virtuels par nom</a>.</p>
+
+ <p>Bien que <var>adresse</var> puisse être un nom d'hôte, il est
+ recommandé d'utiliser plutôt une adresse IP, comme</p>
+
+ <div class="example"><p><code>
+ NameVirtualHost 111.22.33.44
+ </code></p></div>
+
+ <p>La directive <code class="directive">NameVirtualHost</code> vous permet
+ de spécifier l'adresse IP sur laquelle le serveur recevra des
+ requêtes pour des serveurs virtuels basés sur le nom. Il s'agit en
+ général de l'adresse à laquelle correspondent vos noms de serveurs
+ virtuels basés sur le nom. Dans le cas où un par-feu ou autre
+ mandataire reçoit les requêtes et les fait suivre au serveur avec
+ une adresse IP différente, vous devez spécifier l'adresse IP de
+ l'interface physique du serveur qui traite les requêtes. Si vous
+ avez plusieurs serveurs virtuels basés sur le nom avec plusieurs
+ adresses, utilisez une directive pour chaque adresse.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>Notez que le "serveur principal" et tout serveur
+ <code>_default_</code> ne seront <strong>jamais</strong>
+ sollicités pour une requête vers une adresse
+ <code class="directive">NameVirtualHost</code> (à moins que pour une
+ raison ou pour une autre, vous spécifiiez un
+ <code class="directive">NameVirtualHost</code> sans définir de
+ <code class="directive">VirtualHost</code>s pour cette adresse).</p>
+ </div>
+
+ <p>Vous pouvez également ajouter un numéro de port sur lequel
+ les serveurs virtuels basés sur le nom répondront, comme</p>
+
+ <div class="example"><p><code>
+ NameVirtualHost 111.22.33.44:8080
+ </code></p></div>
+
+ <p>Les adresses IPv6 doivent être entourées de crochets, comme dans
+ l'exemple suivant :</p>
+
+ <div class="example"><p><code>
+ NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080
+ </code></p></div>
+
+ <p>Pour recevoir les requêtes sur toutes les interfaces, vous pouvez
+ utiliser comme argument <code>*:80</code>, ou <code>*</code> dans le
+ cas où vous écoutez sur plusieurs ports et souhaitez vraiment que le
+ serveur réponde sur chacun d'entre eux avec un jeu de serveurs
+ virtuels particulier.</p>
+
+ <div class="example"><p><code>
+ NameVirtualHost *:80
+ </code></p></div>
+
+ <div class="note"><h3>Argument de la directive <code class="directive">&lt;VirtualHost&gt;</code></h3>
+ <p>Notez que l'argument de la directive <code class="directive">&lt;VirtualHost&gt;</code> doit être identique à
+ l'argument de la directive <code class="directive">NameVirtualHost</code>.</p>
+
+ <div class="example"><p><code>
+ NameVirtualHost 1.2.3.4<br />
+ &lt;VirtualHost 1.2.3.4&gt;<br />
+ # ...<br />
+ &lt;/VirtualHost&gt;<br />
+ </code></p></div>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../vhosts/">Documentation sur les serveurs
+virtuels</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Options" id="Options">Options</a> <a name="options" id="options">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les fonctionnalités disponibles pour un répertoire
+particulier</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Options
+ [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Options All</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">Options</code> permet de définir
+ les fonctionnalités de serveur disponibles pour un répertoire
+ particulier.</p>
+
+ <p><var>option</var> peut être défini à <code>None</code>, auquel
+ cas aucune fonctionnalité spécifique n'est activée, ou comprendre
+ une ou plusieurs des options suivantes :</p>
+
+ <dl>
+ <dt><code>All</code></dt>
+
+ <dd>Toutes les options exceptée <code>MultiViews</code>. il s'agit
+ de la configuration par défaut.</dd>
+
+ <dt><code>ExecCGI</code></dt>
+
+ <dd>L'exécution de scripts CGI à l'aide du module
+ <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> est permise.</dd>
+
+ <dt><code>FollowSymLinks</code></dt>
+
+ <dd>
+
+ Le serveur va suivre les liens symboliques dans le répertoire
+ concerné.
+ <div class="note">
+ <p>Bien que le serveur suive les liens symboliques, il ne modifie
+ <em>pas</em> le nom de chemin concerné défini par la section
+ <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>.</p>
+ <p>Notez aussi que cette option <strong>est ignorée</strong> si
+ elle est définie dans une section <code class="directive"><a href="#location">&lt;Location&gt;</a></code>.</p>
+ <p>Le fait d'omettre cette option ne doit pas être considéré comme
+ une mesure de sécurité efficace, car il existe toujours une
+ situation de compétition (race condition) entre l'instant où l'on
+ vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
+ l'on utilise effectivement ce chemin.</p>
+ </div></dd>
+
+ <dt><code>Includes</code></dt>
+
+ <dd>
+ Les inclusions côté serveur (SSI) à l'aide du module
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sont autorisées.</dd>
+
+ <dt><code>IncludesNOEXEC</code></dt>
+
+ <dd>
+
+ Les inclusions côté serveur (SSI) sont permises, mais <code>#exec
+ cmd</code> et <code>#exec cgi</code> sont désactivées.
+ L'utilisation de <code>#include virtual</code> pour les scripts
+ CGI est cependant toujours possible depuis des répertoires
+ définis par <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>.</dd>
+
+ <dt><code>Indexes</code></dt>
+
+ <dd>
+ Si une URL requise correspond au répertoire concerné, et si aucun
+ <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> (<em>par
+ exemple</em> <code>index.html</code>) n'est défini pour ce
+ répertoire, le module <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va renvoyer
+ un listing formaté du répertoire.</dd>
+
+ <dt><code>MultiViews</code></dt>
+
+ <dd>
+ Les vues multiples ("multiviews") à <a href="../content-negotiation.html">contenu négocié</a> à l'aide du
+ module <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> sont autorisées.</dd>
+
+ <dt><code>SymLinksIfOwnerMatch</code></dt>
+
+ <dd>Le serveur ne suivra que les liens symboliques qui renvoient
+ vers un fichier ou un répertoire dont le propriétaire est le même
+ que celui du lien.
+
+ <div class="note"><h3>Note</h3> <p>Cette option est ignorée si elle est
+ définie dans une section <code class="directive"><a href="#location">&lt;Location&gt;</a></code>.</p>
+ <p>Le fait d'omettre cette option ne doit pas être considéré comme
+ une mesure de sécurité efficace, car il existe toujours une
+ situation de compétition (race condition) entre l'instant où l'on
+ vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
+ l'on utilise effectivement ce chemin.</p></div>
+ </dd>
+ </dl>
+
+ <p>Normalement, si plusieurs directives
+ <code class="directive">Options</code> peuvent s'appliquer à un répertoire,
+ c'est la plus spécifique qui est utilisée et les autres sont
+ ignorées ; les options ne sont pas fusionnées (voir <a href="../sections.html#mergin">comment les sections sont
+ fusionnées</a>). Elles le sont cependant si <em>toutes</em> les
+ options de la directive <code class="directive">Options</code> sont
+ précédées d'un symbole <code>+</code> ou <code>-</code>. Toute
+ option précédée d'un <code>+</code> est ajoutée à la liste des
+ options courantes de manière forcée et toute option précédée d'un
+ <code>-</code> est supprimée de la liste des options courantes de la
+ même manière.</p>
+
+ <div class="warning"><h3>Avertissement</h3>
+ <p>Mélanger des <code class="directive">Options</code> avec <code>+</code>
+ ou <code>-</code> avec des <code class="directive">Options</code> sans
+ <code>+</code> ou <code>-</code> constitue une erreur de syntaxe, et
+ peut résulter en des comportements inattendus.</p>
+ </div>
+
+ <p>Par exemple, sans aucun symbole <code>+</code> et <code>-</code>
+ :</p>
+
+ <div class="example"><p><code>
+ &lt;Directory /web/docs&gt;<br />
+ <span class="indent">
+ Options Indexes FollowSymLinks<br />
+ </span>
+ &lt;/Directory&gt;<br />
+ <br />
+ &lt;Directory /web/docs/spec&gt;<br />
+ <span class="indent">
+ Options Includes<br />
+ </span>
+ &lt;/Directory&gt;
+ </code></p></div>
+
+ <p>ici, seule l'option <code>Includes</code> sera prise en compte
+ pour le répertoire <code>/web/docs/spec</code>. Par contre, si la
+ seconde directive <code class="directive">Options</code> utilise les
+ symboles <code>+</code> et <code>-</code> :</p>
+
+ <div class="example"><p><code>
+ &lt;Directory /web/docs&gt;<br />
+ <span class="indent">
+ Options Indexes FollowSymLinks<br />
+ </span>
+ &lt;/Directory&gt;<br />
+ <br />
+ &lt;Directory /web/docs/spec&gt;<br />
+ <span class="indent">
+ Options +Includes -Indexes<br />
+ </span>
+ &lt;/Directory&gt;
+ </code></p></div>
+
+ <p>alors, les options <code>FollowSymLinks</code> et
+ <code>Includes</code> seront prises en compte pour le répertoire
+ <code>/web/docs/spec</code>.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>L'utilisation de <code>-IncludesNOEXEC</code> ou
+ <code>-Includes</code> désactive complètement les inclusions côté
+ serveur sans tenir compte des définitions précédentes.</p>
+ </div>
+
+ <p>En l'absence de toute définition d'options, la valeur par défaut
+ est <code>All</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Protocol" id="Protocol">Protocol</a> <a name="protocol" id="protocol">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Protocole pour une socket d'écoute</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Protocol <var>protocole</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.1.5 d'Apache, mais
+uniquement depuis la version 2.3.3 sous Windows.</td></tr>
+</table>
+ <p>Cette directive permet de spécifier le protocole utilisé pour une
+ socket d'écoute particulière. Le protocole sert à déterminer quel
+ module doit traiter une requête, et d'appliquer les optimisations
+ spécifiques au protocole via la directive
+ <code class="directive">AcceptFilter</code>.</p>
+
+ <p>Vous ne devez définir le protocole que si vous travaillez avec
+ des ports non standards ; dans le cas général, le protocole
+ <code>http</code> est associé au port 80 et le protocole
+ <code>https</code> au port 443.</p>
+
+ <p>Par exemple, si vous travaillez avec le protocole
+ <code>https</code> sur un port non standard, spécifiez le protocole
+ de manière explicite :</p>
+
+ <div class="example"><p><code>
+ Protocol https
+ </code></p></div>
+
+ <p>Vous pouvez aussi spécifier le protocole via la directive
+ <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive">AcceptFilter</code></li>
+<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Require" id="Require">Require</a> <a name="require" id="require">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine les utilisateurs authentifiés autorisés à accéder
+à une ressource</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Require <var>nom entité</var> [<var>nom entité</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive permet de déterminer les utilisateurs
+ authentifiés autorisés à accéder à une ressource. De multiples
+ instances de cette directive se combinent entre elles avec un "OU"
+ logique, si bien qu'un utilisateur qui convient à une ligne
+ <code class="directive">Require </code> reçoit l'autorisation d'accès.
+ Les restrictions
+ sont traitées par les modules d'autorisation. Voici quelques
+ exemples de syntaxes autorisées par <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>
+ et <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> :</p>
+
+ <dl>
+ <dt><code>Require user <var>identifiant_utilisateur</var>
+ [<var>identifiant_utilisateur</var>]
+ ...</code></dt>
+ <dd>Seuls les utilisateurs spécifiés peuvent accéder à la
+ ressource.</dd>
+
+ <dt><code>Require group <var>nom_groupe</var> [<var>nom_groupe</var>]
+ ...</code></dt>
+ <dd>Seuls les utilisateurs appartenant aux groupes spécifiés
+ peuvent accéder à la ressource.</dd>
+
+ <dt><code>Require valid-user</code></dt>
+ <dd>Tout utilisateur valide peut accéder à la ressource.</dd>
+ </dl>
+
+ <p>D'autres modules d'autorisation comme
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>, <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>, et
+ <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> implémentent les options de la
+ directive Require.</p>
+
+ <p>La directive <code class="directive">Require</code> doit être associée
+ aux directives <code class="directive"><a href="#authname">AuthName</a></code> et
+ <code class="directive"><a href="#authtype">AuthType</a></code>, ainsi qu'à des
+ directives telles que <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> et <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> (pour la
+ définition des utilisateurs et des groupes) afin de pouvoir
+ fonctionner correctement. Exemple :</p>
+
+ <div class="example"><p><code>
+ AuthType Basic<br />
+ AuthName "Ressource à accès restreint"<br />
+ AuthUserFile /web/users<br />
+ AuthGroupFile /web/groups<br />
+ Require group admin
+ </code></p></div>
+
+ <p>Les contrôles d'accès appliqués de cette manière sont effectifs
+ pour <strong>toutes</strong> les méthodes HTTP. <strong>C'est en général
+ ce que l'on souhaite.</strong> Si vous désirez n'appliquer les
+ contrôles d'accès que pour certaines méthodes, tout en laissant les
+ autres méthodes sans protection, vous devez placer la directive
+ <code class="directive">Require</code> à l'intérieur d'une section
+ <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code>.</p>
+
+ <p>Si la directive <code class="directive">Require</code> est utilisée
+ conjointement avec les directives <code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> ou <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code>, l'interaction entre les
+ différentes restrictions imposées est contrôlée par la directive
+ <code class="directive"><a href="#satisfy">Satisfy</a></code>.</p>
+
+ <div class="note"><h3>Désactivation des contrôles d'accès pour certains
+ sous-répertoires</h3>
+ <p>L'exemple suivant montre comment utiliser la directive <code class="directive"><a href="#satisfy">Satisfy</a></code> pour désactiver les contrôles
+ d'accès dans un sous-répertoire d'un répertoire protégé. Cette
+ technique doit être utilisée avec précautions, car elle va aussi
+ désactiver tout contrôle d'accès imposé par
+ <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>.</p>
+ <div class="example"><p><code>
+ &lt;Directory /chemin/vers/protégé/&gt;<br />
+ <span class="indent">
+ Require user david<br />
+ </span>
+ &lt;/Directory&gt;<br />
+ &lt;Directory /chemin/vers/protégé/non-protégé&gt;<br />
+ <span class="indent">
+ # Tous les contrôle d'accès et authentifications sont
+ # désactivés pour ce répertoire<br />
+ Satisfy Any<br />
+ Allow from all<br />
+ </span>
+ &lt;/Directory&gt;<br />
+ </code></p></div>
+ </div>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../howto/auth.html">Authentification, autorisation,
+ et contrôle d'accès</a></li>
+<li><code class="directive"><a href="#satisfy">Satisfy</a></code></li>
+<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a> <a name="rlimitcpu" id="rlimitcpu">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le temps CPU alloué aux processus initiés par les
+processus enfants d'Apache</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitCPU <var>secondes</var>|max [<var>secondes</var>|max]</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini ; utilise les valeurs par défaut du système
+d'exploitation</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
+ consommation de ressources pour tous les processus, et le second la
+ consommation de ressources maximale. Les deux paramètres peuvent
+ contenir soit un nombre, soit <code>max</code> pour indiquer au
+ serveur que la limite de consommation correspond à la valeur
+ maximale autorisée par la configuration du système d'exploitation.
+ Pour augmenter la consommation maximale de ressources, le serveur
+ doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
+ phase de démarrage.</p>
+
+ <p>Cette directive s'applique aux processus initiés par les
+ processus enfants d'Apache qui traitent les requêtes, et non aux
+ processus enfants eux-mêmes. Sont concernés les scripts CGI et les
+ commandes exec des SSI, mais en aucun cas les processus initiés par
+ le processus parent d'Apache comme les journalisations redirigées
+ vers un programme.</p>
+
+ <p>Les limites de ressources CPU sont exprimées en secondes par
+ processus.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li>
+<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a> <a name="rlimitmem" id="rlimitmem">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite la mémoire allouée aux processus initiés par les
+processus enfants d'Apache</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitMEM <var>octets</var>|max [<var>octets</var>|max]</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini ; utilise les valeurs par défaut du système
+d'exploitation</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
+ consommation de ressources pour tous les processus, et le second la
+ consommation de ressources maximale. Les deux paramètres peuvent
+ contenir soit un nombre, soit <code>max</code> pour indiquer au
+ serveur que la limite de consommation correspond à la valeur
+ maximale autorisée par la configuration du système d'exploitation.
+ Pour augmenter la consommation maximale de ressources, le serveur
+ doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
+ phase de démarrage.</p>
+
+ <p>Cette directive s'applique aux processus initiés par les
+ processus enfants d'Apache qui traitent les requêtes, et non aux
+ processus enfants eux-mêmes. Sont concernés les scripts CGI et les
+ commandes exec des SSI, mais en aucun cas les processus initiés par
+ le processus parent d'Apache comme les journalisations redirigées
+ vers un programme.</p>
+
+ <p>Les limites de ressources mémoire sont exprimées en octets par
+ processus.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li>
+<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a> <a name="rlimitnproc" id="rlimitnproc">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de processus qui peuvent être initiés par
+les processus initiés par les processus enfants d'Apache</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitNPROC <var>nombre</var>|max [<var>nombre</var>|max]</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Unset; uses operating system defaults</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
+ consommation de ressources pour tous les processus, et le second la
+ consommation de ressources maximale. Les deux paramètres peuvent
+ contenir soit un nombre, soit <code>max</code> pour indiquer au
+ serveur que la limite de consommation correspond à la valeur
+ maximale autorisée par la configuration du système d'exploitation.
+ Pour augmenter la consommation maximale de ressources, le serveur
+ doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
+ phase de démarrage.</p>
+
+ <p>Cette directive s'applique aux processus initiés par les
+ processus enfants d'Apache qui traitent les requêtes, et non aux
+ processus enfants eux-mêmes. Sont concernés les scripts CGI et les
+ commandes exec des SSI, mais en aucun cas les processus initiés par
+ le processus parent d'Apache comme les journalisations redirigées
+ vers un programme.</p>
+
+ <p>Les limites des processus contrôlent le nombre de processus par
+ utilisateur.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>Si les processus CGI s'exécutent sous le même
+ utilisateur que celui du serveur web, cette
+ directive va limiter le nombre de processus que le serveur
+ pourra lui-même créer. La présence de messages
+ <strong><code>cannot fork</code></strong> dans le journal des
+ erreurs indiquera que la limite est atteinte.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li>
+<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Satisfy" id="Satisfy">Satisfy</a> <a name="satisfy" id="satisfy">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interaction entre les contrôles d'accès par hôte
+et l'authentification des utilisateurs</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Satisfy Any|All</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Satisfy All</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Influencé par les sections <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code> et <code class="directive"><a href="#limitexcept">&lt;LimitExcept&gt;</a></code> dans les versions 2.0.51 et
+supérieures</td></tr>
+</table>
+ <p>Cette directive permet de définir la politique d'accès lorsque
+ les directives <code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> et <code class="directive"><a href="#require">Require</a></code> sont utilisées conjointement.
+ L'argument prend pour valeur <code>All</code> ou <code>Any</code>.
+ Cette directive ne s'avère utile que dans le cas où l'accès à une
+ zone particulière est contrôlé à la fois par une authentification
+ utilisateur/mot de passe <em>et</em> par l'adresse IP du client.
+ Avec la valeur par défaut de l'argument (<code>All</code>), le
+ client doit d'abord satisfaire à la condition d'accès en fonction de
+ son adresse IP, <em>puis</em> fournir un couple utilisateur/mot de
+ passe valide. Si l'argument est <code>Any</code>, le client se verra
+ accorder l'accès s'il satisfait à au moins une des conditions d'accès
+ : adresse IP et/ou un couple utilisateur/mot de passe valides. On
+ peut utiliser cette valeur pour restreindre l'accès à une zone à
+ l'aide d'un mot de passe, mais laisser cette zone en accès libre
+ pour les clients possédant certaines adresses IP.</p>
+
+ <p>Par exemple, si vous souhaitez accorder un accès sans restriction
+ à une portion de votre site web aux clients de votre réseau, mais
+ n'accorder cet accès aux clients à l'extérieur de votre réseau qu'en
+ échange d'un mot de passe, vous pouvez utiliser une configuration de
+ ce style :</p>
+
+ <div class="example"><p><code>
+ Require valid-user<br />
+ Order allow,deny<br />
+ Allow from 192.168.1<br />
+ Satisfy Any
+ </code></p></div>
+
+ <p>Depuis la version 2.0.51, les directives
+ <code class="directive">Satisfy</code> peuvent être limitées à certaines
+ méthodes particulières à l'aide des sections <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code> et <code class="directive"><a href="#limitexcept">&lt;LimitExcept&gt;</a></code>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code></li>
+<li><code class="directive"><a href="#require">Require</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a> <a name="scriptinterpretersource" id="scriptinterpretersource">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de localiser l'interpréteur des scripts
+CGI</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Win32 seulement ;
+l'option <code>Registry-Strict</code> est disponible dans les versions
+2.0 et supérieures d'Apache</td></tr>
+</table>
+ <p>Cette directive permet de contrôler la méthode qu'utilise Apache
+ pour trouver l'interpréteur destiné à exécuter les scripts CGI. La
+ définition par défaut est <code>Script</code> : ceci indique à
+ Apache qu'il doit utiliser l'interpréteur précisé dans la ligne
+ shebang du script (la première ligne, commençant par
+ <code>#!</code>). Sur les systèmes Win32, cette ligne ressemble
+ souvent à ceci :</p>
+
+ <div class="example"><p><code>
+ #!C:/Perl/bin/perl.exe
+ </code></p></div>
+
+ <p>ou simplement, dans le cas où <code>perl</code> est dans le
+ <code>PATH</code> :</p>
+
+ <div class="example"><p><code>
+ #!perl
+ </code></p></div>
+
+ <p>Avec <code>ScriptInterpreterSource Registry</code>, Windows va
+ effectuer une recherche dans l'arborescence
+ <code>HKEY_CLASSES_ROOT</code> de la base de registre avec comme
+ mot-clé l'extension du fichier contenant le script (par exemple
+ <code>.pl</code>). C'est la commande définie par la sous-clé de
+ registre <code>Shell\ExecCGI\Command</code> ou, si elle n'existe
+ pas, la sous-clé <code>Shell\Open\Command</code> qui est utilisée
+ pour ouvrir le fichier du script. Si ces clés de registre ne sont
+ pas trouvées, Apache utilise la méthode de l'option
+ <code>Script</code>.</p>
+
+ <p>Par exemple, pour que les scripts possédant l'extension .pl
+ soient traités par perl, la ligne du registre doit être :</p>
+
+ <div class="example"><p><code><code>HKEY_CLASSES_ROOT\.pl\Shell\ExecCGI\Command\(Default)
+ =&gt; C:\Perl\bin\perl.exe -wT</code></code></p></div>
+
+ <div class="warning"><h3>Sécurité</h3>
+ <p>Soyez prudent si vous utilisez <code>ScriptInterpreterSource
+ Registry</code> avec des répertoires faisant l'objet d'un <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>, car Apache va essayer
+ d'exécuter <strong>tous</strong> les fichiers contenus dans
+ celui-ci. L'option <code>Registry</code> peut causer des appels de
+ programmes non voulus sur des fichiers non destinés à être exécutés.
+ Par exemple, la commande par défaut open sur les fichiers
+ <code>.htm</code> sur la plupart des systèmes Windows va lancer
+ Microsoft Internet Explorer ; ainsi, toute requête HTTP pour un
+ fichier <code>.htm</code> situé dans le répertoire des scripts
+ va lancer le navigateur en arrière-plan sur le serveur, ce qui a
+ toutes les chances de crasher votre système dans les minutes qui
+ suivent.</p>
+ </div>
+
+ <p>L'option <code>Registry-Strict</code>, apparue avec Apache 2.0,
+ agit de manière identique à <code>Registry</code>, mais n'utilise
+ que la sous-clé <code>Shell\ExecCGI\Command</code>. La présence de
+ la clé <code>ExecCGI</code> n'étant pas systématique, Elle doit être
+ définie manuellement dans le registre Windows et évite ainsi tout
+ appel de programme accidentel sur votre système.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a> <a name="serveradmin" id="serveradmin">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'adresse électronique que le serveur inclut dans les
+messages d'erreur envoyés au client</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAdmin <var>adresse électronique</var>|<var>URL</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">ServerAdmin</code> permet de définir
+ l'adresse de contact que le serveur va inclure dans tout message
+ d'erreur qu'il envoie au client. Si le programme <code>httpd</code>
+ ne reconnait pas l'argument fourni comme une URL, il suppose que
+ c'est une <var>adresse électronique</var>, et lui ajoute le préfixe
+ <code>mailto:</code> dans les cibles des hyperliens. Il est
+ cependant recommandé d'utiliser exclusivement une adresse
+ électronique, car de nombreux scripts CGI considèrent ceci comme
+ implicite. Si vous utilisez une URL, elle doit pointer vers un autre
+ serveur que vous contrôlez. Dans le cas contraire, les utilisateurs
+ seraient dans l'impossibilité de vous contacter en cas de problème.</p>
+
+ <p>Il peut s'avérer utile de définir une adresse dédiée à
+ l'administration du serveur, par exemple :</p>
+
+ <div class="example"><p><code>
+ ServerAdmin www-admin@foo.example.com
+ </code></p></div>
+ <p>car les utilisateurs ne mentionnent pas systématiquement le
+ serveur dont ils parlent !</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ServerAlias" id="ServerAlias">ServerAlias</a> <a name="serveralias" id="serveralias">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Autres noms d'un serveur utilisables pour atteindre des
+serveurs virtuels à base de nom</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAlias <var>nom serveur</var> [<var>nom serveur</var>]
+...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">ServerAlias</code> permet de définir
+ les noms alternatifs d'un serveur utilisables pour atteindre des <a href="../vhosts/name-based.html">serveurs virtuels à base de
+ nom</a>. La directive <code class="directive">ServerAlias</code> peut
+ contenir des caractères génériques, si nécessaire.</p>
+
+ <div class="example"><p><code>
+ &lt;VirtualHost *:80&gt;<br />
+ ServerName serveur.domaine.com<br />
+ ServerAlias serveur serveur2.domaine.com serveur2<br />
+ ServerAlias *.example.com<br />
+ UseCanonicalName Off<br />
+ # ...<br />
+ &lt;/VirtualHost&gt;
+ </code></p></div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
+<li><a href="../vhosts/">Documentation sur les serveurs virtuels
+d'Apache</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ServerName" id="ServerName">ServerName</a> <a name="servername" id="servername">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom d'hôte et port que le serveur utilise pour
+s'authentifier lui-même</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerName [<var>protocole</var>://]<var>nom de domaine
+entièrement qualifié</var>[:<var>port</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Dans la version 2.0, cette directive remplace la
+fonctionnalité de la directive <code class="directive">Port</code> de la version
+1.3.</td></tr>
+</table>
+ <p>La directive <code class="directive">ServerName</code> permet de définir
+ les protocole, nom d'hôte et port d'une requête que le serveur
+ utilise pour s'authentifier lui-même. Ceci est utile lors de la
+ création de redirections d'URLs.</p>
+
+ <p>La directive <code class="directive">ServerName</code> permet aussi
+ (éventuellement en conjonction avec la directive
+ <code class="directive">ServerAlias</code>) d'identifier de manière unique
+ un serveur virtuel, lorsqu'elle est utilisée dans un contexte de <a href="../vhosts/name-based.html">serveurs virtuels par
+ noms</a>.</p>
+
+ <p>Par exemple, si le nom de la
+ machine hébergeant le serveur web est
+ <code>simple.example.com</code>, la machine possède l'alias
+ DNS <code>www.example.com</code>, et si vous voulez que le serveur
+ web s'identifie avec cet alias, vous devez utilisez la définition
+ suivante :</p>
+
+ <div class="example"><p><code>
+ ServerName www.example.com
+ </code></p></div>
+
+ <p>Si la directive <code class="directive">ServerName</code> n'est pas
+ définie, le serveur tente de déterminer le nom d'hôte en effectuant
+ une recherche DNS inverse sur son adresse IP. Si la directive
+ <code class="directive">ServerName</code> ne précise pas de port, le serveur
+ utilisera celui de la requête entrante. Il est recommandé de
+ spécifier un nom d'hôte et un port spécifiques à l'aide de la
+ directive <code class="directive">ServerName</code> pour une fiabilité
+ optimale et à titre préventif.</p>
+
+ <p>Si vous définissez des <a href="../vhosts/name-based.html">serveurs virtuels à base de
+ nom</a>, une directive <code class="directive">ServerName</code> située à
+ l'intérieur d'une section <code class="directive"><a href="#virtualhost">&lt;VirtualHost&gt;</a></code> spécifiera quel nom d'hôte
+ doit apparaître dans l'en-tête de requête <code>Host:</code> pour
+ pouvoir atteindre ce serveur virtuel.</p>
+
+
+ <p>Parfois, le serveur s'exécute en amont d'un dispositif qui
+ implémente SSL, comme un mandataire inverse, un répartiteur de
+ charge ou un boîtier dédié SSL. Dans ce cas, spécifiez le protocole
+ <code>https://</code> et le port auquel les clients se connectent
+ dans la directive <code class="directive">ServerName</code>, afin de
+ s'assurer que le serveur génère correctement ses URLs
+ d'auto-identification.
+ </p>
+
+ <p>Voir la description des directives <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> et <code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> pour les
+ définitions qui permettent de déterminer si les URLs
+ auto-identifiantes (par exemple via le module
+ <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>) vont faire référence au port spécifié, ou
+ au port indiqué dans la requête du client.
+ </p>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../dns-caveats.html">Problèmes concernant le DNS et
+Apache</a></li>
+<li><a href="../vhosts/">Documentation sur les serveurs virtuels
+d'Apache</a></li>
+<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
+<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li>
+<li><code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code></li>
+<li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ServerPath" id="ServerPath">ServerPath</a> <a name="serverpath" id="serverpath">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de chemin d'URL hérité pour un serveur virtuel à base
+de nom accédé par un navigateur incompatible</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerPath <var>chemin d'URL</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">ServerPath</code> permet de définir
+ le nom de chemin d'URL hérité d'un hôte, à utiliser avec les <a href="../vhosts/">serveurs virtuels à base de nom</a>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../vhosts/">Documentation sur les serveurs virtuels
+d'Apache</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ServerRoot" id="ServerRoot">ServerRoot</a> <a name="serverroot" id="serverroot">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine du répertoire d'installation du
+serveur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerRoot <var>chemin de répertoire</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">ServerRoot</code> permet de définir
+ le répertoire dans lequel le serveur est installé. En particulier,
+ il contiendra les sous-répertoires <code>conf/</code> et
+ <code>logs/</code>. Les chemins relatifs indiqués dans les autres
+ directives (comme <code class="directive"><a href="#include">Include</a></code> ou <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>) seront définis par
+ rapport à ce répertoire.</p>
+
+ <div class="example"><h3>Example</h3><p><code>
+ ServerRoot /home/httpd
+ </code></p></div>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../invoking.html">the <code>-d</code>
+ options de <code>httpd</code></a></li>
+<li><a href="../misc/security_tips.html#serverroot">les conseils à
+propos de la sécurité</a> pour des informations sur la manière de définir
+correctement les permissions sur le répertoire indiqué par la directive
+<code class="directive">ServerRoot</code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ServerSignature" id="ServerSignature">ServerSignature</a> <a name="serversignature" id="serversignature">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un pied de page pour les documents générés par le
+serveur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerSignature Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">ServerSignature</code> permet de
+ définir une ligne de pied de page fixe pour les documents générés
+ par le serveur (messages d'erreur, listings de répertoires ftp de
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, sorties de <code class="module"><a href="../mod/mod_info.html">mod_info</a></code>,
+ etc...). Dans le cas d'une chaîne de mandataires, l'utilisateur n'a
+ souvent aucun moyen de déterminer lequel des mandataires chaînés a
+ généré un message d'erreur, et c'est une des raisons pour lesquelles
+ on peut être amené à ajouter un tel pied de page.</p>
+
+ <p>La valeur par défaut <code>Off</code> supprime la ligne de pied
+ de page (et est ainsi compatible avec le comportement des
+ versions 1.2 et antérieures d'Apache). la valeur <code>On</code>
+ ajoute simplement une ligne contenant le numéro de version du
+ serveur ainsi que le nom du serveur virtuel issu de la directive
+ <code class="directive"><a href="#servername">ServerName</a></code>, alors que la valeur
+ <code>EMail</code> ajoute en plus une référence "mailto:" à
+ l'administrateur du document référencé issu la directive
+ <code class="directive"><a href="#serveradmin">ServerAdmin</a></code>.</p>
+
+ <p>Depuis la version 2.0.44, les détails à propos du numéro de
+ version du serveur sont contrôlés à l'aide de la directive
+ <code class="directive"><a href="#servertokens">ServerTokens</a></code>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ServerTokens" id="ServerTokens">ServerTokens</a> <a name="servertokens" id="servertokens">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure l'en-tête <code>Server</code> de la réponse
+HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerTokens Full</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive permet de contrôler le contenu de l'en-tête
+ <code>Server</code> inclus dans la réponse envoyée au client : cet
+ en-tête peut contenir le type de système d'exploitation du serveur,
+ ainsi que des informations à propos des modules compilés avec le
+ serveur.</p>
+
+ <dl>
+ <dt><code>ServerTokens Prod[uctOnly]</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache</code></dd>
+
+ <dt><code>ServerTokens Major</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2</code></dd>
+
+ <dt><code>ServerTokens Minor</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2.0</code></dd>
+
+ <dt><code>ServerTokens Min[imal]</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2.0.41</code></dd>
+
+ <dt><code>ServerTokens OS</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2.0.41 (Unix)</code></dd>
+
+ <dt><code>ServerTokens Full</code> (valeur par défaut)</dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
+ </dl>
+
+ <p>Cette définition s'applique à l'ensemble du serveur et ne peut
+ être activée ou désactivée pour tel ou tel serveur virtuel.</p>
+
+ <p>Dans les versions postérieures à 2.0.44, cette directive contrôle
+ également les informations fournies par la directive <code class="directive"><a href="#serversignature">ServerSignature</a></code>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SetHandler" id="SetHandler">SetHandler</a> <a name="sethandler" id="sethandler">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force le traitement des fichiers spécifiés par un
+gestionnaire particulier</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetHandler <var>nom gestionnaire</var>|None</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Intégré dans le noyau d'Apache depuis la version
+2.0</td></tr>
+</table>
+ <p>Lorsqu'elle se situe à l'intérieur d'un fichier
+ <code>.htaccess</code>, ou d'une section <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> ou <code class="directive"><a href="#location">&lt;Location&gt;</a></code>, cette directive force le
+ traitement de tous les fichiers spécifiés par le <a href="../handler.html">gestionnaire</a> défini par l'argument
+ <var>nom gestionnaire</var>. Par exemple, dans le cas d'un
+ répertoire dont vous voulez interpréter le contenu comme des
+ fichiers de règles d'images cliquables, sans tenir compte des
+ extensions, vous pouvez ajouter la ligne suivante dans un fichier
+ <code>.htaccess</code> de ce répertoire :</p>
+
+ <div class="example"><p><code>
+ SetHandler imap-file
+ </code></p></div>
+
+ <p>Autre exemple : si vous voulez que le serveur affiche un
+ compte-rendu d'état chaque fois qu'une URL du type <code>http://nom
+ serveur/status</code> est appelée, vous pouvez ajouter ceci dans
+ <code>httpd.conf</code> :</p>
+
+ <div class="example"><p><code>
+ &lt;Location /status&gt;<br />
+ <span class="indent">
+ SetHandler server-status<br />
+ </span>
+ &lt;/Location&gt;
+ </code></p></div>
+
+ <p>Vous pouvez écraser la définition antérieure d'une directive
+ <code class="directive">SetHandler</code> en utilisant la valeur
+ <code>None</code>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a> <a name="setinputfilter" id="setinputfilter">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les requêtes
+client et les données POST</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">SetInputFilter</code> permet de
+ définir le ou les filtres par lesquels vont passer les requêtes
+ client et les données POST au moment où le serveur les reçoit. Cette
+ définition vient en ajout à tout autre filtre défini en
+ quelqu'endroit que ce soit, y compris via la directive <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>.</p>
+
+ <p>Si la directive comporte plusieurs filtres, ils doivent être
+ séparés par des points-virgules, et spécifiés selon l'ordre dans
+ lequel vous souhaitez les voir agir sur les contenus.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li>documentation des <a href="../filter.html">Filtres</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a> <a name="setoutputfilter" id="setoutputfilter">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les réponses
+du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">SetOutputFilter</code> permet de
+ définir les filtres par lesquels vont passer les réponses du serveur
+ avant d'être envoyées au client. Cette définition vient en ajout à
+ tout autre filtre défini en quelqu'endroit que ce soit, y compris
+ via la directive <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>.</p>
+
+ <p>Par exemple, la configuration suivante va traiter tous les
+ fichiers du répertoire <code>/www/data/</code> comme des inclusions
+ côté serveur (SSI) :</p>
+
+ <div class="example"><p><code>
+ &lt;Directory /www/data/&gt;<br />
+ <span class="indent">
+ SetOutputFilter INCLUDES<br />
+ </span>
+ &lt;/Directory&gt;
+ </code></p></div>
+
+ <p>Si la directive comporte plusieurs filtres, ils doivent être
+ séparés par des points-virgules, et spécifiés selon l'ordre dans
+ lequel vous souhaitez les voir agir sur les contenus.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../filter.html">Filters</a> documentation</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Suexec" id="Suexec">Suexec</a> <a name="suexec" id="suexec">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive la fonctionnalité suEXEC</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Suexec On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>On si le binaire suexec existe avec un mode et un propriétaire
+appropriés, Off dans le cas contraire</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.18 d'Apache httpd</td></tr>
+</table>
+ <p>Lorsque cette directive est définie à On, le démarrage du serveur
+ échouera si le binaire suexec n'existe pas, ou possède un mode de
+ fichier ou un propriétaire invalides.</p>
+ <p>Lorsque cette directive est définie à Off, la fonctionnalité
+ suEXEC est désactivée, même si le binaire suexec existe et possède
+ un mode de fichier et un propriétaire valides.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a> <a name="timeout" id="timeout">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps pendant lequel le serveur va attendre certains
+évènements avant de considérer qu'une requête a échoué</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TimeOut <var>secondes</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TimeOut 300</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">TimeOut</code> permet
+ de définir le temps maximum pendant lequel Apache va attendre des
+ entrées/sorties dans diverses circonstances :</p>
+
+ <ol>
+ <li>Lors de la lecture de données en provenance du client, le
+ temps maximum d'attente avant l'arrivée d'un paquet TCP si le
+ tampon de lecture est vide.</li>
+
+ <li>Lors de l'envoi de données vers le client, le temps maximum
+ d'attente avant l'arrivée de l'accusé-réception d'un paquet si le
+ tampon d'envoi est plein.</li>
+
+ <li>Avec <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, le temps maximum
+ d'attente avant la sortie des données d'un script CGI.</li>
+
+ <li>Avec <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>, le temps maximum
+ d'attente avant la sortie des données d'un processus de
+ filtrage.</li>
+
+ <li>Avec <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, la valeur du délai par défaut
+ si la directive <code class="directive"><a href="../mod/mod_proxy.html#proxytimeout">ProxyTimeout</a></code> n'a pas été
+ définie.</li>
+ </ol>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="TraceEnable" id="TraceEnable">TraceEnable</a> <a name="traceenable" id="traceenable">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le comportement des requêtes
+<code>TRACE</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TraceEnable <var>[on|off|extended]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TraceEnable on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions 1.3.34, 2.0.55 et
+supérieures d'Apache</td></tr>
+</table>
+ <p>Cette directive l'emporte sur le comportement de
+ <code>TRACE</code> pour le noyau du serveur et
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. La définition par défaut
+ <code>TraceEnable on</code> permet des requêtes <code>TRACE</code>
+ selon la RFC 2616, qui interdit d'ajouter tout corps à la requête.
+ La définition <code>TraceEnable off</code> indique au noyau du
+ serveur et à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> de retourner un code
+ d'erreur <code>405</code> (Méthode non autorisée) au client.</p>
+
+ <p>En fait, et à des fins de test et de diagnostic seulement, on
+ peut autoriser l'ajout d'un corps de requête à l'aide de la
+ définition non standard <code>TraceEnable extended</code>. Le noyau
+ du serveur (dans le cas d'un serveur d'origine) va limiter la taille
+ du corps de requête à 64k (plus 8k pour les en-têtes de
+ fractionnement si <code>Transfer-Encoding: chunked</code> est
+ utilisé). Le noyau du serveur va reproduire l'ensemble des en-têtes,
+ y compris les en-têtes de fractionnement avec le corps de la
+ réponse. Dans le cas d'un serveur mandataire, la taille du corps de
+ requête n'est pas limitée à 64k.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a> <a name="usecanonicalname" id="usecanonicalname">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur détermine son propre nom
+et son port</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UseCanonicalName On|Off|DNS</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalName Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Dans de nombreuses situations, Apache doit construire une URL
+ <em>auto-identifiante</em> -- c'est à dire une URL qui fait
+ référence au serveur lui-même. Avec <code>UseCanonicalName
+ On</code>, Apache va utiliser le nom d'hôte et le port spécifiés par
+ la directive <code class="directive"><a href="#servername">ServerName</a></code> pour
+ construire le nom canonique du serveur. Ce nom est utilisé dans
+ toutes les URLs auto-identifiantes, et affecté aux variables
+ <code>SERVER_NAME</code> et <code>SERVER_PORT</code> dans les
+ programmes CGI.</p>
+
+ <p>Avec <code>UseCanonicalName Off</code>, Apache va construire ses
+ URLs auto-identifiantes à l'aide du nom d'hôte et du port fournis
+ par le client, si ce dernier en a fourni un (dans la négative,
+ Apache utilisera le nom canonique, de la même manière que
+ ci-dessus). Ces valeurs sont les mêmes que celles qui sont utilisées
+ pour implémenter les <a href="../vhosts/name-based.html">serveurs virtuels par
+ nom</a>, et sont disponibles avec les mêmes clients. De même, les
+ variables CGI <code>SERVER_NAME</code> et <code>SERVER_PORT</code>
+ seront affectées des valeurs fournies par le client.</p>
+
+ <p>Cette directive peut s'avérer utile, par exemple, sur un serveur
+ intranet auquel les utilisateurs se connectent en utilisant des noms
+ courts tels que <code>www</code>. Si les utilisateurs tapent un nom
+ court suivi d'une URL qui fait référence à un répertoire, comme
+ <code>http://www/splat</code>, <em>sans le slash terminal</em>, vous
+ remarquerez qu'Apache va les rediriger vers
+ <code>http://www.domain.com/splat/</code>. Si vous avez activé
+ l'authentification, ceci va obliger l'utilisateur à s'authentifier
+ deux fois (une première fois pour <code>www</code> et une seconde
+ fois pour <code>www.domain.com</code> -- voir <a href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">la
+ foire aux questions sur ce sujet pour plus d'informations</a>). Par
+ contre, si <code class="directive">UseCanonicalName</code> est définie à
+ <code>Off</code>, Apache redirigera l'utilisateur vers
+ <code>http://www/splat/</code>.</p>
+
+ <p>Pour l'hébergement virtuel en masse par adresse IP, on
+ utilise une troisième option, <code>UseCanonicalName
+ DNS</code>, pour supporter les clients anciens qui ne
+ fournissent pas d'en-tête <code>Host:</code>. Apache effectue alors
+ une recherche DNS inverse sur l'adresse IP du serveur auquel le
+ client s'est connecté afin de construire ses URLs
+ auto-identifiantes.</p>
+
+ <div class="warning"><h3>Avertissement</h3>
+ <p>Les programmes CGI risquent d'être perturbés par cette option
+ s'ils tiennent compte de la variable <code>SERVER_NAME</code>. Le
+ client est pratiquement libre de fournir la valeur qu'il veut comme
+ nom d'hôte. Mais si le programme CGI n'utilise
+ <code>SERVER_NAME</code> que pour construire des URLs
+ auto-identifiantes, il ne devrait pas y avoir de problème.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li>
+<li><code class="directive"><a href="#servername">ServerName</a></code></li>
+<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="UseCanonicalPhysicalPort" id="UseCanonicalPhysicalPort">UseCanonicalPhysicalPort</a> <a name="usecanonicalphysicalport" id="usecanonicalphysicalport">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur détermine son propre nom
+et son port</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UseCanonicalPhysicalPort On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Dans de nombreuses situations, Apache doit construire une URL
+ <em>auto-identifiante</em> -- c'est à dire une URL qui fait
+ référence au serveur lui-même. Avec <code>UseCanonicalPhysicalPort
+ On</code>, Apache va fournir le numéro de port physique réel utilisé
+ par la requête en tant que port potentiel, pour construire le port
+ canonique afin que le serveur puisse alimenter la directive
+ <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>. Avec
+ <code>UseCanonicalPhysicalPort Off</code>, Apache n'utilisera pas le
+ numéro de port physique réel, mais au contraire se référera aux
+ informations de configuration pour construire un numéro de port
+ valide.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>L'ordre dans lequel s'effectue la recherche du port est le
+ suivant :<br /><br />
+ <code>UseCanonicalName On</code></p>
+ <ul>
+ <li>Port spécifié par <code>Servername</code></li>
+ <li>Port physique</li>
+ <li>Port par défaut</li>
+ </ul>
+ <code>UseCanonicalName Off | DNS</code>
+ <ul>
+ <li>Port spécifié dans l'en-tête <code>Host:</code></li>
+ <li>Port physique</li>
+ <li>Port spécifié par <code>Servername</code></li>
+ <li>Port par défaut</li>
+ </ul>
+
+ <p>Avec <code>UseCanonicalPhysicalPort Off</code>, on reprend
+ l'ordre ci-dessus en supprimant "Port physique".</p>
+ </div>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
+<li><code class="directive"><a href="#servername">ServerName</a></code></li>
+<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="VirtualHost" id="VirtualHost">&lt;VirtualHost&gt;</a> <a name="virtualhost" id="virtualhost">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'à un nom
+d'hôte spécifique ou à une adresse IP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;VirtualHost
+ <var>adresse IP</var>[:<var>port</var>] [<var>adresse
+ IP</var>[:<var>port</var>]] ...&gt; ...
+ &lt;/VirtualHost&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Les balises <code class="directive">&lt;VirtualHost&gt;</code> et
+ <code>&lt;/VirtualHost&gt;</code> permettent de rassembler un groupe
+ de directives qui ne s'appliquent qu'à un serveur virtuel
+ particulier. Toute directive autorisée dans un contexte de serveur
+ virtuel peut être utilisée. Lorsque le serveur reçoit un requête
+ pour un document hébergé par un serveur virtuel particulier, il
+ applique les directives de configuration rassemblées dans la section
+ <code class="directive">&lt;VirtualHost&gt;</code>. <var>adresse
+ IP</var> peut être :</p>
+
+ <ul>
+ <li>L'adresse IP du serveur virtuel ;</li>
+
+ <li>Un nom de domaine entièrement qualifié correspondant à
+ l'adresse IP du serveur virtuel (non recommandé) ;</li>
+
+ <li>Le caractère <code>*</code>, qui n'est utilisé qu'en
+ combinaison avec <code>NameVirtualHost *</code> pour intercepter
+ toutes les adresses IP ; ou</li>
+
+ <li>La chaîne de caractères <code>_default_</code>, qui n'est
+ utilisée qu'avec l'hébergement virtuel à base d'adresse IP pour
+ intercepter les adresses IP qui ne correspondent à aucun serveur
+ virtuel.</li>
+ </ul>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ &lt;VirtualHost 10.1.2.3&gt;<br />
+ <span class="indent">
+ ServerAdmin webmaster@host.example.com<br />
+ DocumentRoot /www/docs/host.example.com<br />
+ ServerName host.example.com<br />
+ ErrorLog logs/host.example.com-error_log<br />
+ TransferLog logs/host.example.com-access_log<br />
+ </span>
+ &lt;/VirtualHost&gt;
+ </code></p></div>
+
+
+ <p>Les adresses IPv6 doivent être entourées de crochets car dans le
+ cas contraire, un éventuel port optionnel ne pourrait pas être
+ déterminé. Voici un exemple de serveur virtuel avec adresse IPv6
+ :</p>
+
+ <div class="example"><p><code>
+ &lt;VirtualHost [2001:db8::a00:20ff:fea7:ccea]&gt;<br />
+ <span class="indent">
+ ServerAdmin webmaster@host.example.com<br />
+ DocumentRoot /www/docs/host.example.com<br />
+ ServerName host.example.com<br />
+ ErrorLog logs/host.example.com-error_log<br />
+ TransferLog logs/host.example.com-access_log<br />
+ </span>
+ &lt;/VirtualHost&gt;
+ </code></p></div>
+
+ <p>Chaque serveur virtuel doit correspondre à une adresse IP, un
+ port ou un nom d'hôte spécifique ; dans le premier cas, le serveur
+ doit être configuré pour recevoir les paquets IP de plusieurs
+ adresses (si le serveur n'a qu'une interface réseau, on peut
+ utiliser à cet effet la commande <code>ifconfig alias</code> -- si
+ votre système d'exploitation le permet).</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>L'utilisation de la directive <code class="directive">&lt;VirtualHost&gt;</code> n'affecte en rien les
+ adresses IP sur lesquelles Apache est en écoute. Vous devez vous
+ assurer que les adresses des serveurs virtuels sont bien incluses
+ dans la liste des adresses précisées par la directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p>
+ </div>
+
+ <p>Avec l'hébergement virtuel à base d'adresse IP, on peut utiliser
+ le nom spécial <code>_default_</code>, auquel cas le serveur virtuel
+ considéré interceptera toute adresse IP qui n'est pas explicitement
+ associée à un autre serveur virtuel. En l'absence de serveur virtuel
+ associé à <code>_default_</code>, et si l'adresse IP demandée ne
+ correspond à aucun serveur virtuel, c'est la configuration du
+ serveur "principal" qui sera utilisée, c'est à dire l'ensemble des
+ définitions situées en dehors de toute section VirtualHost (Notez
+ cependant que toute adresse IP correspondant à une directive
+ <code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code> n'utilisera ni
+ la configuration du serveur "principal", ni le serveur virtuel
+ <code>_default_</code>. Voir la documentation de l'<a href="../vhosts/name-based.html">hébergement virtuel par
+ nom</a> pour plus de détails).</p>
+
+ <p>Vous pouvez spécifier <code>:port</code> pour modifier le port du
+ serveur virtuel. S'il n'est pas spécifié, sa valeur par défaut
+ correspond à celle qui est définie par la dernière directive
+ <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> du serveur
+ principal. Vous pouvez aussi spécifier <code>:*</code> pour accepter
+ tous les ports associés à l'adresse du serveur virtuel (c'est une
+ configuration recommandée lorsqu'on utilise
+ <code>_default_</code>).</p>
+
+ <p>Tout bloc <code class="directive">&lt;VirtualHost&gt;</code> doit comporter une directive
+ <code class="directive"><a href="#servername">ServerName</a></code>. Dans le cas
+ contraire, le serveur virtuel héritera de la valeur de la directive
+ <code class="directive"><a href="#servername">ServerName</a></code> issue de la
+ configuration du serveur principal.</p>
+
+ <div class="warning"><h3>Sécurité</h3>
+ <p>Voir le document sur les <a href="../misc/security_tips.html">conseils à propos de la sécurité</a>
+ pour une description détaillée des raisons pour lesquelles la
+ sécurité de votre serveur pourrait être compromise, si le répertoire
+ contenant les fichiers journaux est inscriptible par tout autre
+ utilisateur que celui qui démarre le serveur.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../vhosts/">Documentation des serveurs virtuels
+d'Apache</a></li>
+<li><a href="../dns-caveats.html">Problèmes concernant DNS et
+Apache</a></li>
+<li><a href="../bind.html">Définition des adresses et ports
+qu'utilise Apache</a></li>
+<li><a href="../sections.html">Comment fonctionnent les sections
+&lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête</li>
+</ul>
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/core.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/core.html.ja.utf8 b/docs/manual/mod/core.html.ja.utf8
index 749d44ce..86c2cfcf 100644
--- a/docs/manual/mod/core.html.ja.utf8
+++ b/docs/manual/mod/core.html.ja.utf8
@@ -23,6 +23,7 @@
<div class="toplang">
<p><span>Available Languages: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/core.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
@@ -56,6 +57,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#files">&lt;Files&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch">&lt;FilesMatch&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine">&lt;IfDefine&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule">&lt;IfModule&gt;</a></li>
@@ -76,6 +78,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#require">Require</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li>
@@ -92,6 +95,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#suexec">Suexec</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li>
@@ -1341,6 +1345,17 @@ Apache ãŒãƒ•ã‚¡ã‚¤ãƒ«ã‚’アクセスã™ã‚‹ãŸã‚ã«ä½¿ã†ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ã
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="GprofDir" id="GprofDir">GprofDir</a> <a name="gprofdir" id="gprofdir">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Directory to write gmon.out profiling data to. </td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a> <a name="hostnamelookups" id="hostnamelookups">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアント㮠IP アドレス㮠DNS ルックアップを
@@ -2433,6 +2448,24 @@ Apache ãŒãƒ•ã‚¡ã‚¤ãƒ«ã‚’アクセスã™ã‚‹ãŸã‚ã«ä½¿ã†ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ã
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Protocol" id="Protocol">Protocol</a> <a name="protocol" id="protocol">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Protocol for a listening socket</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Protocol <var>protocol</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Available in Apache 2.1.5 and later.
+On Windows from Apache 2.3.3 and later.</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p><h3>å‚ç…§</h3>
+<ul>
+<li><code class="directive">AcceptFilter</code></li>
+<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Require" id="Require">Require</a> <a name="require" id="require">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ã©ã®èªè¨¼æ¸ˆã¿ãƒ¦ãƒ¼ã‚¶ãŒãƒªã‚½ãƒ¼ã‚¹ã‚’アクセスã§ãã‚‹ã‹ã‚’é¸æŠžã™ã‚‹</td></tr>
@@ -3126,6 +3159,20 @@ Apache ãŒãƒ•ã‚¡ã‚¤ãƒ«ã‚’アクセスã™ã‚‹ãŸã‚ã«ä½¿ã†ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ã
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Suexec" id="Suexec">Suexec</a> <a name="suexec" id="suexec">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Enable or disable the suEXEC feature</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Suexec On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>On if suexec binary exists with proper owner and mode,
+Off otherwise</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Available in Apache httpd 2.2.18 and later</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a> <a name="timeout" id="timeout">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>å„イベントã«ã¤ã„ã¦ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’失敗ã•ã›ã‚‹ã¾ã§ã«ã‚µãƒ¼ãƒãŒ
@@ -3420,9 +3467,10 @@ Apache ãŒãƒ•ã‚¡ã‚¤ãƒ«ã‚’アクセスã™ã‚‹ãŸã‚ã«ä½¿ã†ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ã
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/core.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/core.html.tr.utf8 b/docs/manual/mod/core.html.tr.utf8
index cdb98893..a72092e2 100644
--- a/docs/manual/mod/core.html.tr.utf8
+++ b/docs/manual/mod/core.html.tr.utf8
@@ -23,6 +23,7 @@
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/core.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
@@ -55,6 +56,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#files">&lt;Files&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch">&lt;FilesMatch&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine">&lt;IfDefine&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule">&lt;IfModule&gt;</a></li>
@@ -75,6 +77,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#require">Require</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li>
@@ -91,6 +94,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#suexec">Suexec</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li>
@@ -146,6 +150,10 @@
kullanışlıdır:</p>
<div class="example"><p><code>AcceptFilter nntp none</code></p></div>
+<h3>Ayrıca bakınız:</h3>
+<ul>
+<li><code class="directive">Protocol</code></li>
+</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a> <a name="acceptpathinfo" id="acceptpathinfo">Yönergesi</a></h2>
@@ -379,28 +387,39 @@ kullanımı önerilmemektedir.</td></tr>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Kodlanmış dosya yolu ayracı içeren URL’lere izin verilip
verilmeyeceÄŸini belirler.</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AllowEncodedSlashes On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AllowEncodedSlashes On|Off|NoDecode</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">BaÄŸlam:</a></th><td>sunucu geneli, sanal konak</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr>
<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache 2.0.46 ve sonrasında mevcuttur.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache 2.0.46 ve sonrasında mevcuttur. NoDecode seçeneği 2.2.18
+ ve sonrasında kullanılabilir.</td></tr>
</table>
- <p><code class="directive">AllowEncodedSlashes</code> yönergesi kodlanmış dosya
- yolu ayracı içeren URL’lere izin verir (<code>/</code> yerine
- <code>%2F</code> ve ek olarak <code>\</code> için ilgili sistemlerde
- <code>%5C</code> kullanılmış URL’ler). Normalde böyle URL’ler bir 404
- (Nesne bulunamadı) hatasıyla reddedilirler.</p>
+ <p><code class="directive">AllowEncodedSlashes</code> yönergesi
+ <code>PATH_INFO</code> içinde kodlanmış dosya yolu ayracı içeren URL’lere
+ izin verir (<code>/</code> yerine <code>%2F</code> ve ek olarak
+ <code>\</code> için ilgili sistemlerde <code>%5C</code> kullanılmış
+ URL’ler).</p>
+
+ <p><code>Off</code> öntanımlı değeri ile böyle URL'ler bir 404 (bulunamadı)
+ hatasıyla reddedilir.</p>
+
+ <p><code>On</code> değeri ile böyle URL'ler kabul edilir ve kodlanmış bölü
+ çizgileri diğer kodlanmış karakterler gibi çözümlenir.</p>
+
+ <p><code>NoDecode</code> değeri ile böyle URL'ler kabul edilir fakat
+ kodlanmış bölü çizgileri çözümlenmeden bırakılır.</p>
<p><code class="directive">AllowEncodedSlashes</code> <code>On</code>, çoğunlukla
<code>PATH_INFO</code> ile bir arada kullanıldığı zaman
kullanışlıdır.</p>
<div class="note"><h3>Ek Bilgi</h3>
- <p>Kodlanmış bölü çizgilerine izin vermek bu kodlamanın karakter olarak
- çözümleneceği anlamına gelmez. URL içindeki <code>%2F</code> veya
- <code>%5C</code>’ler (sadece ilgili sistemlerde), tıpkı normal
- URL’lere yapıldığı gibi, oldukları gibi bırakılırlar.</p>
+ <p><code>PATH_INFO</code> içinde kodlanmış bölü çizgilerini kullanmaktan
+ başka çare yoksa bir güvenlik ölçütü olarak <code>NoDecode</code>
+ kullanmanız şiddetle tavsiye edilir. Bölü çizgilerinin çözümlenmeye
+ çalışılması yanlış yol çözümlemesi gibi güvenilmez bir olasılığa yol
+ açabilir.</p>
</div>
<h3>Ayrıca bakınız:</h3>
@@ -696,8 +715,9 @@ kullanımı önerilmemektedir.</td></tr>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Directory" id="Directory">&lt;Directory&gt;</a> <a name="directory" id="directory">Yönergesi</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sadece ismi belirtilen dosya sistemi dizininde ve bunun
- altdizinlerinde uygulanacak bir yönerge grubunu sarmalar.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sadece ismi belirtilen dosya sistemi dizinine ve bunun
+ altdizinleri ile içeriklerine uygulanacak bir yönerge grubunu
+ sarmalar.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>&lt;Directory <var>dizin-yolu</var>&gt;
... &lt;/Directory&gt;</code></td></tr>
<tr><th><a href="directive-dict.html#Context">BaÄŸlam:</a></th><td>sunucu geneli, sanal konak</td></tr>
@@ -706,17 +726,17 @@ kullanımı önerilmemektedir.</td></tr>
</table>
<p><code class="directive">&lt;Directory&gt;</code> ve
<code>&lt;/Directory&gt;</code> sadece ismi belirtilen dosya sistemi
- dizininde ve bunun altdizinlerinde uygulanacak bir yönerge grubunu
- sarmalamakta kullanılır. Bir dizin bağlamında kullanılabilecek her
- yönergeye izin verilir. <var>dizin-yolu</var> bir dizinin tam yolu
- olabileceği gibi Unix kabuk tarzı bir dosya ismi eşleştirme kalıbı da
- olabilir. Kalıp dizgesinde, <code>?</code> herhangi bir tek karakterle,
- <code>*</code> herhangi bir karakter dizisiyle eşleşir. Ayrıca
- <code>[]</code> karakter aralıkları da kullanılabilir. ‘/’ karakteri
- ile hiçbir kalıp karakteri eşleşmez, bu bakımdan <code>&lt;Directory
- /*/public_html&gt;</code> ile <code>/home/user/public_html</code>
- deÄŸil, ama <code>&lt;Directory /home/*/public_html&gt;</code>
- eşleşecektir. Örnek:</p>
+ dizini ve bunun altdizinleri ile bu dizinlerin içeriklerine uygulanacak
+ bir yönerge grubunu sarmalamakta kullanılır. Bir dizin bağlamında
+ kullanılabilecek her yönergeye izin verilir. <var>dizin-yolu</var> bir
+ dizinin tam yolu olabileceği gibi Unix kabuk tarzı bir dosya ismi
+ eşleştirme kalıbı da olabilir. Kalıp dizgesinde, <code>?</code> herhangi
+ bir tek karakterle, <code>*</code> herhangi bir karakter dizisiyle
+ eşleşir. Ayrıca <code>[]</code> karakter aralıkları da kullanılabilir. ‘/’
+ karakteri ile hiçbir kalıp karakteri eşleşmez, bu bakımdan
+ <code>&lt;Directory /*/public_html&gt;</code> ile
+ <code>/home/user/public_html</code> deÄŸil, ama <code>&lt;Directory
+ /home/*/public_html&gt;</code> eşleşecektir. Örnek:</p>
<div class="example"><p><code>
&lt;Directory /usr/local/httpd/htdocs&gt;<br />
@@ -757,7 +777,7 @@ kullanımı önerilmemektedir.</td></tr>
</span>
&lt;/Directory&gt;<br />
<br />
- &lt;Directory /home/&gt;<br />
+ &lt;Directory /home&gt;<br />
<span class="indent">
AllowOverride FileInfo<br />
</span>
@@ -840,9 +860,10 @@ kullanımı önerilmemektedir.</td></tr>
</table>
<p><code class="directive">&lt;DirectoryMatch&gt;</code> and
<code>&lt;/DirectoryMatch&gt;</code> yönergeleri <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> gibi sadece ismi
- belirtilen dosya sistemi dizininde ve bunun <em>altdizinlerinde</em>
- uygulanacak bir yönerge grubunu sarmalamakta kullanılır. Tek farkla
- argüman olarak bir <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> alır.
+ belirtilen dosya sistemi dizinine ve bunun <em>altdizinleri</em> ile
+ bunların içerdiği dosyalara uygulanacak bir yönerge grubunu sarmalamakta
+ kullanılır. Tek farkla argüman olarak bir <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli
+ ifade</a> alır.
Örnek:</p>
<div class="example"><p><code>
@@ -1389,6 +1410,24 @@ oluşturmakta kullanılacak dosya özniteliklerini belirler.</td></tr>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="GprofDir" id="GprofDir">GprofDir</a> <a name="gprofdir" id="gprofdir">Yönergesi</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>gmon.out profilleme verisinin yazılacağı dizin.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">BaÄŸlam:</a></th><td>sunucu geneli, sanal konak</td></tr>
+<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr>
+<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr>
+</table>
+ <p>Sunucu gprof profilleme desteÄŸi ile derlendiÄŸi takdirde
+ <code class="directive">GprofDir</code> yönergesi, süreç çıkarken
+ <code>gmon.out</code> dosyalarının belirtilen dizine yazılmasını sağlar.
+ Eğer değistirge yüzde simgesi (%) ile bitirilirse her süreç kimliği (PID)
+ için ayrı bir aldizin oluşturulur.</p>
+
+ <p>Bu yönerge sadece <code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM ile çalışır.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a> <a name="hostnamelookups" id="hostnamelookups">Yönergesi</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İstemci IP adresleri üzerinde DNS sorgularını etkin kılar.
@@ -1815,6 +1854,7 @@ uzunluğunu sınırlar.</td></tr>
LimitRequestBody 102400
</code></p></div>
+ <div class="note">Dikkat: Vekil isteklerine uygulanamaz.</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -1824,7 +1864,7 @@ uzunluğunu sınırlar.</td></tr>
sınırlar.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LimitRequestFields <var>sayı</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>LimitRequestFields 100</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">BaÄŸlam:</a></th><td>sunucu geneli</td></tr>
+<tr><th><a href="directive-dict.html#Context">BaÄŸlam:</a></th><td>sunucu geneli, sanal konak</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr>
<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr>
</table>
@@ -1856,6 +1896,12 @@ sınırlar.</td></tr>
LimitRequestFields 50
</code></p></div>
+ <div class="warning"><h3>Uyarı</h3>
+ <p>İsme dayalı sanal konaklar kullanılıyorsa bu yönergenin değeri,
+ bağlantının eşleştirildiği ilk <code class="directive">NameVirtualHost</code>
+ yönergesinden (listedeki ilk - öntanımlı - konak) alınır.</p>
+ </div>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -1865,7 +1911,7 @@ sınırlar.</td></tr>
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LimitRequestFieldSize <var>bayt-sayısı</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>LimitRequestFieldSize 8190</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">BaÄŸlam:</a></th><td>sunucu geneli</td></tr>
+<tr><th><a href="directive-dict.html#Context">BaÄŸlam:</a></th><td>sunucu geneli, sanal konak</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr>
<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr>
</table>
@@ -1893,6 +1939,12 @@ sınırlar.</td></tr>
<div class="note">Normal şartlar altında öntanımlı değer değiştirilmemelidir.</div>
+ <div class="warning"><h3>Uyarı</h3>
+ <p>İsme dayalı sanal konaklar kullanılıyorsa bu yönergenin değeri,
+ bağlantının eşleştirildiği ilk <code class="directive">NameVirtualHost</code>
+ yönergesinden (listedeki ilk - öntanımlı - konak) alınır.</p>
+ </div>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -1902,7 +1954,7 @@ sınırlar.</td></tr>
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LimitRequestLine <var>bayt-sayısı</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>LimitRequestLine 8190</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">BaÄŸlam:</a></th><td>sunucu geneli</td></tr>
+<tr><th><a href="directive-dict.html#Context">BaÄŸlam:</a></th><td>sunucu geneli, sanal konak</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr>
<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr>
</table>
@@ -1930,6 +1982,13 @@ sınırlar.</td></tr>
<div class="note">Normal şartlar altında öntanımlı değer değiştirilmemelidir.</div>
+ <div class="warning"><h3>Uyarı</h3>
+ <p>İsme dayalı sanal konaklar kullanılıyorsa bu yönergenin değeri,
+ bağlantının eşleştirildiği ilk <code class="directive">NameVirtualHost</code>
+ yönergesinden (listedeki ilk - öntanımlı - konak) alınır.</p>
+ </div>
+
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a> <a name="limitxmlrequestbody" id="limitxmlrequestbody">Yönergesi</a></h2>
@@ -1982,7 +2041,35 @@ sınırlar.</td></tr>
URL’lerle erişmek mümkün olduğundan bu tür erişim denetimleri hile ile
atlatılabilir olacaktır.</p>
- <div class="note"><h3><code class="directive">&lt;Location&gt;</code> ne zaman
+ <p>URL-yolu bileşeni aşağıdaki koşullardan herhangi birine uyduğu takdirde
+ kapsanan yönergeler isteğe uygulanacaktır:</p>
+ <ul>
+ <li>URL'nin yol bileÅŸeni belirtilen konum ile eÅŸleÅŸir.</li>
+ <li>URL'nin yol bileşeninin başındaki bölü çizgisi, belirtilen konumun
+ sonundaki bölü çizgisi ile eşleşir (içeriğin kök dizini olarak ele
+ alınır).</li>
+ <li>URL'nin yol bileşeninin başındaki bölü çizgisi, belirtilen konumun
+ sonuna bir bölü çizgisi eklenerek bununla eşleşir (içeriğin kök dizini
+ olarak ele alınır)</li>
+ </ul>
+ <p>Aşağıdaki örnekte, sonda bir bölü çizgisi kullanılmamış olmasına rağmen
+ /herhangi1, /herhangi1/ ve /herhangi1/dosya.txt dizgilerini içeren
+ isteklere kapsanan yönergeler uygulanacak, ancak /herhangi1baskasi
+ dizgisini içeren bir isteğe uygulanmayacaktır.</p>
+ <div class="example"><p><code>
+ &lt;Location /herhangi1&gt;
+ ...
+ </code></p></div>
+ <p>Aşağıdaki örnekte, sonda bir bölü çizgisi kullanılmış olup, /herhangi2,
+ /herhangi2/ ve /herhangi2/dosya.txt dizgilerini içeren isteklere kapsanan
+ yönergeler uygulanacak, ancak /herhangi2baskasi dizgisini içeren bir
+ isteğe uygulanmayacaktır.</p>
+ <div class="example"><p><code>
+ &lt;Location /private2<em>/</em>&gt;
+ ...
+ </code></p></div>
+
+<div class="note"><h3><code class="directive">&lt;Location&gt;</code> ne zaman
kullanılmalı</h3>
<p><code class="directive">&lt;Location&gt;</code> yönergesini dosya sistemi
@@ -2430,6 +2517,42 @@ uygulanır.</td></tr>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Protocol" id="Protocol">Protocol</a> <a name="protocol" id="protocol">Yönergesi</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dinlenen bir soket için protokol</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Protocol <var>protokol</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">BaÄŸlam:</a></th><td>sunucu geneli, sanal konak</td></tr>
+<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr>
+<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Windows üzerinde Apache 2.3.3 ve sonrasında diğerlerinde ise
+Apache 2.1.5 ve sonrasında kullanılabilmektedir.</td></tr>
+</table>
+ <p>Bu yönerge dinlenen belli bir soket için protokol belirtmek amacıyla
+ kullanılır. Protokol, bir isteği hangi modülün işleyeceğini belirlemekte ve
+ <code class="directive">AcceptFilter</code> yönergesi ile ilgili protokole özgü
+ iyileştirmeleri uygulamakta kullanılır.</p>
+
+ <p>Bu yönergeyi sadece standartdışı portlar belirtecekseniz kullanın.
+ Normalde <code>http</code> için 80, <code>https</code> için 443 portu
+ kullanılır.</p>
+
+ <p>Örneğin, <code>https</code>'i standartdışı bir port üzerinde
+ çalıştırıyorsanız bunu şöyle belirtebilirsiniz:</p>
+
+ <div class="example"><p><code>
+ Protocol https
+ </code></p></div>
+
+ <p>Kullandığınız protoklü ayrıca <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> yönergesini kullanarak da
+ belirtebilirsiniz.</p>
+
+<h3>Ayrıca bakınız:</h3>
+<ul>
+<li><code class="directive">AcceptFilter</code></li>
+<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Require" id="Require">Require</a> <a name="require" id="require">Yönergesi</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir özkaynağa erişebilecek kimliği doğrulanmış kullanıcıları belirler</td></tr>
@@ -2439,8 +2562,13 @@ uygulanır.</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr>
<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr>
</table>
- <p>Bu yönerge br özkaynağa erişebilecek kimliği doğrulanmış kullanıcıları belirlemek için kullanılır. Kısıtlamalar yetkilendirme modülleri tarafından işleme sokulur. <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code> ve
- <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> tarafından izin verilen bazı sözdizimleri:</p>
+ <p>Bu yönerge br özkaynağa erişebilecek kimliği doğrulanmış kullanıcıları
+ belirlemek için kullanılır. Belli bir kullanıcı veya kullanıcı grubuna
+ erişim vermek için bu yönergeden çok sayıda yazmak yerine bunlar mantıksal
+ VEYAlarla birleştirilebilir. Kısıtlamalar yetkilendirme modülleri
+ tarafından işleme sokulur. <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code> ve
+ <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> tarafından izin verilen bazı
+ sözdizimleri:</p>
<dl>
<dt><code>Require user <var>kull-kiml</var> [<var>kull-kiml</var>]
@@ -2455,10 +2583,14 @@ uygulanır.</td></tr>
<dd>Geçerli kullanıcıların hepsi özkaynağa erişebilir.</dd>
</dl>
- <p>Gerekli diğer seçenekleri sağlayan yetkilendirme modülleri olarak <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>, <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> ve
- <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> sayılabilir.</p>
+ <p>Gerekli diğer seçenekleri sağlayan yetkilendirme modülleri olarak
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>, <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> ve
+ <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> sayılabilir.</p>
- <p><code class="directive">Require</code> yönergesinin düzgün çalışması için kendisine <code class="directive"><a href="#authname">AuthName</a></code> ve <code class="directive"><a href="#authtype">AuthType</a></code> yönergelerinin yanı sıra kullanıcıları ve grupları tanımlamak için <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> ve <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> gibi yönergelerinin de eşlik etmesi gerekir. Örnek:</p>
+ <p><code class="directive">Require</code> yönergesinin düzgün çalışması için
+ kendisine <code class="directive"><a href="#authname">AuthName</a></code> ve <code class="directive"><a href="#authtype">AuthType</a></code> yönergelerinin yanı sıra kullanıcıları
+ ve grupları tanımlamak için <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> ve <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> gibi yönergelerinin
+ de eşlik etmesi gerekir. Örnek:</p>
<div class="example"><p><code>
AuthType Basic<br />
@@ -2468,13 +2600,23 @@ uygulanır.</td></tr>
Require group admin
</code></p></div>
- <p>Bu yolla uygulanan erişim denetimleri <strong>tüm</strong> yöntemler için etkilidir. <strong>Normalde istenen zaten budur.</strong> Erişim denetimlerini diğerlerini korumasız bırakmak pahasına sadece belli yöntemlerle sınırlamak isterseniz <code class="directive">Require</code> yönergesini bir <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code> bölümüne yerleştirin.</p>
+ <p>Bu yolla uygulanan erişim denetimleri <strong>tüm</strong> yöntemler için
+ etkilidir. <strong>Normalde istenen zaten budur.</strong> EriÅŸim
+ denetimlerini diğerlerini korumasız bırakmak pahasına sadece belli
+ yöntemlerle sınırlamak isterseniz <code class="directive">Require</code>
+ yönergesini bir <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code>
+ bölümüne yerleştirin.</p>
<p>Eğer <code class="directive">Require</code> yönergesini <code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> veya
- <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> yönergeleri ile birlikte kullanırsanız bu sınırlamalarla olan etkileşim <code class="directive"><a href="#satisfy">Satisfy</a></code> yönergesi tarafından denetlenir.</p>
+ <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> yönergeleri ile
+ birlikte kullanırsanız bu sınırlamalarla olan etkileşim <code class="directive"><a href="#satisfy">Satisfy</a></code> yönergesi tarafından denetlenir.</p>
<div class="note"><h3>Denetimlerin alt dizinlerden kaldırılması</h3>
- <p>Aşağıdaki örnekte korunmuş bir dizinin bir alt dizinindeki erişim denetimlerinin kaldırılması için <code class="directive"><a href="#satisfy">Satisfy</a></code> yönergesinin nasıl kullanılacağı gösterilmiştir. Bu teknik, <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> tarafından dayatılan erişim denetimlerini de ortadan kaldırdığından dikkatli kullanılmalıdır.</p>
+ <p>Aşağıdaki örnekte korunmuş bir dizinin bir alt dizinindeki erişim
+ denetimlerinin kaldırılması için <code class="directive"><a href="#satisfy">Satisfy</a></code> yönergesinin nasıl kullanılacağı
+ gösterilmiştir. Bu teknik, <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> tarafından
+ dayatılan erişim denetimlerini de ortadan kaldırdığından dikkatli
+ kullanılmalıdır.</p>
<div class="example"><p><code>
&lt;Directory /korunmuÅŸ/dizine/giden/yol/&gt;<br />
<span class="indent">
@@ -2627,9 +2769,22 @@ sınırlama getirir.</td></tr>
<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.0.51 sürümü ve sonrasında <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code> ve <code class="directive"><a href="#limitexcept">&lt;LimitExcept&gt;</a></code> tarafından etkin kılınır.</td></tr>
</table>
- <p><code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> ve <code class="directive"><a href="#require">Require</a></code> yönergelerinin ikisi birden kullanıldığında uygulanacak erişim kuralını belirler. Değer olarak sadece <code>All</code> veya <code>Any</code> belirtilebilir. Bu yönergenin yararlı olabilmesi için belli bir alana hem istemci konak adresi hem de kullanıcı ismi ve parolası belirtmek suretiyle erişilebiliyor olunması gerekir. Bu durumda öntanımlı davranış (<code>All</code>), istemcinin belli bir adrese erişebilmek için belli kısıtlamaları aşması ve geçerli bir kullanıcı adı ve parola girmesi gerekir. <code>Any</code> seçeneğinin belirtildiği durumda ise istemcinin ya konak kısıtlamalarıdan geçmesi ya da geçerli bir kullanıcı adı ve parolası girmesi gerekir. Bu seçenek, belli bir alana erişimi parolayla kısıtlayıp, belli adreslerden gelen kullanıcılara parolasız erişim vermek için kullanılabilir.</p>
-
- <p>Örneğin, sitenizin belli bir bölümü için iç ağınızdan gelen isteklere sınırsız erişim vermek ama dışardan gelen istekleri parolayla kısıtlamak isterseniz şöyle bir yapılandırma kullanabilirsiniz:</p>
+ <p><code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> ve <code class="directive"><a href="#require">Require</a></code> yönergelerinin ikisi birden
+ kullanıldığında uygulanacak erişim kuralını belirler. Değer olarak sadece
+ <code>All</code> veya <code>Any</code> belirtilebilir. Bu yönergenin yararlı
+ olabilmesi için belli bir alana hem istemci konak adresi hem de kullanıcı
+ ismi ve parolası belirtmek suretiyle erişilebiliyor olunması gerekir. Bu
+ durumda öntanımlı davranış (<code>All</code>), istemcinin belli bir adrese
+ erişebilmek için belli kısıtlamaları aşması ve geçerli bir kullanıcı adı ve
+ parola girmesi gerekir. <code>Any</code> seçeneğinin belirtildiği durumda
+ ise istemcinin ya konak kısıtlamalarıdan geçmesi ya da geçerli bir kullanıcı
+ adı ve parolası girmesi gerekir. Bu seçenek, belli bir alana erişimi
+ parolayla kısıtlayıp, belli adreslerden gelen kullanıcılara parolasız erişim
+ vermek için kullanılabilir.</p>
+
+ <p>Örneğin, sitenizin belli bir bölümü için iç ağınızdan gelen isteklere
+ sınırsız erişim vermek ama dışardan gelen istekleri parolayla kısıtlamak
+ isterseniz şöyle bir yapılandırma kullanabilirsiniz:</p>
<div class="example"><p><code>
Require valid-user<br />
@@ -2638,7 +2793,9 @@ sınırlama getirir.</td></tr>
Satisfy Any
</code></p></div>
- <p>2.0.51 sürümünden itibaren <code class="directive">Satisfy</code> yönergeleri <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code> ve <code class="directive"><a href="#limitexcept">&lt;LimitExcept&gt;</a></code> bölümleri tarafından belli yöntemlerle kısıtlanmış olabilir.</p>
+ <p>2.0.51 sürümünden itibaren <code class="directive">Satisfy</code> yönergeleri
+ <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code> ve <code class="directive"><a href="#limitexcept">&lt;LimitExcept&gt;</a></code> bölümleri tarafından
+ belli yöntemlerle kısıtlanmış olabilir.</p>
<h3>Ayrıca bakınız:</h3>
<ul>
@@ -2790,14 +2947,22 @@ kullanılacak konak adları için başka isimler belirtebilmeyi sağlar.
</table>
<p><code class="directive">ServerName</code> yönergesi, sunucunun kendini
betimlemekte kullanacağı şema, konak adı ve port değerlerini belirler.
- Bu, yönlendirme URL’leri oluşturulurken kullanılır. Örneğin, HTTP
- sunucusunun barındırıldığı makinenin ismi <code>falan.filan.dom</code>
- olduÄŸu halde makinenin bir de <code>www.filan.dom</code> diye bir de DNS
- rumuzu varsa ve HTTP sunucunuzun bu rumuzla kendini özdeşleştirmesini
- isterseniz bunu şöyle belirtebilirsiniz:</p>
+ Bu, yönlendirme URL’leri oluşturulurken kullanılır.</p>
+
+ <p>Buna ek olarak, <code class="directive">ServerName</code> yönergesi
+ <a href="../vhosts/name-based.html">isme dayali sanal konaklar</a>
+ kullanılması durumunda, bir sanal konağı tam olarak belirlemek için de
+ kullanlır (muhtemelen <code class="directive">ServerAlias</code> ile
+ birlikte).</p>
+
+ <p>Örneğin, HTTP sunucusunun barındırıldığı makinenin ismi
+ <code>falan.filan.dom</code> olduÄŸu halde makinenin bir de
+ <code>www.filan.dom</code> diye bir de DNS rumuzu varsa ve HTTP
+ sunucunuzun bu rumuzla kendini özdeşleştirmesini isterseniz bunu şöyle
+ belirtebilirsiniz:</p>
<div class="example"><p><code>
- ServerName www.filan.dom:80
+ ServerName www.filan.dom
</code></p></div>
<p>Bir <code class="directive">ServerName</code> ataması yapılmamışsa sunucu IP
@@ -3079,6 +3244,24 @@ belirler.</td></tr>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Suexec" id="Suexec">Suexec</a> <a name="suexec" id="suexec">Yönergesi</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>suEXEC özelliğini açar veya kapar</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Suexec On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>suexec çalıştırılabiliri doğru sahip ve kip ile mevcutsa etkin kılınır, yoksa etkin kılınmaz.</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">BaÄŸlam:</a></th><td>sunucu geneli</td></tr>
+<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr>
+<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache httpd 2.2.18 ve sonrasında kullanılabilir.</td></tr>
+</table>
+ <p>Yönergeye On değeri verildiğinde, suexec çalıştırılabiliri mevcut değilse
+ veya çalıştırılabilir dosyanın sahibi veya kip geçersizse sunucu
+ başlatılamaz.</p>
+ <p>Off değeri verildiğinde ise, suexec çalıştırılabiliri doğru sahip ve kip
+ ile mevcutsa bile suEXEC iptal edilir.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a> <a name="timeout" id="timeout">Yönergesi</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir istek için başarısız olmadan önce belirli olayların
@@ -3370,9 +3553,10 @@ gerçekleşmesi için sunucunun geçmesini bekleyeceği süre.</td></tr>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/core.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/directive-dict.html.en b/docs/manual/mod/directive-dict.html.en
index fbbc3fdc..bf990ed5 100644
--- a/docs/manual/mod/directive-dict.html.en
+++ b/docs/manual/mod/directive-dict.html.en
@@ -288,6 +288,6 @@
<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/directive-dict.html.ja.utf8 b/docs/manual/mod/directive-dict.html.ja.utf8
index bfb9c228..fe51d60f 100644
--- a/docs/manual/mod/directive-dict.html.ja.utf8
+++ b/docs/manual/mod/directive-dict.html.ja.utf8
@@ -298,6 +298,6 @@
<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/directive-dict.html.ko.euc-kr b/docs/manual/mod/directive-dict.html.ko.euc-kr
index 4a542eb6..71303e03 100644
--- a/docs/manual/mod/directive-dict.html.ko.euc-kr
+++ b/docs/manual/mod/directive-dict.html.ko.euc-kr
@@ -249,6 +249,6 @@
<a href="../ko/mod/directive-dict.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/directive-dict.html.tr.utf8 b/docs/manual/mod/directive-dict.html.tr.utf8
index bc726701..04c65bda 100644
--- a/docs/manual/mod/directive-dict.html.tr.utf8
+++ b/docs/manual/mod/directive-dict.html.tr.utf8
@@ -169,6 +169,6 @@
<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/directive-dict.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/directives.html b/docs/manual/mod/directives.html
index 27f6ac5a..66889038 100644
--- a/docs/manual/mod/directives.html
+++ b/docs/manual/mod/directives.html
@@ -27,3 +27,7 @@ Content-type: text/html; charset=KOI8-R
URI: directives.html.tr.utf8
Content-Language: tr
Content-type: text/html; charset=UTF-8
+
+URI: directives.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/mod/directives.html.de b/docs/manual/mod/directives.html.de
index 42380f6e..0c6a21bb 100644
--- a/docs/manual/mod/directives.html.de
+++ b/docs/manual/mod/directives.html.de
@@ -24,7 +24,8 @@
<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/directives.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>
@@ -42,7 +43,8 @@
<p class="letters"><a href="#A">&nbsp;A&nbsp;</a> | <a href="#B">&nbsp;B&nbsp;</a> | <a href="#C">&nbsp;C&nbsp;</a> | <a href="#D">&nbsp;D&nbsp;</a> | <a href="#E">&nbsp;E&nbsp;</a> | <a href="#F">&nbsp;F&nbsp;</a> | <a href="#G">&nbsp;G&nbsp;</a> | <a href="#H">&nbsp;H&nbsp;</a> | <a href="#I">&nbsp;I&nbsp;</a> | <a href="#K">&nbsp;K&nbsp;</a> | <a href="#L">&nbsp;L&nbsp;</a> | <a href="#M">&nbsp;M&nbsp;</a> | <a href="#N">&nbsp;N&nbsp;</a> | <a href="#O">&nbsp;O&nbsp;</a> | <a href="#P">&nbsp;P&nbsp;</a> | <a href="#R">&nbsp;R&nbsp;</a> | <a href="#S">&nbsp;S&nbsp;</a> | <a href="#T">&nbsp;T&nbsp;</a> | <a href="#U">&nbsp;U&nbsp;</a> | <a href="#V">&nbsp;V&nbsp;</a> | <a href="#W">&nbsp;W&nbsp;</a> | <a href="#X">&nbsp;X&nbsp;</a></p>
</div>
<div id="directive-list"><ul>
-<li><a href="mpm_common.html#acceptmutex" id="A" name="A">AcceptMutex</a></li>
+<li><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter</a></li>
+<li><a href="mpm_common.html#acceptmutex">AcceptMutex</a></li>
<li><a href="core.html#acceptpathinfo">AcceptPathInfo</a></li>
<li><a href="core.html#accessfilename">AccessFileName</a></li>
<li><a href="mod_actions.html#action">Action</a></li>
@@ -145,6 +147,7 @@
<li><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></li>
<li><a href="mod_speling.html#checkcaseonly">CheckCaseOnly</a></li>
<li><a href="mod_speling.html#checkspelling">CheckSpelling</a></li>
+<li><a href="mpm_common.html#chrootdir">ChrootDir</a></li>
<li><a href="core.html#contentdigest">ContentDigest</a></li>
<li><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></li>
<li><a href="mod_usertrack.html#cookieexpires">CookieExpires</a></li>
@@ -208,7 +211,9 @@
<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li>
<li><a href="core.html#forcetype">ForceType</a></li>
<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li>
-<li><a href="mpm_common.html#group" id="G" name="G">Group</a></li>
+<li><a href="core.html#gprofdir" id="G" name="G">GprofDir</a></li>
+<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li>
+<li><a href="mpm_common.html#group">Group</a></li>
<li><a href="mod_headers.html#header" id="H" name="H">Header</a></li>
<li><a href="mod_autoindex.html#headername">HeaderName</a></li>
<li><a href="core.html#hostnamelookups">HostnameLookups</a></li>
@@ -294,6 +299,7 @@
<li><a href="mod_authz_host.html#order">Order</a></li>
<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li>
<li><a href="mpm_common.html#pidfile">PidFile</a></li>
+<li><a href="core.html#protocol">Protocol</a></li>
<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li>
<li><a href="mod_proxy.html#proxy">&lt;Proxy&gt;</a></li>
<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li>
@@ -322,6 +328,7 @@
<li><a href="mod_proxy.html#proxytimeout">ProxyTimeout</a></li>
<li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li>
<li><a href="mod_autoindex.html#readmename" id="R" name="R">ReadmeName</a></li>
+<li><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li>
<li><a href="mod_alias.html#redirect">Redirect</a></li>
<li><a href="mod_alias.html#redirectmatch">RedirectMatch</a></li>
<li><a href="mod_alias.html#redirectpermanent">RedirectPermanent</a></li>
@@ -428,15 +435,18 @@
<li><a href="mpm_common.html#startservers">StartServers</a></li>
<li><a href="mpm_common.html#startthreads">StartThreads</a></li>
<li><a href="mod_substitute.html#substitute">Substitute</a></li>
+<li><a href="core.html#suexec">Suexec</a></li>
<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li>
<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li>
<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
<li><a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li>
<li><a href="core.html#timeout">TimeOut</a></li>
+<li><a href="core.html#traceenable">TraceEnable</a></li>
<li><a href="mod_log_config.html#transferlog">TransferLog</a></li>
<li><a href="mod_mime.html#typesconfig">TypesConfig</a></li>
<li><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv</a></li>
<li><a href="core.html#usecanonicalname">UseCanonicalName</a></li>
+<li><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li>
<li><a href="mpm_common.html#user">User</a></li>
<li><a href="mod_userdir.html#userdir">UserDir</a></li>
<li><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot</a></li>
@@ -454,8 +464,9 @@
<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/directives.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/directives.html.en b/docs/manual/mod/directives.html.en
index 958d478e..02f8e756 100644
--- a/docs/manual/mod/directives.html.en
+++ b/docs/manual/mod/directives.html.en
@@ -24,7 +24,8 @@
<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/directives.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>
@@ -211,7 +212,8 @@
<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li>
<li><a href="core.html#forcetype">ForceType</a></li>
<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li>
-<li><a href="mpm_common.html#gracefulshutdowntimeout" id="G" name="G">GracefulShutdownTimeout</a></li>
+<li><a href="core.html#gprofdir" id="G" name="G">GprofDir</a></li>
+<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li>
<li><a href="mpm_common.html#group">Group</a></li>
<li><a href="mod_headers.html#header" id="H" name="H">Header</a></li>
<li><a href="mod_autoindex.html#headername">HeaderName</a></li>
@@ -298,6 +300,7 @@
<li><a href="mod_authz_host.html#order">Order</a></li>
<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li>
<li><a href="mpm_common.html#pidfile">PidFile</a></li>
+<li><a href="core.html#protocol">Protocol</a></li>
<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li>
<li><a href="mod_proxy.html#proxy">&lt;Proxy&gt;</a></li>
<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li>
@@ -433,6 +436,7 @@
<li><a href="mpm_common.html#startservers">StartServers</a></li>
<li><a href="mpm_common.html#startthreads">StartThreads</a></li>
<li><a href="mod_substitute.html#substitute">Substitute</a></li>
+<li><a href="core.html#suexec">Suexec</a></li>
<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li>
<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li>
<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
@@ -461,8 +465,9 @@
<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/directives.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/directives.html.es b/docs/manual/mod/directives.html.es
index 5a187cfd..6f265312 100644
--- a/docs/manual/mod/directives.html.es
+++ b/docs/manual/mod/directives.html.es
@@ -24,7 +24,8 @@
<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/directives.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>
@@ -213,7 +214,8 @@
<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li>
<li><a href="core.html#forcetype">ForceType</a></li>
<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li>
-<li><a href="mpm_common.html#gracefulshutdowntimeout" id="G" name="G">GracefulShutdownTimeout</a></li>
+<li><a href="core.html#gprofdir" id="G" name="G">GprofDir</a></li>
+<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li>
<li><a href="mpm_common.html#group">Group</a></li>
<li><a href="mod_headers.html#header" id="H" name="H">Header</a></li>
<li><a href="mod_autoindex.html#headername">HeaderName</a></li>
@@ -300,6 +302,7 @@
<li><a href="mod_authz_host.html#order">Order</a></li>
<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li>
<li><a href="mpm_common.html#pidfile">PidFile</a></li>
+<li><a href="core.html#protocol">Protocol</a></li>
<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li>
<li><a href="mod_proxy.html#proxy">&lt;Proxy&gt;</a></li>
<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li>
@@ -435,6 +438,7 @@
<li><a href="mpm_common.html#startservers">StartServers</a></li>
<li><a href="mpm_common.html#startthreads">StartThreads</a></li>
<li><a href="mod_substitute.html#substitute">Substitute</a></li>
+<li><a href="core.html#suexec">Suexec</a></li>
<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li>
<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li>
<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
@@ -463,8 +467,9 @@
<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/directives.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="../faq/">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/directives.html.ja.utf8 b/docs/manual/mod/directives.html.ja.utf8
index 6b61b6f0..1f12bed6 100644
--- a/docs/manual/mod/directives.html.ja.utf8
+++ b/docs/manual/mod/directives.html.ja.utf8
@@ -24,7 +24,8 @@
<a href="../ja/mod/directives.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/directives.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>
@@ -112,7 +113,8 @@
<li><a href="mod_authnz_ldap.html#authzldapauthoritative">AuthzLDAPAuthoritative</a></li>
<li><a href="mod_authz_owner.html#authzownerauthoritative">AuthzOwnerAuthoritative</a></li>
<li><a href="mod_authz_user.html#authzuserauthoritative">AuthzUserAuthoritative</a></li>
-<li><a href="mod_setenvif.html#browsermatch" id="B" name="B">BrowserMatch</a></li>
+<li><a href="mod_proxy.html#balancermember" id="B" name="B">BalancerMember</a></li>
+<li><a href="mod_setenvif.html#browsermatch">BrowserMatch</a></li>
<li><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></li>
<li><a href="mod_log_config.html#bufferedlogs">BufferedLogs</a></li>
<li><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire</a></li>
@@ -124,7 +126,12 @@
<li><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li>
<li><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders</a></li>
<li><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li>
+<li><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString</a></li>
+<li><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li>
<li><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li>
+<li><a href="mod_cache.html#cachelock">CacheLock</a></li>
+<li><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge</a></li>
+<li><a href="mod_cache.html#cachelockpath">CacheLockPath</a></li>
<li><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire</a></li>
<li><a href="mod_disk_cache.html#cachemaxfilesize">CacheMaxFileSize</a></li>
<li><a href="mod_disk_cache.html#cacheminfilesize">CacheMinFileSize</a></li>
@@ -136,7 +143,9 @@
<li><a href="mod_charset_lite.html#charsetdefault">CharsetDefault</a></li>
<li><a href="mod_charset_lite.html#charsetoptions">CharsetOptions</a></li>
<li><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></li>
+<li><a href="mod_speling.html#checkcaseonly">CheckCaseOnly</a></li>
<li><a href="mod_speling.html#checkspelling">CheckSpelling</a></li>
+<li><a href="mpm_common.html#chrootdir">ChrootDir</a></li>
<li><a href="core.html#contentdigest">ContentDigest</a></li>
<li><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></li>
<li><a href="mod_usertrack.html#cookieexpires">CookieExpires</a></li>
@@ -174,6 +183,7 @@
<li><a href="mod_dir.html#directoryslash">DirectorySlash</a></li>
<li><a href="core.html#documentroot">DocumentRoot</a></li>
<li><a href="mod_dumpio.html#dumpioinput">DumpIOInput</a></li>
+<li><a href="mod_dumpio.html#dumpiologlevel">DumpIOLogLevel</a></li>
<li><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput</a></li>
<li><a href="mpm_common.html#enableexceptionhook" id="E" name="E">EnableExceptionHook</a></li>
<li><a href="core.html#enablemmap">EnableMMAP</a></li>
@@ -187,7 +197,8 @@
<li><a href="mod_status.html#extendedstatus">ExtendedStatus</a></li>
<li><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></li>
<li><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></li>
-<li><a href="core.html#fileetag" id="F" name="F">FileETag</a></li>
+<li><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource</a></li>
+<li><a href="core.html#fileetag">FileETag</a></li>
<li><a href="core.html#files">&lt;Files&gt;</a></li>
<li><a href="core.html#filesmatch">&lt;FilesMatch&gt;</a></li>
<li><a href="mod_filter.html#filterchain">FilterChain</a></li>
@@ -198,7 +209,8 @@
<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li>
<li><a href="core.html#forcetype">ForceType</a></li>
<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li>
-<li><a href="mpm_common.html#gracefulshutdowntimeout" id="G" name="G">GracefulShutdownTimeout</a></li>
+<li><a href="core.html#gprofdir" id="G" name="G">GprofDir</a></li>
+<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li>
<li><a href="mpm_common.html#group">Group</a></li>
<li><a href="mod_headers.html#header" id="H" name="H">Header</a></li>
<li><a href="mod_autoindex.html#headername">HeaderName</a></li>
@@ -212,6 +224,7 @@
<li><a href="mod_imagemap.html#imapdefault">ImapDefault</a></li>
<li><a href="mod_imagemap.html#imapmenu">ImapMenu</a></li>
<li><a href="core.html#include">Include</a></li>
+<li><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert</a></li>
<li><a href="mod_autoindex.html#indexignore">IndexIgnore</a></li>
<li><a href="mod_autoindex.html#indexoptions">IndexOptions</a></li>
<li><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li>
@@ -284,16 +297,20 @@
<li><a href="mod_authz_host.html#order">Order</a></li>
<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li>
<li><a href="mpm_common.html#pidfile">PidFile</a></li>
+<li><a href="core.html#protocol">Protocol</a></li>
<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li>
<li><a href="mod_proxy.html#proxy">&lt;Proxy&gt;</a></li>
<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li>
<li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li>
<li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li>
<li><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></li>
+<li><a href="mod_proxy.html#proxyftpdircharset">ProxyFtpDirCharset</a></li>
<li><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize</a></li>
<li><a href="mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></li>
<li><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards</a></li>
<li><a href="mod_proxy.html#proxypass">ProxyPass</a></li>
+<li><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li>
+<li><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch</a></li>
<li><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li>
<li><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li>
<li><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li>
@@ -304,6 +321,8 @@
<li><a href="mod_proxy.html#proxyrequests">ProxyRequests</a></li>
<li><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect</a></li>
<li><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile</a></li>
+<li><a href="mod_proxy.html#proxyset">ProxySet</a></li>
+<li><a href="mod_proxy.html#proxystatus">ProxyStatus</a></li>
<li><a href="mod_proxy.html#proxytimeout">ProxyTimeout</a></li>
<li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li>
<li><a href="mod_autoindex.html#readmename" id="R" name="R">ReadmeName</a></li>
@@ -361,8 +380,11 @@
<li><a href="core.html#sethandler">SetHandler</a></li>
<li><a href="core.html#setinputfilter">SetInputFilter</a></li>
<li><a href="core.html#setoutputfilter">SetOutputFilter</a></li>
+<li><a href="mod_include.html#ssienableaccess">SSIEnableAccess</a></li>
<li><a href="mod_include.html#ssiendtag">SSIEndTag</a></li>
<li><a href="mod_include.html#ssierrormsg">SSIErrorMsg</a></li>
+<li><a href="mod_include.html#ssietag">SSIETag</a></li>
+<li><a href="mod_include.html#ssilastmodified">SSILastModified</a></li>
<li><a href="mod_include.html#ssistarttag">SSIStartTag</a></li>
<li><a href="mod_include.html#ssitimeformat">SSITimeFormat</a></li>
<li><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho</a></li>
@@ -411,6 +433,7 @@
<li><a href="mpm_common.html#startservers">StartServers</a></li>
<li><a href="mpm_common.html#startthreads">StartThreads</a></li>
<li><a href="mod_substitute.html#substitute">Substitute</a></li>
+<li><a href="core.html#suexec">Suexec</a></li>
<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li>
<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li>
<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
@@ -439,8 +462,9 @@
<a href="../ja/mod/directives.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/directives.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/directives.html.ko.euc-kr b/docs/manual/mod/directives.html.ko.euc-kr
index 5ade944b..9f538ae6 100644
--- a/docs/manual/mod/directives.html.ko.euc-kr
+++ b/docs/manual/mod/directives.html.ko.euc-kr
@@ -24,7 +24,8 @@
<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directives.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/directives.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>
@@ -115,6 +116,7 @@
<li><a href="mod_proxy.html#balancermember" id="B" name="B">BalancerMember</a></li>
<li><a href="mod_setenvif.html#browsermatch">BrowserMatch</a></li>
<li><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></li>
+<li><a href="mod_log_config.html#bufferedlogs">BufferedLogs</a></li>
<li><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire</a></li>
<li><a href="mod_disk_cache.html#cachedirlength">CacheDirLength</a></li>
<li><a href="mod_disk_cache.html#cachedirlevels">CacheDirLevels</a></li>
@@ -124,16 +126,24 @@
<li><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li>
<li><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders</a></li>
<li><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li>
+<li><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString</a></li>
+<li><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li>
<li><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li>
+<li><a href="mod_cache.html#cachelock">CacheLock</a></li>
+<li><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge</a></li>
+<li><a href="mod_cache.html#cachelockpath">CacheLockPath</a></li>
<li><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire</a></li>
<li><a href="mod_disk_cache.html#cachemaxfilesize">CacheMaxFileSize</a></li>
<li><a href="mod_disk_cache.html#cacheminfilesize">CacheMinFileSize</a></li>
<li><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li>
<li><a href="mod_disk_cache.html#cacheroot">CacheRoot</a></li>
+<li><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore</a></li>
+<li><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate</a></li>
<li><a href="core.html#cgimapextension">CGIMapExtension</a></li>
<li><a href="mod_charset_lite.html#charsetdefault">CharsetDefault</a></li>
<li><a href="mod_charset_lite.html#charsetoptions">CharsetOptions</a></li>
<li><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></li>
+<li><a href="mod_speling.html#checkcaseonly">CheckCaseOnly</a></li>
<li><a href="mod_speling.html#checkspelling">CheckSpelling</a></li>
<li><a href="mpm_common.html#chrootdir">ChrootDir</a></li>
<li><a href="core.html#contentdigest">ContentDigest</a></li>
@@ -187,7 +197,8 @@
<li><a href="mod_status.html#extendedstatus">ExtendedStatus</a></li>
<li><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></li>
<li><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></li>
-<li><a href="core.html#fileetag" id="F" name="F">FileETag</a></li>
+<li><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource</a></li>
+<li><a href="core.html#fileetag">FileETag</a></li>
<li><a href="core.html#files">&lt;Files&gt;</a></li>
<li><a href="core.html#filesmatch">&lt;FilesMatch&gt;</a></li>
<li><a href="mod_filter.html#filterchain">FilterChain</a></li>
@@ -198,7 +209,8 @@
<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li>
<li><a href="core.html#forcetype">ForceType</a></li>
<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li>
-<li><a href="mpm_common.html#gracefulshutdowntimeout" id="G" name="G">GracefulShutdownTimeout</a></li>
+<li><a href="core.html#gprofdir" id="G" name="G">GprofDir</a></li>
+<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li>
<li><a href="mpm_common.html#group">Group</a></li>
<li><a href="mod_headers.html#header" id="H" name="H">Header</a></li>
<li><a href="mod_autoindex.html#headername">HeaderName</a></li>
@@ -212,6 +224,7 @@
<li><a href="mod_imagemap.html#imapdefault">ImapDefault</a></li>
<li><a href="mod_imagemap.html#imapmenu">ImapMenu</a></li>
<li><a href="core.html#include">Include</a></li>
+<li><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert</a></li>
<li><a href="mod_autoindex.html#indexignore">IndexIgnore</a></li>
<li><a href="mod_autoindex.html#indexoptions">IndexOptions</a></li>
<li><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li>
@@ -284,6 +297,7 @@
<li><a href="mod_authz_host.html#order">Order</a></li>
<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li>
<li><a href="mpm_common.html#pidfile">PidFile</a></li>
+<li><a href="core.html#protocol">Protocol</a></li>
<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li>
<li><a href="mod_proxy.html#proxy">&lt;Proxy&gt;</a></li>
<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li>
@@ -350,6 +364,7 @@
<li><a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li>
<li><a href="mod_cgid.html#scriptsock">ScriptSock</a></li>
<li><a href="mod_nw_ssl.html#securelisten">SecureListen</a></li>
+<li><a href="mod_status.html#seerequesttail">SeeRequestTail</a></li>
<li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li>
<li><a href="core.html#serveradmin">ServerAdmin</a></li>
<li><a href="core.html#serveralias">ServerAlias</a></li>
@@ -418,6 +433,7 @@
<li><a href="mpm_common.html#startservers">StartServers</a></li>
<li><a href="mpm_common.html#startthreads">StartThreads</a></li>
<li><a href="mod_substitute.html#substitute">Substitute</a></li>
+<li><a href="core.html#suexec">Suexec</a></li>
<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li>
<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li>
<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
@@ -446,8 +462,9 @@
<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directives.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/directives.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/directives.html.ru.koi8-r b/docs/manual/mod/directives.html.ru.koi8-r
index fde2aa8a..ea200204 100644
--- a/docs/manual/mod/directives.html.ru.koi8-r
+++ b/docs/manual/mod/directives.html.ru.koi8-r
@@ -24,7 +24,8 @@
<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/directives.html" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>úÄÅÓØ ÐÒÉ×ÏÄÉÔÓÑ ÓÐÉÓÏË ×ÓÅÈ ÄÉÒÅËÔÉ×, ËÏÔÏÒÙÅ ÄÏÓÔÕÐÎÙ
@@ -210,7 +211,8 @@
<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li>
<li><a href="core.html#forcetype">ForceType</a></li>
<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li>
-<li><a href="mpm_common.html#gracefulshutdowntimeout" id="G" name="G">GracefulShutdownTimeout</a></li>
+<li><a href="core.html#gprofdir" id="G" name="G">GprofDir</a></li>
+<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li>
<li><a href="mpm_common.html#group">Group</a></li>
<li><a href="mod_headers.html#header" id="H" name="H">Header</a></li>
<li><a href="mod_autoindex.html#headername">HeaderName</a></li>
@@ -297,6 +299,7 @@
<li><a href="mod_authz_host.html#order">Order</a></li>
<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li>
<li><a href="mpm_common.html#pidfile">PidFile</a></li>
+<li><a href="core.html#protocol">Protocol</a></li>
<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li>
<li><a href="mod_proxy.html#proxy">&lt;Proxy&gt;</a></li>
<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li>
@@ -432,6 +435,7 @@
<li><a href="mpm_common.html#startservers">StartServers</a></li>
<li><a href="mpm_common.html#startthreads">StartThreads</a></li>
<li><a href="mod_substitute.html#substitute">Substitute</a></li>
+<li><a href="core.html#suexec">Suexec</a></li>
<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li>
<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li>
<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
@@ -460,8 +464,9 @@
<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/directives.html" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">íÏÄÕÌÉ</a> | <a href="../mod/directives.html">äÉÒÅËÔÉ×Ù</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">çÌÏÓÓÁÒÉÊ</a> | <a href="../sitemap.html">ëÁÒÔÁ ÓÁÊÔÁ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/directives.html.tr.utf8 b/docs/manual/mod/directives.html.tr.utf8
index a92c9eba..f5c08a5e 100644
--- a/docs/manual/mod/directives.html.tr.utf8
+++ b/docs/manual/mod/directives.html.tr.utf8
@@ -24,7 +24,8 @@
<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/directives.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/directives.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/directives.html" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Standart Apache dağıtımında bulunan yönergelerin tamamı burada
@@ -207,7 +208,8 @@
<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li>
<li><a href="core.html#forcetype">ForceType</a></li>
<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li>
-<li><a href="mpm_common.html#gracefulshutdowntimeout" id="G" name="G">GracefulShutdownTimeout</a></li>
+<li><a href="core.html#gprofdir" id="G" name="G">GprofDir</a></li>
+<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li>
<li><a href="mpm_common.html#group">Group</a></li>
<li><a href="mod_headers.html#header" id="H" name="H">Header</a></li>
<li><a href="mod_autoindex.html#headername">HeaderName</a></li>
@@ -294,6 +296,7 @@
<li><a href="mod_authz_host.html#order">Order</a></li>
<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li>
<li><a href="mpm_common.html#pidfile">PidFile</a></li>
+<li><a href="core.html#protocol">Protocol</a></li>
<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li>
<li><a href="mod_proxy.html#proxy">&lt;Proxy&gt;</a></li>
<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li>
@@ -429,6 +432,7 @@
<li><a href="mpm_common.html#startservers">StartServers</a></li>
<li><a href="mpm_common.html#startthreads">StartThreads</a></li>
<li><a href="mod_substitute.html#substitute">Substitute</a></li>
+<li><a href="core.html#suexec">Suexec</a></li>
<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li>
<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li>
<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
@@ -457,8 +461,9 @@
<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/directives.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/directives.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/directives.html" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/directives.html.zh-cn b/docs/manual/mod/directives.html.zh-cn
new file mode 100644
index 00000000..2f3d02fe
--- /dev/null
+++ b/docs/manual/mod/directives.html.zh-cn
@@ -0,0 +1,468 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>指令索引 - Apache HTTP æœåŠ¡å™¨</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="directive-index"><div id="page-header">
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.2</a> &gt; <a href="./">模å—</a></div><div id="preamble"><h1>指令索引</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../ru/mod/directives.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+ <p>
+ æ¯ä¸ªåœ¨ Apache 标准å‘行版中å¯ç”¨çš„指令都列在这里。它们使用一致的格å¼æ述,而且有<a href="directive-dict.html" rel="Glossary">术语字典</a>。
+ </p>
+
+ <p>
+ <a href="quickreference.html">指令快速å‚考</a>用æ¥ä»¥æ‘˜è¦çš„å½¢å¼æ供有关æ¯ä¸ªæŒ‡ä»¤çš„详细信æ¯ã€‚
+ </p>
+
+<p class="letters"><a href="#A">&nbsp;A&nbsp;</a> | <a href="#B">&nbsp;B&nbsp;</a> | <a href="#C">&nbsp;C&nbsp;</a> | <a href="#D">&nbsp;D&nbsp;</a> | <a href="#E">&nbsp;E&nbsp;</a> | <a href="#F">&nbsp;F&nbsp;</a> | <a href="#G">&nbsp;G&nbsp;</a> | <a href="#H">&nbsp;H&nbsp;</a> | <a href="#I">&nbsp;I&nbsp;</a> | <a href="#K">&nbsp;K&nbsp;</a> | <a href="#L">&nbsp;L&nbsp;</a> | <a href="#M">&nbsp;M&nbsp;</a> | <a href="#N">&nbsp;N&nbsp;</a> | <a href="#O">&nbsp;O&nbsp;</a> | <a href="#P">&nbsp;P&nbsp;</a> | <a href="#R">&nbsp;R&nbsp;</a> | <a href="#S">&nbsp;S&nbsp;</a> | <a href="#T">&nbsp;T&nbsp;</a> | <a href="#U">&nbsp;U&nbsp;</a> | <a href="#V">&nbsp;V&nbsp;</a> | <a href="#W">&nbsp;W&nbsp;</a> | <a href="#X">&nbsp;X&nbsp;</a></p>
+</div>
+<div id="directive-list"><ul>
+<li><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter</a></li>
+<li><a href="mpm_common.html#acceptmutex">AcceptMutex</a></li>
+<li><a href="core.html#acceptpathinfo">AcceptPathInfo</a></li>
+<li><a href="core.html#accessfilename">AccessFileName</a></li>
+<li><a href="mod_actions.html#action">Action</a></li>
+<li><a href="mod_autoindex.html#addalt">AddAlt</a></li>
+<li><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li>
+<li><a href="mod_autoindex.html#addaltbytype">AddAltByType</a></li>
+<li><a href="mod_mime.html#addcharset">AddCharset</a></li>
+<li><a href="core.html#adddefaultcharset">AddDefaultCharset</a></li>
+<li><a href="mod_autoindex.html#adddescription">AddDescription</a></li>
+<li><a href="mod_mime.html#addencoding">AddEncoding</a></li>
+<li><a href="mod_mime.html#addhandler">AddHandler</a></li>
+<li><a href="mod_autoindex.html#addicon">AddIcon</a></li>
+<li><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li>
+<li><a href="mod_autoindex.html#addiconbytype">AddIconByType</a></li>
+<li><a href="mod_mime.html#addinputfilter">AddInputFilter</a></li>
+<li><a href="mod_mime.html#addlanguage">AddLanguage</a></li>
+<li><a href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li>
+<li><a href="mod_mime.html#addoutputfilter">AddOutputFilter</a></li>
+<li><a href="core.html#addoutputfilterbytype">AddOutputFilterByType</a></li>
+<li><a href="mod_mime.html#addtype">AddType</a></li>
+<li><a href="mod_alias.html#alias">Alias</a></li>
+<li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li>
+<li><a href="mod_authz_host.html#allow">Allow</a></li>
+<li><a href="mod_proxy.html#allowconnect">AllowCONNECT</a></li>
+<li><a href="core.html#allowencodedslashes">AllowEncodedSlashes</a></li>
+<li><a href="core.html#allowoverride">AllowOverride</a></li>
+<li><a href="mod_authn_anon.html#anonymous">Anonymous</a></li>
+<li><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail</a></li>
+<li><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li>
+<li><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID</a></li>
+<li><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail</a></li>
+<li><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative</a></li>
+<li><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></li>
+<li><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery</a></li>
+<li><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li>
+<li><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li>
+<li><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType</a></li>
+<li><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li>
+<li><a href="mod_authn_default.html#authdefaultauthoritative">AuthDefaultAuthoritative</a></li>
+<li><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm</a></li>
+<li><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain</a></li>
+<li><a href="mod_auth_digest.html#authdigestnccheck">AuthDigestNcCheck</a></li>
+<li><a href="mod_auth_digest.html#authdigestnonceformat">AuthDigestNonceFormat</a></li>
+<li><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li>
+<li><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></li>
+<li><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop</a></li>
+<li><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize</a></li>
+<li><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></li>
+<li><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></li>
+<li><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></li>
+<li><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword</a></li>
+<li><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li>
+<li><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li>
+<li><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li>
+<li><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute</a></li>
+<li><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li>
+<li><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li>
+<li><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li>
+<li><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPUrl</a></li>
+<li><a href="core.html#authname">AuthName</a></li>
+<li><a href="mod_authn_alias.html#authnprovideralias">&lt;AuthnProviderAlias&gt;</a></li>
+<li><a href="core.html#authtype">AuthType</a></li>
+<li><a href="mod_authn_file.html#authuserfile">AuthUserFile</a></li>
+<li><a href="mod_authz_dbm.html#authzdbmauthoritative">AuthzDBMAuthoritative</a></li>
+<li><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType</a></li>
+<li><a href="mod_authz_default.html#authzdefaultauthoritative">AuthzDefaultAuthoritative</a></li>
+<li><a href="mod_authz_groupfile.html#authzgroupfileauthoritative">AuthzGroupFileAuthoritative</a></li>
+<li><a href="mod_authnz_ldap.html#authzldapauthoritative">AuthzLDAPAuthoritative</a></li>
+<li><a href="mod_authz_owner.html#authzownerauthoritative">AuthzOwnerAuthoritative</a></li>
+<li><a href="mod_authz_user.html#authzuserauthoritative">AuthzUserAuthoritative</a></li>
+<li><a href="mod_proxy.html#balancermember" id="B" name="B">BalancerMember</a></li>
+<li><a href="mod_setenvif.html#browsermatch">BrowserMatch</a></li>
+<li><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></li>
+<li><a href="mod_log_config.html#bufferedlogs">BufferedLogs</a></li>
+<li><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire</a></li>
+<li><a href="mod_disk_cache.html#cachedirlength">CacheDirLength</a></li>
+<li><a href="mod_disk_cache.html#cachedirlevels">CacheDirLevels</a></li>
+<li><a href="mod_cache.html#cachedisable">CacheDisable</a></li>
+<li><a href="mod_cache.html#cacheenable">CacheEnable</a></li>
+<li><a href="mod_file_cache.html#cachefile">CacheFile</a></li>
+<li><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li>
+<li><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders</a></li>
+<li><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li>
+<li><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString</a></li>
+<li><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li>
+<li><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li>
+<li><a href="mod_cache.html#cachelock">CacheLock</a></li>
+<li><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge</a></li>
+<li><a href="mod_cache.html#cachelockpath">CacheLockPath</a></li>
+<li><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire</a></li>
+<li><a href="mod_disk_cache.html#cachemaxfilesize">CacheMaxFileSize</a></li>
+<li><a href="mod_disk_cache.html#cacheminfilesize">CacheMinFileSize</a></li>
+<li><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li>
+<li><a href="mod_disk_cache.html#cacheroot">CacheRoot</a></li>
+<li><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore</a></li>
+<li><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate</a></li>
+<li><a href="core.html#cgimapextension">CGIMapExtension</a></li>
+<li><a href="mod_charset_lite.html#charsetdefault">CharsetDefault</a></li>
+<li><a href="mod_charset_lite.html#charsetoptions">CharsetOptions</a></li>
+<li><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></li>
+<li><a href="mod_speling.html#checkcaseonly">CheckCaseOnly</a></li>
+<li><a href="mod_speling.html#checkspelling">CheckSpelling</a></li>
+<li><a href="mpm_common.html#chrootdir">ChrootDir</a></li>
+<li><a href="core.html#contentdigest">ContentDigest</a></li>
+<li><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></li>
+<li><a href="mod_usertrack.html#cookieexpires">CookieExpires</a></li>
+<li><a href="mod_log_config.html#cookielog">CookieLog</a></li>
+<li><a href="mod_usertrack.html#cookiename">CookieName</a></li>
+<li><a href="mod_usertrack.html#cookiestyle">CookieStyle</a></li>
+<li><a href="mod_usertrack.html#cookietracking">CookieTracking</a></li>
+<li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li>
+<li><a href="mod_log_config.html#customlog">CustomLog</a></li>
+<li><a href="mod_dav.html#dav" id="D" name="D">Dav</a></li>
+<li><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity</a></li>
+<li><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB</a></li>
+<li><a href="mod_dav_fs.html#davlockdb">DavLockDB</a></li>
+<li><a href="mod_dav.html#davmintimeout">DavMinTimeout</a></li>
+<li><a href="mod_dbd.html#dbdexptime">DBDExptime</a></li>
+<li><a href="mod_dbd.html#dbdkeep">DBDKeep</a></li>
+<li><a href="mod_dbd.html#dbdmax">DBDMax</a></li>
+<li><a href="mod_dbd.html#dbdmin">DBDMin</a></li>
+<li><a href="mod_dbd.html#dbdparams">DBDParams</a></li>
+<li><a href="mod_dbd.html#dbdpersist">DBDPersist</a></li>
+<li><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></li>
+<li><a href="mod_dbd.html#dbdriver">DBDriver</a></li>
+<li><a href="mod_autoindex.html#defaulticon">DefaultIcon</a></li>
+<li><a href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li>
+<li><a href="core.html#defaulttype">DefaultType</a></li>
+<li><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize</a></li>
+<li><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel</a></li>
+<li><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote</a></li>
+<li><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel</a></li>
+<li><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize</a></li>
+<li><a href="mod_authz_host.html#deny">Deny</a></li>
+<li><a href="core.html#directory">&lt;Directory&gt;</a></li>
+<li><a href="mod_dir.html#directoryindex">DirectoryIndex</a></li>
+<li><a href="core.html#directorymatch">&lt;DirectoryMatch&gt;</a></li>
+<li><a href="mod_dir.html#directoryslash">DirectorySlash</a></li>
+<li><a href="core.html#documentroot">DocumentRoot</a></li>
+<li><a href="mod_dumpio.html#dumpioinput">DumpIOInput</a></li>
+<li><a href="mod_dumpio.html#dumpiologlevel">DumpIOLogLevel</a></li>
+<li><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput</a></li>
+<li><a href="mpm_common.html#enableexceptionhook" id="E" name="E">EnableExceptionHook</a></li>
+<li><a href="core.html#enablemmap">EnableMMAP</a></li>
+<li><a href="core.html#enablesendfile">EnableSendfile</a></li>
+<li><a href="core.html#errordocument">ErrorDocument</a></li>
+<li><a href="core.html#errorlog">ErrorLog</a></li>
+<li><a href="mod_example.html#example">Example</a></li>
+<li><a href="mod_expires.html#expiresactive">ExpiresActive</a></li>
+<li><a href="mod_expires.html#expiresbytype">ExpiresByType</a></li>
+<li><a href="mod_expires.html#expiresdefault">ExpiresDefault</a></li>
+<li><a href="mod_status.html#extendedstatus">ExtendedStatus</a></li>
+<li><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></li>
+<li><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></li>
+<li><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource</a></li>
+<li><a href="core.html#fileetag">FileETag</a></li>
+<li><a href="core.html#files">&lt;Files&gt;</a></li>
+<li><a href="core.html#filesmatch">&lt;FilesMatch&gt;</a></li>
+<li><a href="mod_filter.html#filterchain">FilterChain</a></li>
+<li><a href="mod_filter.html#filterdeclare">FilterDeclare</a></li>
+<li><a href="mod_filter.html#filterprotocol">FilterProtocol</a></li>
+<li><a href="mod_filter.html#filterprovider">FilterProvider</a></li>
+<li><a href="mod_filter.html#filtertrace">FilterTrace</a></li>
+<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li>
+<li><a href="core.html#forcetype">ForceType</a></li>
+<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li>
+<li><a href="core.html#gprofdir" id="G" name="G">GprofDir</a></li>
+<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li>
+<li><a href="mpm_common.html#group">Group</a></li>
+<li><a href="mod_headers.html#header" id="H" name="H">Header</a></li>
+<li><a href="mod_autoindex.html#headername">HeaderName</a></li>
+<li><a href="core.html#hostnamelookups">HostnameLookups</a></li>
+<li><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck</a></li>
+<li><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout</a></li>
+<li><a href="core.html#ifdefine">&lt;IfDefine&gt;</a></li>
+<li><a href="core.html#ifmodule">&lt;IfModule&gt;</a></li>
+<li><a href="mod_version.html#ifversion">&lt;IfVersion&gt;</a></li>
+<li><a href="mod_imagemap.html#imapbase">ImapBase</a></li>
+<li><a href="mod_imagemap.html#imapdefault">ImapDefault</a></li>
+<li><a href="mod_imagemap.html#imapmenu">ImapMenu</a></li>
+<li><a href="core.html#include">Include</a></li>
+<li><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert</a></li>
+<li><a href="mod_autoindex.html#indexignore">IndexIgnore</a></li>
+<li><a href="mod_autoindex.html#indexoptions">IndexOptions</a></li>
+<li><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li>
+<li><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet</a></li>
+<li><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li>
+<li><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li>
+<li><a href="mod_isapi.html#isapicachefile">ISAPICacheFile</a></li>
+<li><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync</a></li>
+<li><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li>
+<li><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li>
+<li><a href="core.html#keepalive" id="K" name="K">KeepAlive</a></li>
+<li><a href="core.html#keepalivetimeout">KeepAliveTimeout</a></li>
+<li><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority</a></li>
+<li><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries</a></li>
+<li><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL</a></li>
+<li><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout</a></li>
+<li><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries</a></li>
+<li><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL</a></li>
+<li><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile</a></li>
+<li><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize</a></li>
+<li><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></li>
+<li><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></li>
+<li><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></li>
+<li><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert</a></li>
+<li><a href="core.html#limit">&lt;Limit&gt;</a></li>
+<li><a href="core.html#limitexcept">&lt;LimitExcept&gt;</a></li>
+<li><a href="core.html#limitinternalrecursion">LimitInternalRecursion</a></li>
+<li><a href="core.html#limitrequestbody">LimitRequestBody</a></li>
+<li><a href="core.html#limitrequestfields">LimitRequestFields</a></li>
+<li><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize</a></li>
+<li><a href="core.html#limitrequestline">LimitRequestLine</a></li>
+<li><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody</a></li>
+<li><a href="mpm_common.html#listen">Listen</a></li>
+<li><a href="mpm_common.html#listenbacklog">ListenBackLog</a></li>
+<li><a href="mod_so.html#loadfile">LoadFile</a></li>
+<li><a href="mod_so.html#loadmodule">LoadModule</a></li>
+<li><a href="core.html#location">&lt;Location&gt;</a></li>
+<li><a href="core.html#locationmatch">&lt;LocationMatch&gt;</a></li>
+<li><a href="mpm_common.html#lockfile">LockFile</a></li>
+<li><a href="mod_log_config.html#logformat">LogFormat</a></li>
+<li><a href="core.html#loglevel">LogLevel</a></li>
+<li><a href="mpm_common.html#maxclients" id="M" name="M">MaxClients</a></li>
+<li><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
+<li><a href="mpm_common.html#maxmemfree">MaxMemFree</a></li>
+<li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li>
+<li><a href="beos.html#maxrequestsperthread">MaxRequestsPerThread</a></li>
+<li><a href="prefork.html#maxspareservers">MaxSpareServers</a></li>
+<li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li>
+<li><a href="mpm_netware.html#maxthreads">MaxThreads</a></li>
+<li><a href="mod_mem_cache.html#mcachemaxobjectcount">MCacheMaxObjectCount</a></li>
+<li><a href="mod_mem_cache.html#mcachemaxobjectsize">MCacheMaxObjectSize</a></li>
+<li><a href="mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer</a></li>
+<li><a href="mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize</a></li>
+<li><a href="mod_mem_cache.html#mcacheremovalalgorithm">MCacheRemovalAlgorithm</a></li>
+<li><a href="mod_mem_cache.html#mcachesize">MCacheSize</a></li>
+<li><a href="mod_cern_meta.html#metadir">MetaDir</a></li>
+<li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li>
+<li><a href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li>
+<li><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li>
+<li><a href="prefork.html#minspareservers">MinSpareServers</a></li>
+<li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li>
+<li><a href="mod_file_cache.html#mmapfile">MMapFile</a></li>
+<li><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo</a></li>
+<li><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch</a></li>
+<li><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost</a></li>
+<li><a href="mod_proxy.html#noproxy">NoProxy</a></li>
+<li><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts</a></li>
+<li><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable</a></li>
+<li><a href="core.html#options" id="O" name="O">Options</a></li>
+<li><a href="mod_authz_host.html#order">Order</a></li>
+<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li>
+<li><a href="mpm_common.html#pidfile">PidFile</a></li>
+<li><a href="core.html#protocol">Protocol</a></li>
+<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li>
+<li><a href="mod_proxy.html#proxy">&lt;Proxy&gt;</a></li>
+<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li>
+<li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li>
+<li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li>
+<li><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></li>
+<li><a href="mod_proxy.html#proxyftpdircharset">ProxyFtpDirCharset</a></li>
+<li><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize</a></li>
+<li><a href="mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></li>
+<li><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards</a></li>
+<li><a href="mod_proxy.html#proxypass">ProxyPass</a></li>
+<li><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li>
+<li><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch</a></li>
+<li><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li>
+<li><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li>
+<li><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li>
+<li><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost</a></li>
+<li><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li>
+<li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li>
+<li><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch</a></li>
+<li><a href="mod_proxy.html#proxyrequests">ProxyRequests</a></li>
+<li><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect</a></li>
+<li><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile</a></li>
+<li><a href="mod_proxy.html#proxyset">ProxySet</a></li>
+<li><a href="mod_proxy.html#proxystatus">ProxyStatus</a></li>
+<li><a href="mod_proxy.html#proxytimeout">ProxyTimeout</a></li>
+<li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li>
+<li><a href="mod_autoindex.html#readmename" id="R" name="R">ReadmeName</a></li>
+<li><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li>
+<li><a href="mod_alias.html#redirect">Redirect</a></li>
+<li><a href="mod_alias.html#redirectmatch">RedirectMatch</a></li>
+<li><a href="mod_alias.html#redirectpermanent">RedirectPermanent</a></li>
+<li><a href="mod_alias.html#redirecttemp">RedirectTemp</a></li>
+<li><a href="mod_mime.html#removecharset">RemoveCharset</a></li>
+<li><a href="mod_mime.html#removeencoding">RemoveEncoding</a></li>
+<li><a href="mod_mime.html#removehandler">RemoveHandler</a></li>
+<li><a href="mod_mime.html#removeinputfilter">RemoveInputFilter</a></li>
+<li><a href="mod_mime.html#removelanguage">RemoveLanguage</a></li>
+<li><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></li>
+<li><a href="mod_mime.html#removetype">RemoveType</a></li>
+<li><a href="mod_headers.html#requestheader">RequestHeader</a></li>
+<li><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout</a></li>
+<li><a href="core.html#require">Require</a></li>
+<li><a href="mod_rewrite.html#rewritebase">RewriteBase</a></li>
+<li><a href="mod_rewrite.html#rewritecond">RewriteCond</a></li>
+<li><a href="mod_rewrite.html#rewriteengine">RewriteEngine</a></li>
+<li><a href="mod_rewrite.html#rewritelock">RewriteLock</a></li>
+<li><a href="mod_rewrite.html#rewritelog">RewriteLog</a></li>
+<li><a href="mod_rewrite.html#rewriteloglevel">RewriteLogLevel</a></li>
+<li><a href="mod_rewrite.html#rewritemap">RewriteMap</a></li>
+<li><a href="mod_rewrite.html#rewriteoptions">RewriteOptions</a></li>
+<li><a href="mod_rewrite.html#rewriterule">RewriteRule</a></li>
+<li><a href="core.html#rlimitcpu">RLimitCPU</a></li>
+<li><a href="core.html#rlimitmem">RLimitMEM</a></li>
+<li><a href="core.html#rlimitnproc">RLimitNPROC</a></li>
+<li><a href="core.html#satisfy" id="S" name="S">Satisfy</a></li>
+<li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li>
+<li><a href="mod_actions.html#script">Script</a></li>
+<li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li>
+<li><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li>
+<li><a href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li>
+<li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li>
+<li><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li>
+<li><a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li>
+<li><a href="mod_cgid.html#scriptsock">ScriptSock</a></li>
+<li><a href="mod_nw_ssl.html#securelisten">SecureListen</a></li>
+<li><a href="mod_status.html#seerequesttail">SeeRequestTail</a></li>
+<li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li>
+<li><a href="core.html#serveradmin">ServerAdmin</a></li>
+<li><a href="core.html#serveralias">ServerAlias</a></li>
+<li><a href="mpm_common.html#serverlimit">ServerLimit</a></li>
+<li><a href="core.html#servername">ServerName</a></li>
+<li><a href="core.html#serverpath">ServerPath</a></li>
+<li><a href="core.html#serverroot">ServerRoot</a></li>
+<li><a href="core.html#serversignature">ServerSignature</a></li>
+<li><a href="core.html#servertokens">ServerTokens</a></li>
+<li><a href="mod_env.html#setenv">SetEnv</a></li>
+<li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li>
+<li><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></li>
+<li><a href="core.html#sethandler">SetHandler</a></li>
+<li><a href="core.html#setinputfilter">SetInputFilter</a></li>
+<li><a href="core.html#setoutputfilter">SetOutputFilter</a></li>
+<li><a href="mod_include.html#ssienableaccess">SSIEnableAccess</a></li>
+<li><a href="mod_include.html#ssiendtag">SSIEndTag</a></li>
+<li><a href="mod_include.html#ssierrormsg">SSIErrorMsg</a></li>
+<li><a href="mod_include.html#ssietag">SSIETag</a></li>
+<li><a href="mod_include.html#ssilastmodified">SSILastModified</a></li>
+<li><a href="mod_include.html#ssistarttag">SSIStartTag</a></li>
+<li><a href="mod_include.html#ssitimeformat">SSITimeFormat</a></li>
+<li><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho</a></li>
+<li><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile</a></li>
+<li><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath</a></li>
+<li><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile</a></li>
+<li><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath</a></li>
+<li><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile</a></li>
+<li><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath</a></li>
+<li><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></li>
+<li><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></li>
+<li><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></li>
+<li><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite</a></li>
+<li><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice</a></li>
+<li><a href="mod_ssl.html#sslengine">SSLEngine</a></li>
+<li><a href="mod_ssl.html#sslfips">SSLFIPS</a></li>
+<li><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder</a></li>
+<li><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation</a></li>
+<li><a href="mod_ssl.html#sslmutex">SSLMutex</a></li>
+<li><a href="mod_ssl.html#ssloptions">SSLOptions</a></li>
+<li><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog</a></li>
+<li><a href="mod_ssl.html#sslprotocol">SSLProtocol</a></li>
+<li><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile</a></li>
+<li><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath</a></li>
+<li><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile</a></li>
+<li><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath</a></li>
+<li><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></li>
+<li><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></li>
+<li><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite</a></li>
+<li><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine</a></li>
+<li><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></li>
+<li><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath</a></li>
+<li><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol</a></li>
+<li><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify</a></li>
+<li><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth</a></li>
+<li><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed</a></li>
+<li><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize</a></li>
+<li><a href="mod_ssl.html#sslrequire">SSLRequire</a></li>
+<li><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></li>
+<li><a href="mod_ssl.html#sslsessioncache">SSLSessionCache</a></li>
+<li><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li>
+<li><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck</a></li>
+<li><a href="mod_ssl.html#sslusername">SSLUserName</a></li>
+<li><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient</a></li>
+<li><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth</a></li>
+<li><a href="mpm_common.html#startservers">StartServers</a></li>
+<li><a href="mpm_common.html#startthreads">StartThreads</a></li>
+<li><a href="mod_substitute.html#substitute">Substitute</a></li>
+<li><a href="core.html#suexec">Suexec</a></li>
+<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li>
+<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li>
+<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
+<li><a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li>
+<li><a href="core.html#timeout">TimeOut</a></li>
+<li><a href="core.html#traceenable">TraceEnable</a></li>
+<li><a href="mod_log_config.html#transferlog">TransferLog</a></li>
+<li><a href="mod_mime.html#typesconfig">TypesConfig</a></li>
+<li><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv</a></li>
+<li><a href="core.html#usecanonicalname">UseCanonicalName</a></li>
+<li><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li>
+<li><a href="mpm_common.html#user">User</a></li>
+<li><a href="mod_userdir.html#userdir">UserDir</a></li>
+<li><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot</a></li>
+<li><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li>
+<li><a href="core.html#virtualhost">&lt;VirtualHost&gt;</a></li>
+<li><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li>
+<li><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li>
+<li><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></li>
+<li><a href="mod_include.html#xbithack" id="X" name="X">XBitHack</a></li>
+</ul></div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../ru/mod/directives.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/directives.html" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/event.html.en b/docs/manual/mod/event.html.en
index 3df2054c..7d3fc42f 100644
--- a/docs/manual/mod/event.html.en
+++ b/docs/manual/mod/event.html.en
@@ -135,6 +135,6 @@ MPM</td></tr>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/event.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/index.html b/docs/manual/mod/index.html
index a7474c15..262a06db 100644
--- a/docs/manual/mod/index.html
+++ b/docs/manual/mod/index.html
@@ -23,3 +23,7 @@ Content-type: text/html; charset=EUC-KR
URI: index.html.tr.utf8
Content-Language: tr
Content-type: text/html; charset=UTF-8
+
+URI: index.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/mod/index.html.de b/docs/manual/mod/index.html.de
index cbf3de74..69ee98ef 100644
--- a/docs/manual/mod/index.html.de
+++ b/docs/manual/mod/index.html.de
@@ -23,7 +23,8 @@
<a href="../es/mod/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>
@@ -192,8 +193,9 @@ hosting</dd>
<a href="../es/mod/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/index.html.en b/docs/manual/mod/index.html.en
index 3f89ef75..2aafa634 100644
--- a/docs/manual/mod/index.html.en
+++ b/docs/manual/mod/index.html.en
@@ -23,7 +23,8 @@
<a href="../es/mod/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>
@@ -190,8 +191,9 @@ hosting</dd>
<a href="../es/mod/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/index.html.es b/docs/manual/mod/index.html.es
index 260b87ec..5a29b014 100644
--- a/docs/manual/mod/index.html.es
+++ b/docs/manual/mod/index.html.es
@@ -23,7 +23,8 @@
<a href="../es/mod/" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>
@@ -193,8 +194,9 @@ hosting</dd>
<a href="../es/mod/" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="../faq/">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/index.html.ja.utf8 b/docs/manual/mod/index.html.ja.utf8
index d16c0b2c..e15e06c0 100644
--- a/docs/manual/mod/index.html.ja.utf8
+++ b/docs/manual/mod/index.html.ja.utf8
@@ -23,7 +23,8 @@
<a href="../es/mod/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>
@@ -178,8 +179,9 @@ hosting</dd>
<a href="../es/mod/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/index.html.ko.euc-kr b/docs/manual/mod/index.html.ko.euc-kr
index ee7cadf6..a07271d2 100644
--- a/docs/manual/mod/index.html.ko.euc-kr
+++ b/docs/manual/mod/index.html.ko.euc-kr
@@ -23,7 +23,8 @@
<a href="../es/mod/" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/mod/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>
@@ -172,8 +173,9 @@ hosting</dd>
<a href="../es/mod/" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/mod/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/index.html.tr.utf8 b/docs/manual/mod/index.html.tr.utf8
index b30ad888..5da17b4f 100644
--- a/docs/manual/mod/index.html.tr.utf8
+++ b/docs/manual/mod/index.html.tr.utf8
@@ -23,7 +23,8 @@
<a href="../es/mod/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/mod/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Apache dağıtımının parçası olarak gelen modüllerin tamamı aşağıda
@@ -184,8 +185,9 @@ saÄŸlar</dd>
<a href="../es/mod/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="../tr/mod/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/index.html.zh-cn b/docs/manual/mod/index.html.zh-cn
new file mode 100644
index 00000000..3a6ee758
--- /dev/null
+++ b/docs/manual/mod/index.html.zh-cn
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>模å—索引 - Apache HTTP æœåŠ¡å™¨</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="module-index"><div id="page-header">
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.2</a></div><div id="page-content"><div id="preamble"><h1>模å—索引</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="../en/mod/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/mod/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+ <p>
+ 下é¢æ˜¯ Apache å‘行版中的所有模å—列表。å‚è§æŒ‰ç…§å­—æ¯é¡ºåºç½—列的<a href="directives.html">所有 Apache 指令</a>。
+ </p>
+ </div>
+<div id="quickview"><ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#core">核心特性与多处ç†æ¨¡å—(MPM)</a></li><li><img alt="" src="../images/down.gif" /> <a href="#other">其它模å—</a></li></ul><h3>å‚è§</h3>
+<ul class="seealso">
+<li><a href="../mpm.html">多处ç†æ¨¡å—(MPM)</a>
+ </li>
+<li><a href="quickreference.html">指令快速索引</a>
+ </li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section"><h2><a id="core" name="core">核心特性与多处ç†æ¨¡å—(MPM)</a></h2>
+<dl>
+<dt><a href="core.html">core</a></dt><dd>Core Apache HTTP Server features that are always
+available</dd>
+<dt><a href="mpm_common.html">mpm_common</a></dt><dd class="separate">A collection of directives that are implemented by
+more than one multi-processing module (MPM)</dd>
+<dt><a href="beos.html">beos</a></dt><dd>This Multi-Processing Module is optimized for BeOS.</dd>
+<dt><a href="event.html">event</a></dt><dd>An experimental variant of the standard <code class="module"><a href="../mod/worker.html">worker</a></code>
+MPM</dd>
+<dt><a href="mpm_netware.html">mpm_netware</a></dt><dd>Multi-Processing Module implementing an exclusively threaded web
+ server optimized for Novell NetWare</dd>
+<dt><a href="mpmt_os2.html">mpmt_os2</a></dt><dd>Hybrid multi-process, multi-threaded MPM for OS/2</dd>
+<dt><a href="prefork.html">prefork</a></dt><dd>Implements a non-threaded, pre-forking web server</dd>
+<dt><a href="mpm_winnt.html">mpm_winnt</a></dt><dd>This Multi-Processing Module is optimized for Windows
+NT.</dd>
+<dt><a href="worker.html">worker</a></dt><dd>Multi-Processing Module implementing a hybrid
+ multi-threaded multi-process web server</dd>
+</dl></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section"><h2><a id="other" name="other">其它模å—</a></h2>
+<p class="letters"><a href="#A">&nbsp;A&nbsp;</a> | <a href="#C">&nbsp;C&nbsp;</a> | <a href="#D">&nbsp;D&nbsp;</a> | <a href="#E">&nbsp;E&nbsp;</a> | <a href="#F">&nbsp;F&nbsp;</a> | <a href="#H">&nbsp;H&nbsp;</a> | <a href="#I">&nbsp;I&nbsp;</a> | <a href="#L">&nbsp;L&nbsp;</a> | <a href="#M">&nbsp;M&nbsp;</a> | <a href="#N">&nbsp;N&nbsp;</a> | <a href="#P">&nbsp;P&nbsp;</a> | <a href="#R">&nbsp;R&nbsp;</a> | <a href="#S">&nbsp;S&nbsp;</a> | <a href="#U">&nbsp;U&nbsp;</a> | <a href="#V">&nbsp;V&nbsp;</a></p>
+<dl><dt><a href="mod_actions.html" id="A" name="A">mod_actions</a></dt><dd>This module provides for executing CGI scripts based on
+media type or request method.</dd>
+<dt><a href="mod_alias.html">mod_alias</a></dt><dd>Provides for mapping different parts of the host
+ filesystem in the document tree and for URL redirection</dd>
+<dt><a href="mod_asis.html">mod_asis</a></dt><dd>Sends files that contain their own
+HTTP headers</dd>
+<dt><a href="mod_auth_basic.html">mod_auth_basic</a></dt><dd>Basic authentication</dd>
+<dt><a href="mod_auth_digest.html">mod_auth_digest</a></dt><dd>User authentication using MD5
+ Digest Authentication.</dd>
+<dt><a href="mod_authn_alias.html">mod_authn_alias</a></dt><dd>Provides the ability to create extended authentication
+ providers based on actual providers</dd>
+<dt><a href="mod_authn_anon.html">mod_authn_anon</a></dt><dd>Allows "anonymous" user access to authenticated
+ areas</dd>
+<dt><a href="mod_authn_dbd.html">mod_authn_dbd</a></dt><dd>User authentication using an SQL database</dd>
+<dt><a href="mod_authn_dbm.html">mod_authn_dbm</a></dt><dd>User authentication using DBM files</dd>
+<dt><a href="mod_authn_default.html">mod_authn_default</a></dt><dd>Authentication fallback module</dd>
+<dt><a href="mod_authn_file.html">mod_authn_file</a></dt><dd>User authentication using text files</dd>
+<dt><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></dt><dd>Allows an LDAP directory to be used to store the database
+for HTTP Basic authentication.</dd>
+<dt><a href="mod_authz_dbm.html">mod_authz_dbm</a></dt><dd>Group authorization using DBM files</dd>
+<dt><a href="mod_authz_default.html">mod_authz_default</a></dt><dd>Authorization fallback module</dd>
+<dt><a href="mod_authz_groupfile.html">mod_authz_groupfile</a></dt><dd>Group authorization using plaintext files</dd>
+<dt><a href="mod_authz_host.html">mod_authz_host</a></dt><dd>Group authorizations based on host (name or IP
+address)</dd>
+<dt><a href="mod_authz_owner.html">mod_authz_owner</a></dt><dd>Authorization based on file ownership</dd>
+<dt><a href="mod_authz_user.html">mod_authz_user</a></dt><dd>User Authorization</dd>
+<dt><a href="mod_autoindex.html">mod_autoindex</a></dt><dd>Generates directory indexes,
+ automatically, similar to the Unix <code>ls</code> command or the
+ Win32 <code>dir</code> shell command</dd>
+<dt><a href="mod_cache.html" id="C" name="C">mod_cache</a></dt><dd>Content cache keyed to URIs.</dd>
+<dt><a href="mod_cern_meta.html">mod_cern_meta</a></dt><dd>CERN httpd metafile semantics</dd>
+<dt><a href="mod_cgi.html">mod_cgi</a></dt><dd>Execution of CGI scripts</dd>
+<dt><a href="mod_cgid.html">mod_cgid</a></dt><dd>Execution of CGI scripts using an
+ external CGI daemon</dd>
+<dt><a href="mod_charset_lite.html">mod_charset_lite</a></dt><dd>Specify character set translation or recoding</dd>
+<dt><a href="mod_dav.html" id="D" name="D">mod_dav</a></dt><dd>Distributed Authoring and Versioning
+(<a href="http://www.webdav.org/">WebDAV</a>) functionality</dd>
+<dt><a href="mod_dav_fs.html">mod_dav_fs</a></dt><dd>filesystem provider for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd>
+<dt><a href="mod_dav_lock.html">mod_dav_lock</a></dt><dd>generic locking module for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd>
+<dt><a href="mod_dbd.html">mod_dbd</a></dt><dd>Manages SQL database connections</dd>
+<dt><a href="mod_deflate.html">mod_deflate</a></dt><dd>Compress content before it is delivered to the
+client</dd>
+<dt><a href="mod_dir.html">mod_dir</a></dt><dd>Provides for "trailing slash" redirects and
+ serving directory index files</dd>
+<dt><a href="mod_disk_cache.html">mod_disk_cache</a></dt><dd>Content cache storage manager keyed to URIs</dd>
+<dt><a href="mod_dumpio.html">mod_dumpio</a></dt><dd>Dumps all I/O to error log as desired.</dd>
+<dt><a href="mod_echo.html" id="E" name="E">mod_echo</a></dt><dd>A simple echo server to illustrate protocol
+modules</dd>
+<dt><a href="mod_env.html">mod_env</a></dt><dd>Modifies the environment which is passed to CGI scripts and
+SSI pages</dd>
+<dt><a href="mod_example.html">mod_example</a></dt><dd>Illustrates the Apache module API</dd>
+<dt><a href="mod_expires.html">mod_expires</a></dt><dd>Generation of <code>Expires</code> and
+<code>Cache-Control</code> HTTP headers according to user-specified
+criteria</dd>
+<dt><a href="mod_ext_filter.html">mod_ext_filter</a></dt><dd>Pass the response body through an external program before
+delivery to the client</dd>
+<dt><a href="mod_file_cache.html" id="F" name="F">mod_file_cache</a></dt><dd>Caches a static list of files in memory</dd>
+<dt><a href="mod_filter.html">mod_filter</a></dt><dd>Context-sensitive smart filter configuration module</dd>
+<dt><a href="mod_headers.html" id="H" name="H">mod_headers</a></dt><dd>Customization of HTTP request and response
+headers</dd>
+<dt><a href="mod_ident.html" id="I" name="I">mod_ident</a></dt><dd>RFC 1413 ident lookups</dd>
+<dt><a href="mod_imagemap.html">mod_imagemap</a></dt><dd>Server-side imagemap processing</dd>
+<dt><a href="mod_include.html">mod_include</a></dt><dd>Server-parsed html documents (Server Side Includes)</dd>
+<dt><a href="mod_info.html">mod_info</a></dt><dd>Provides a comprehensive overview of the server
+configuration</dd>
+<dt><a href="mod_isapi.html">mod_isapi</a></dt><dd>ISAPI Extensions within Apache for Windows</dd>
+<dt><a href="mod_ldap.html" id="L" name="L">mod_ldap</a></dt><dd>LDAP connection pooling and result caching services for use
+by other LDAP modules</dd>
+<dt><a href="mod_log_config.html">mod_log_config</a></dt><dd>Logging of the requests made to the server</dd>
+<dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt><dd>Forensic Logging of the requests made to the server</dd>
+<dt><a href="mod_logio.html">mod_logio</a></dt><dd>Logging of input and output bytes per request</dd>
+<dt><a href="mod_mem_cache.html" id="M" name="M">mod_mem_cache</a></dt><dd>Content cache keyed to URIs</dd>
+<dt><a href="mod_mime.html">mod_mime</a></dt><dd>Associates the requested filename's extensions
+ with the file's behavior (handlers and filters)
+ and content (mime-type, language, character set and
+ encoding)</dd>
+<dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt><dd>Determines the MIME type of a file
+ by looking at a few bytes of its contents</dd>
+<dt><a href="mod_negotiation.html" id="N" name="N">mod_negotiation</a></dt><dd>Provides for <a href="../content-negotiation.html">content negotiation</a></dd>
+<dt><a href="mod_nw_ssl.html">mod_nw_ssl</a></dt><dd>Enable SSL encryption for NetWare</dd>
+<dt><a href="mod_proxy.html" id="P" name="P">mod_proxy</a></dt><dd>HTTP/1.1 proxy/gateway server</dd>
+<dt><a href="mod_proxy_ajp.html">mod_proxy_ajp</a></dt><dd>AJP support module for
+<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
+<dt><a href="mod_proxy_balancer.html">mod_proxy_balancer</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for load balancing </dd>
+<dt><a href="mod_proxy_connect.html">mod_proxy_connect</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for
+<code>CONNECT</code> request handling</dd>
+<dt><a href="mod_proxy_ftp.html">mod_proxy_ftp</a></dt><dd>FTP support module for
+<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
+<dt><a href="mod_proxy_http.html">mod_proxy_http</a></dt><dd>HTTP support module for
+<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
+<dt><a href="mod_proxy_scgi.html">mod_proxy_scgi</a></dt><dd>SCGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
+<dt><a href="mod_reqtimeout.html" id="R" name="R">mod_reqtimeout</a></dt><dd>Set timeout and minimum data rate for receiving requests
+</dd>
+<dt><a href="mod_rewrite.html">mod_rewrite</a></dt><dd>Provides a rule-based rewriting engine to rewrite requested
+URLs on the fly</dd>
+<dt><a href="mod_setenvif.html" id="S" name="S">mod_setenvif</a></dt><dd>Allows the setting of environment variables based
+on characteristics of the request</dd>
+<dt><a href="mod_so.html">mod_so</a></dt><dd>Loading of executable code and
+modules into the server at start-up or restart time</dd>
+<dt><a href="mod_speling.html">mod_speling</a></dt><dd>Attempts to correct mistaken URLs that
+users might have entered by ignoring capitalization and by
+allowing up to one misspelling</dd>
+<dt><a href="mod_ssl.html">mod_ssl</a></dt><dd>Strong cryptography using the Secure Sockets
+Layer (SSL) and Transport Layer Security (TLS) protocols</dd>
+<dt><a href="mod_status.html">mod_status</a></dt><dd>Provides information on server activity and
+performance</dd>
+<dt><a href="mod_substitute.html">mod_substitute</a></dt><dd>Perform search and replace operations on response bodies</dd>
+<dt><a href="mod_suexec.html">mod_suexec</a></dt><dd>Allows CGI scripts to run as a specified user
+and Group</dd>
+<dt><a href="mod_unique_id.html" id="U" name="U">mod_unique_id</a></dt><dd>Provides an environment variable with a unique
+identifier for each request</dd>
+<dt><a href="mod_userdir.html">mod_userdir</a></dt><dd>User-specific directories</dd>
+<dt><a href="mod_usertrack.html">mod_usertrack</a></dt><dd>
+<em>Clickstream</em> logging of user activity on a site
+</dd>
+<dt><a href="mod_version.html" id="V" name="V">mod_version</a></dt><dd>Version dependent configuration</dd>
+<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Provides for dynamically configured mass virtual
+hosting</dd>
+</dl></div></div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="../en/mod/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/mod/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_actions.html.de b/docs/manual/mod/mod_actions.html.de
index 685270ea..4c2f2bc0 100644
--- a/docs/manual/mod/mod_actions.html.de
+++ b/docs/manual/mod/mod_actions.html.de
@@ -161,6 +161,6 @@
<a href="../ja/mod/mod_actions.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_actions.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_actions.html.en b/docs/manual/mod/mod_actions.html.en
index ee65a880..38ccc8f0 100644
--- a/docs/manual/mod/mod_actions.html.en
+++ b/docs/manual/mod/mod_actions.html.en
@@ -159,6 +159,6 @@ method.</td></tr>
<a href="../ja/mod/mod_actions.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_actions.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_actions.html.ja.utf8 b/docs/manual/mod/mod_actions.html.ja.utf8
index 051f816a..bfbf09ab 100644
--- a/docs/manual/mod/mod_actions.html.ja.utf8
+++ b/docs/manual/mod/mod_actions.html.ja.utf8
@@ -169,6 +169,6 @@ Apache 2.1 ã§å°Žå…¥ã•ã‚Œã¾ã—ãŸ</td></tr>
<a href="../ja/mod/mod_actions.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_actions.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_actions.html.ko.euc-kr b/docs/manual/mod/mod_actions.html.ko.euc-kr
index 6d67a1b2..c7ca90ee 100644
--- a/docs/manual/mod/mod_actions.html.ko.euc-kr
+++ b/docs/manual/mod/mod_actions.html.ko.euc-kr
@@ -161,6 +161,6 @@
<a href="../ja/mod/mod_actions.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_actions.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_alias.html.en b/docs/manual/mod/mod_alias.html.en
index 032431c3..11277cf8 100644
--- a/docs/manual/mod/mod_alias.html.en
+++ b/docs/manual/mod/mod_alias.html.en
@@ -139,7 +139,10 @@
<dl><dd><code>Alias /icons/ /usr/local/apache/icons/</code></dd></dl>
- <p>then the url <code>/icons</code> will not be aliased.</p>
+ <p>then the url <code>/icons</code> will not be aliased, as it lacks
+ that trailing /. Likewise, if you omit the slash on the
+ <var>url-path</var> then you must also omit it from the
+ <var>file-path</var>.</p>
<p>Note that you may need to specify additional <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> sections which
cover the <em>destination</em> of aliases. Aliasing occurs before
@@ -511,6 +514,6 @@ and designates the target as a CGI script</td></tr>
<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_alias.html.ja.utf8 b/docs/manual/mod/mod_alias.html.ja.utf8
index 31362589..e5685806 100644
--- a/docs/manual/mod/mod_alias.html.ja.utf8
+++ b/docs/manual/mod/mod_alias.html.ja.utf8
@@ -400,6 +400,6 @@ CGI スクリプトã«æŒ‡å®š</td></tr>
<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_alias.html.ko.euc-kr b/docs/manual/mod/mod_alias.html.ko.euc-kr
index c3d537bd..703d7239 100644
--- a/docs/manual/mod/mod_alias.html.ko.euc-kr
+++ b/docs/manual/mod/mod_alias.html.ko.euc-kr
@@ -353,6 +353,6 @@ Alias /foo /gaq
<a href="../ko/mod/mod_alias.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_alias.html.tr.utf8 b/docs/manual/mod/mod_alias.html.tr.utf8
index 62919abd..c79077ed 100644
--- a/docs/manual/mod/mod_alias.html.tr.utf8
+++ b/docs/manual/mod/mod_alias.html.tr.utf8
@@ -140,8 +140,10 @@ eşlenmesini sağlar ve URL yönlendirmesi yapar.</td></tr>
<dl><dd><code>Alias /icons/ /usr/local/apache/icons/</code></dd></dl>
- <p>diye bir tanım yaparsanız <code>/icons</code> URL’si için bir
- <code class="directive">Alias</code> kullanılmayacaktır.</p>
+ <p>diye bir tanım yaparsanız <code>/icons</code> URL’si için, sonunda bir /
+ yokmuşçasına bir <code class="directive">Alias</code> kullanılmayacaktır. Benzer
+ şekilde, <var>URL-yolu</var> belirtirken sonda / kullanmazsanız
+ <var>dosya-yolu</var> için de sonda / kullanmamalısınız.</p>
<p><code class="directive">Alias</code> <em>hedefleri</em> için ek <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> bölümleri
belirtmeniz gerekebileceğine dikkat ediniz. <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> bölümlerinden önce yer alan
@@ -495,6 +497,6 @@ eşler ve hedefi bir CGI betiği olarak çalıştırır.</td></tr>
<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_alias.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_asis.html.en b/docs/manual/mod/mod_asis.html.en
index a9c3d31c..6e90069d 100644
--- a/docs/manual/mod/mod_asis.html.en
+++ b/docs/manual/mod/mod_asis.html.en
@@ -107,6 +107,6 @@ HTTP headers</td></tr>
<a href="../ja/mod/mod_asis.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_asis.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_asis.html.ja.utf8 b/docs/manual/mod/mod_asis.html.ja.utf8
index b36cf030..48afde10 100644
--- a/docs/manual/mod/mod_asis.html.ja.utf8
+++ b/docs/manual/mod/mod_asis.html.ja.utf8
@@ -106,6 +106,6 @@
<a href="../ja/mod/mod_asis.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_asis.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_asis.html.ko.euc-kr b/docs/manual/mod/mod_asis.html.ko.euc-kr
index a687a2d2..ea487a00 100644
--- a/docs/manual/mod/mod_asis.html.ko.euc-kr
+++ b/docs/manual/mod/mod_asis.html.ko.euc-kr
@@ -105,6 +105,6 @@
<a href="../ja/mod/mod_asis.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_asis.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_auth_basic.html b/docs/manual/mod/mod_auth_basic.html
index 1df9fdba..a3f5884f 100644
--- a/docs/manual/mod/mod_auth_basic.html
+++ b/docs/manual/mod/mod_auth_basic.html
@@ -4,6 +4,10 @@ URI: mod_auth_basic.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: mod_auth_basic.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: mod_auth_basic.html.ja.utf8
Content-Language: ja
Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/mod/mod_auth_basic.html.en b/docs/manual/mod/mod_auth_basic.html.en
index 6b38b1d0..ae8e970d 100644
--- a/docs/manual/mod/mod_auth_basic.html.en
+++ b/docs/manual/mod/mod_auth_basic.html.en
@@ -22,6 +22,7 @@
<div id="preamble"><h1>Apache Module mod_auth_basic</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_auth_basic.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_auth_basic.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
@@ -119,9 +120,10 @@ lower level modules</td></tr>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_auth_basic.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_auth_basic.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_auth_basic.html.fr b/docs/manual/mod/mod_auth_basic.html.fr
new file mode 100644
index 00000000..0b95bbb1
--- /dev/null
+++ b/docs/manual/mod/mod_auth_basic.html.fr
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_auth_basic - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_auth_basic</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_auth_basic.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification de base</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>auth_basic_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_auth_basic.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.1 d'Apache</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Ce module permet d'utiliser l'authentification basique HTTP pour
+ restreindre l'accès en recherchant les utilisateurs dans les
+ fournisseurs d'authentification spécifiés. Il est en général
+ combiné avec au moins un module d'authentification comme
+ <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et un module d'autorisation comme
+ <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>. L'authentification HTTP à
+ base de condensé, quant à elle, est fournie par le module
+ <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>. </p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#authbasicauthoritative">AuthBasicAuthoritative</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authbasicprovider">AuthBasicProvider</a></li>
+</ul>
+<h3>Voir aussi</h3>
+<ul class="seealso">
+<li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li>
+<li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li>
+<li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li>
+<li><code class="directive"><a href="../mod/core.html#satisfy">Satisfy</a></code></li>
+<li><a href="../howto/auth.html">Mode d'emploi de
+l'authentification</a></li>
+</ul></div>
+
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthBasicAuthoritative" id="AuthBasicAuthoritative">AuthBasicAuthoritative</a> <a name="authbasicauthoritative" id="authbasicauthoritative">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si les processus d'autorisation et
+d'authentification peuvent être confiés à des modules de plus bas
+niveau</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthBasicAuthoritative On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthBasicAuthoritative On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_basic</td></tr>
+</table>
+ <p>Normalement, chaque module d'autorisation énuméré dans la
+ directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> va tenter de
+ vérifier l'utilisateur, et si ce dernier n'est trouvé dans aucun des
+ fournisseurs, l'accès sera refusé. Définir explicitement la
+ directive <code class="directive">AuthBasicAuthoritative</code> à
+ <code>Off</code> permet de confier l'autorisation et
+ l'authentification à d'autres modules non basés sur les fournisseurs
+ si <strong>aucun identifiant utilisateur</strong> ou aucune
+ <strong>règle</strong> ne correspondent à l'identifiant utilisateur
+ spécifié. Ceci ne peut s'avérer nécessaire que lorsque
+ <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> est combiné avec des modules tiers
+ qui n'ont pas été configurés à l'aide de la directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code>. Lorsqu'on
+ utilise de tels modules, l'ordre dans lequel s'effectue le
+ traitement est défini dans le code source des modules et n'est pas
+ configurable.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthBasicProvider" id="AuthBasicProvider">AuthBasicProvider</a> <a name="authbasicprovider" id="authbasicprovider">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le(s) fournisseur(s) d'authentification pour
+cette zone du site web</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthBasicProvider <var>nom fournisseur</var>
+[<var>nom fournisseur</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthBasicProvider file</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_basic</td></tr>
+</table>
+ <p>La directive <code class="directive">AuthBasicProvider</code> permet de
+ définir le fournisseur utilisé pour authentifier les utilisateurs
+ pour la zone du site web concernée. Le fournisseur par défaut
+ <code>file</code> est implémenté par le module
+ <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. Assurez-vous que le module
+ implémentant le fournisseur choisi soit bien présent dans le
+ serveur.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ &lt;Location /secure&gt;<br />
+ <span class="indent">
+ AuthType basic<br />
+ AuthName "private area"<br />
+ AuthBasicProvider dbm<br />
+ AuthDBMType SDBM<br />
+ AuthDBMUserFile /www/etc/dbmpasswd<br />
+ Require valid-user<br />
+ </span>
+ &lt;/Location&gt;
+ </code></p></div>
+
+ <p>Les différents fournisseurs disponibles sont implémentés par les
+ modules <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>,
+ <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>, et
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>.</p>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_auth_basic.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_auth_basic.html.ja.utf8 b/docs/manual/mod/mod_auth_basic.html.ja.utf8
index 299b5d68..211ad08a 100644
--- a/docs/manual/mod/mod_auth_basic.html.ja.utf8
+++ b/docs/manual/mod/mod_auth_basic.html.ja.utf8
@@ -22,6 +22,7 @@
<div id="preamble"><h1>Apache モジュール mod_auth_basic</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_auth_basic.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_auth_basic.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
@@ -127,9 +128,10 @@
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_auth_basic.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_auth_basic.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_auth_basic.html.ko.euc-kr b/docs/manual/mod/mod_auth_basic.html.ko.euc-kr
index 50353d10..17abcaa7 100644
--- a/docs/manual/mod/mod_auth_basic.html.ko.euc-kr
+++ b/docs/manual/mod/mod_auth_basic.html.ko.euc-kr
@@ -22,6 +22,7 @@
<div id="preamble"><h1>¾ÆÆÄÄ¡ ¸ðµâ mod_auth_basic</h1>
<div class="toplang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_auth_basic.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_auth_basic.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
@@ -122,9 +123,10 @@
</div>
<div class="bottomlang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_auth_basic.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_auth_basic.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_auth_digest.html b/docs/manual/mod/mod_auth_digest.html
index eeb065dd..1836f360 100644
--- a/docs/manual/mod/mod_auth_digest.html
+++ b/docs/manual/mod/mod_auth_digest.html
@@ -4,6 +4,10 @@ URI: mod_auth_digest.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: mod_auth_digest.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: mod_auth_digest.html.ko.euc-kr
Content-Language: ko
Content-type: text/html; charset=EUC-KR
diff --git a/docs/manual/mod/mod_auth_digest.html.en b/docs/manual/mod/mod_auth_digest.html.en
index e6d407f9..f717f2f1 100644
--- a/docs/manual/mod/mod_auth_digest.html.en
+++ b/docs/manual/mod/mod_auth_digest.html.en
@@ -22,6 +22,7 @@
<div id="preamble"><h1>Apache Module mod_auth_digest</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_auth_digest.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_auth_digest.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ko/mod/mod_auth_digest.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>User authentication using MD5
@@ -325,8 +326,9 @@ of clients</td></tr>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_auth_digest.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_auth_digest.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ko/mod/mod_auth_digest.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_auth_digest.html.fr b/docs/manual/mod/mod_auth_digest.html.fr
new file mode 100644
index 00000000..d2f02b92
--- /dev/null
+++ b/docs/manual/mod/mod_auth_digest.html.fr
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_auth_digest - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_auth_digest</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_digest.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_auth_digest.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ko/mod/mod_auth_digest.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur utilisant les condensés
+MD5.</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>auth_digest_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_auth_digest.c</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Ce module implémente l'authentification HTTP basée sur les
+ condensés MD5 (<a href="http://www.faqs.org/rfcs/rfc2617.html">RFC2617</a>), et
+ fournit une alternative à <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> plus
+ sécurisée.</p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#authdigestalgorithm">AuthDigestAlgorithm</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authdigestdomain">AuthDigestDomain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authdigestnccheck">AuthDigestNcCheck</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authdigestnonceformat">AuthDigestNonceFormat</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authdigestprovider">AuthDigestProvider</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authdigestqop">AuthDigestQop</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authdigestshmemsize">AuthDigestShmemSize</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation de l'authentification à base de
+condensés</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#msie">Travailler avec MS Internet Explorer</a></li>
+</ul><h3>Voir aussi</h3>
+<ul class="seealso">
+<li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li>
+<li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li>
+<li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li>
+<li><code class="directive"><a href="../mod/core.html#satisfy">Satisfy</a></code></li>
+<li><a href="../howto/auth.html">Mode d'emploi de
+l'authentification</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="using" id="using">Utilisation de l'authentification à base de
+condensés</a></h2>
+
+ <p>L'utilisation de l'authentification à base de condensés MD5 est
+ très simple. Configurez l'authentification normalement, en utilisant
+ <code>AuthType Digest</code> et <code class="directive"><a href="#authdigestprovider">AuthDigestProvider</a></code> à la place
+ de <code>AuthType Basic</code> et <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>. Ajoutez
+ ensuite une directive <code class="directive"><a href="#authdigestdomain">AuthDigestDomain</a></code> contenant au
+ moins la(les) URI(s) racine(s) de la zone à protéger.</p>
+
+ <p>On peut créer les fichiers utilisateur appropriés (au format
+ texte) à l'aide de l'outil <code class="program"><a href="../programs/htdigest.html">htdigest</a></code>.</p>
+
+ <div class="example"><h3>Exemple :</h3><p><code>
+ &lt;Location /private/&gt;<br />
+ <span class="indent">
+ AuthType Digest<br />
+ AuthName "private area"<br />
+ AuthDigestDomain /private/ http://mirror.my.dom/private2/<br />
+ <br />
+ AuthDigestProvider file<br />
+ AuthUserFile /web/auth/.digest_pw<br />
+ Require valid-user<br />
+ </span>
+ &lt;/Location&gt;
+ </code></p></div>
+
+ <div class="note"><h3>Note</h3>
+ <p>L'authentification à base de condensés MD5 est plus sécurisée que
+ l'authentification Basic, mais ne fonctionne qu'avec les navigateurs
+ qui la supportent. En septembre 2004, les principaux navigateurs
+ supportant l'authentification à base de condensés MD5 incluaient <a href="http://www.w3.org/Amaya/">Amaya</a>, <a href="http://konqueror.kde.org/">Konqueror</a>, <a href="http://www.microsoft.com/windows/ie/">MS Internet Explorer</a>
+ pour Mac OS X et Windows (bien que la version Windows échoue lorsque
+ la requête comporte une chaîne d'arguments -- voir plus loin "<a href="#msie">Travailler avec MS Internet Explorer</a>" pour
+ contourner ce problème), <a href="http://www.mozilla.org">Mozilla</a>, <a href="http://channels.netscape.com/ns/browsers/download.jsp">
+ Netscape</a> 7, <a href="http://www.opera.com/">Opera</a>, et <a href="http://www.apple.com/safari/">Safari</a>. <a href="http://lynx.isc.org/">lynx</a> ne supporte
+ <strong>pas</strong> l'authentification à base de condensés MD5.
+ Comme l'authentification à base de condensés MD5 est moins répandue
+ que l'authentification Basic, vous ne devez l'utiliser que dans des
+ environnements où tous les utilisateurs disposeront d'un navigateur
+ la supportant.</p>
+ </div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="msie" id="msie">Travailler avec MS Internet Explorer</a></h2>
+ <p>L'implémentation de l'authentification à base de condensé dans
+ les versions anciennes d'Internet Explorer pour Windows (5 et 6)
+ posait problème, car les requêtes de type <code>GET</code>
+ comportant une chaîne d'arguments ne respectaient pas les RFC. Il y
+ a plusieurs manières de contourner ce problème.</p>
+
+ <p>
+ La première méthode consiste à utiliser des requêtes de type
+ <code>POST</code> plutôt que <code>GET</code> pour transmettre les
+ données à votre programme. Cette méthode constitue l'approche la
+ plus simple dans le cas où votre application peut fonctionner avec
+ cette limitation.
+ </p>
+
+ <p>Depuis la version 2.0.51, Apache propose aussi de contourner le
+ problème à l'aide de la variable d'environnement
+ <code>AuthDigestEnableQueryStringHack</code>. Si
+ <code>AuthDigestEnableQueryStringHack</code> est définie pour la
+ requête, Apache va prendre des mesures pour contourner la bogue MSIE
+ et en particulier va exclure la chaîne d'arguments de la comparaison
+ des condensés. L'utilisation de cette méthode peut se traduire par
+ ceci :</p>
+
+ <div class="example"><h3>Utilisation de l'authentification à base de condensé
+ avec MSIE :</h3><p><code>
+ BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
+ </code></p></div>
+
+ <p>Cette correction n'est pas nécessaire avec MSIE 7, bien que son
+ activation ne pose pas de problème de compatibilité ou de surcharge
+ significative.</p>
+
+ <p>Voir la directive <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code> pour plus de détails
+ à propos de la définition conditionnelle des variables
+ d'environnement.</p>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthDigestAlgorithm" id="AuthDigestAlgorithm">AuthDigestAlgorithm</a> <a name="authdigestalgorithm" id="authdigestalgorithm">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sélectionne l'algorithme utilisé pour calculer les
+condensés du défit et de sa réponse</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestAlgorithm MD5|MD5-sess</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestAlgorithm MD5</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr>
+</table>
+ <p>La directive <code class="directive">AuthDigestAlgorithm</code> permet de
+ sélectionner l'algorithme utilisé pour calculer les condensés du
+ défit et de sa réponse.</p>
+
+ <div class="note">
+ <code>MD5-sess</code> n'est pas encore correctement implémenté.
+ </div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthDigestDomain" id="AuthDigestDomain">AuthDigestDomain</a> <a name="authdigestdomain" id="authdigestdomain">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les URIs qui se trouvent dans le même espace de protection
+concernant l'authentification à base de condensés</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr>
+</table>
+ <p>La directive <code class="directive">AuthDigestDomain</code> vous permet
+ de spécifier un ou plusieurs URIs se trouvant dans le même
+ espace de protection (c'est à dire utilisant le même utilisateur/mot
+ de passe et se trouvant dans le même domaine). Les URIs spécifiés
+ sont des préfixes ; le client doit savoir que tous les URIs situés
+ sous ces préfixes seront protégés par le même utilisateur/mot de
+ passe. Les URIs peuvent être soit des URIs absolus (c'est à dire
+ avec protocole, nom serveur, port, etc...), soit des URIs
+ relatifs.</p>
+
+ <p>Cette directive doit toujours être présente et contenir au moins
+ le(s) URI(s) racine(s) pour cet espace. Dans le cas contraire, le
+ client va envoyer un en-tête d'autorisation avec <em>chaque
+ requête</em> à destination de ce serveur. Outre une augmentation de
+ la taille de la requête, les performances vont s'en trouver
+ affectées si la directive <code class="directive"><a href="#authdigestnccheck">AuthDigestNcCheck</a></code> est définie à
+ On.</p>
+
+ <p>Les URIs spécifiés peuvent aussi référencer différents serveurs,
+ auquel cas les clients (pour ceux qui sont à même de le comprendre) vont
+ partager l'utilisateur/mot de passe entre plusieurs serveurs sans le
+ demander à l'utilisateur à chaque fois.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthDigestNcCheck" id="AuthDigestNcCheck">AuthDigestNcCheck</a> <a name="authdigestnccheck" id="authdigestnccheck">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive la vérification du nombre d'envois du
+nombre à valeur unique (nonce) par le serveur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestNcCheck On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestNcCheck Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr>
+</table>
+ <div class="note">
+ Non encore implémenté.
+ </div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthDigestNonceFormat" id="AuthDigestNonceFormat">AuthDigestNonceFormat</a> <a name="authdigestnonceformat" id="authdigestnonceformat">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la manière dont le nombre à valeur unique du
+serveur (nonce) est généré</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestNonceFormat <var>format</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr>
+</table>
+ <div class="note">Non encore implémenté.</div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthDigestNonceLifetime" id="AuthDigestNonceLifetime">AuthDigestNonceLifetime</a> <a name="authdigestnoncelifetime" id="authdigestnoncelifetime">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de validité du nombre à valeur unique du
+serveur (nonce)</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestNonceLifetime <var>secondes</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestNonceLifetime 300</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr>
+</table>
+ <p>La directive <code class="directive">AuthDigestNonceLifetime</code>
+ permet de contrôler la durée de validité du nombre à valeur unique
+ du serveur (nonce). Lorsque le client contacte le serveur en
+ utilisant un nonce dont la validité a expiré, le serveur renvoie un
+ code d'erreur 401 avec <code>stale=true</code>. Si
+ <var>secondes</var> est supérieur à 0, il spécifie la durée de
+ validité du nonce ; il est en général déconseillé d'affecter à cet
+ argument une valeur inférieure à 10 secondes. Si
+ <var>secondes</var> est inférieur à 0, le nonce n'expire jamais.
+
+ </p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthDigestProvider" id="AuthDigestProvider">AuthDigestProvider</a> <a name="authdigestprovider" id="authdigestprovider">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le(s) fournisseurs(s) d'authentification pour la
+zone du site web concernée</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestProvider <var>nom fournisseur</var>
+[<var>nom fournisseur</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestProvider file</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr>
+</table>
+ <p>La directive <code class="directive">AuthDigestProvider</code> permet de
+ définir quel fournisseur d'authentification sera utilisé pour
+ authentifier les utilisateurs pour la zone du site web concernée.
+ Assurez-vous que le module implémentant le fournisseur
+ d'authentification choisi soit bien présent dans le serveur. Le
+ fournisseur par défaut <code>file</code> est implémenté par le
+ module <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>.</p>
+
+ <p>Voir <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>,
+ <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, et <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>
+ pour la liste des fournisseurs disponibles.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthDigestQop" id="AuthDigestQop">AuthDigestQop</a> <a name="authdigestqop" id="authdigestqop">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le niveau de protection fourni par
+l'authentification à base de condensé</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestQop none|auth|auth-int [auth|auth-int]</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestQop auth</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr>
+</table>
+ <p>La directive <code class="directive">AuthDigestQop</code> permet de
+ définir le <dfn>niveau de protection</dfn> fourni. <code>auth</code>
+ ne fournit que l'authentification (nom utilisateur/mot de passe) ;
+ <code>auth-int</code> fournit l'authentification plus un contrôle
+ d'intégrité (un condensé MD5 de l'entité est aussi calculé et
+ vérifié) ; avec <code>none</code>, le module va utiliser l'ancien
+ algorithme de condensés RFC-2069 (qui n'effectue pas de contrôle
+ d'intégrité). On peut spécifier à la fois <code>auth</code> et
+ <code>auth-int</code>, auquel cas c'est le navigateur qui va choisir
+ lequel des deux utiliser. <code>none</code> ne doit être utilisé que
+ dans le cas où le navigateur ne serait pas à même (pour une raison
+ ou pour une autre) de relever le défit qu'il recevrait si un autre
+ niveau de protection était défini.</p>
+
+ <div class="note">
+ <code>auth-int</code> n'est pas encore implémenté.
+ </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthDigestShmemSize" id="AuthDigestShmemSize">AuthDigestShmemSize</a> <a name="authdigestshmemsize" id="authdigestshmemsize">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité de mémoire partagée à allouer afin de conserver
+les informations à propos des clients</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestShmemSize <var>taille</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestShmemSize 1000</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr>
+</table>
+ <p>La directive <code class="directive">AuthDigestShmemSize</code> permet de
+ définir la quantité de mémoire partagée à allouer au démarrage du
+ serveur afin de conserver les informations à propos des clients.
+ Notez que le segment de mémoire partagée ne peut pas être défini à
+ une taille inférieure à l'espace nécessaire pour conserver les
+ informations à propos d'<em>un</em> client. Cette valeur dépend de
+ votre système. Si vous voulez en déterminer la valeur exacte, vous
+ pouvez simplement définir <code class="directive">AuthDigestShmemSize</code>
+ à <code>0</code> et consulter le message d'erreur que renverra le
+ serveur lorsqu'on essaiera de le démarrer.</p>
+
+ <p>L'argument <var>size</var> s'exprime par défaut en octets, mais
+ vous pouvez faire suivre le nombre par un <code>K</code> ou un
+ <code>M</code> pour spécifier respectivement des KiloOctets ou des
+ MégaOctets. Par exemple, les directives qui suivent sont toutes
+ équivalentes :</p>
+
+ <div class="example"><p><code>
+ AuthDigestShmemSize 1048576<br />
+ AuthDigestShmemSize 1024K<br />
+ AuthDigestShmemSize 1M
+ </code></p></div>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_digest.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_auth_digest.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ko/mod/mod_auth_digest.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_auth_digest.html.ko.euc-kr b/docs/manual/mod/mod_auth_digest.html.ko.euc-kr
index d7c4a49a..d82588c9 100644
--- a/docs/manual/mod/mod_auth_digest.html.ko.euc-kr
+++ b/docs/manual/mod/mod_auth_digest.html.ko.euc-kr
@@ -22,6 +22,7 @@
<div id="preamble"><h1>¾ÆÆÄÄ¡ ¸ðµâ mod_auth_digest</h1>
<div class="toplang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_auth_digest.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_auth_digest.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ko/mod/mod_auth_digest.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
@@ -314,8 +315,9 @@ URIµé</td></tr>
</div>
<div class="bottomlang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_auth_digest.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_auth_digest.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ko/mod/mod_auth_digest.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_alias.html b/docs/manual/mod/mod_authn_alias.html
index 0d181584..6376b210 100644
--- a/docs/manual/mod/mod_authn_alias.html
+++ b/docs/manual/mod/mod_authn_alias.html
@@ -3,3 +3,7 @@
URI: mod_authn_alias.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: mod_authn_alias.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/mod/mod_authn_alias.html.en b/docs/manual/mod/mod_authn_alias.html.en
index d5f9a5e6..162a6e27 100644
--- a/docs/manual/mod/mod_authn_alias.html.en
+++ b/docs/manual/mod/mod_authn_alias.html.en
@@ -21,7 +21,8 @@
<div id="page-content">
<div id="preamble"><h1>Apache Module mod_authn_alias</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/mod/mod_authn_alias.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/mod/mod_authn_alias.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authn_alias.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides the ability to create extended authentication
providers based on actual providers</td></tr>
@@ -145,8 +146,9 @@ the specified alias</td></tr>
</div>
</div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/mod/mod_authn_alias.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/mod/mod_authn_alias.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authn_alias.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_alias.html.fr b/docs/manual/mod/mod_authn_alias.html.fr
new file mode 100644
index 00000000..392e0952
--- /dev/null
+++ b/docs/manual/mod/mod_authn_alias.html.fr
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_authn_alias - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_authn_alias</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_alias.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authn_alias.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet de créer des fournisseurs d'authentification étendus
+à partir des fournisseurs réels</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_alias_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_alias.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.1 d'Apache</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Ce module permet de créer des fournisseurs d'authentification
+ étendus dans le fichier de configuration et de leur assigner un
+ alias. Les fournisseurs aliasés peuvent ensuite être référencés via
+ les directives <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> de la même
+ manière que les fournisseurs d'authentification de base. Outre la
+ possibilité de créer et assigner un alias à un fournisseur
+ d'authentification étendu, ce module permet aussi de référencer le
+ même fournisseur d'authentification étendu au sein de différents
+ contextes.</p>
+
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#authnprovideralias">&lt;AuthnProviderAlias&gt;</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemples</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="example" id="example">Exemples</a></h2>
+
+ <p>Dans cet exemple, des mots de passe sont vérifiés dans deux
+ fichiers textes différents.</p>
+
+ <div class="example"><h3>Vérification à partir de plusieurs fichiers de
+ mots de passe au format texte</h3><p><code>
+
+ # Première vérification<br />
+ &lt;AuthnProviderAlias file fichier1&gt;<br />
+ <span class="indent">
+ AuthUserFile /www/conf/mots-de-passe1<br />
+ </span>
+ &lt;/AuthnProviderAlias&gt;<br />
+ <br />
+ # vérification suivante<br />
+ &lt;AuthnProviderAlias file fichier2&gt; <br />
+ <span class="indent">
+ AuthUserFile /www/conf/mots-de-passe2<br />
+ </span>
+ &lt;/AuthnProviderAlias&gt;<br />
+ <br />
+ &lt;Directory /var/web/pages/secure&gt;<br />
+ <span class="indent">
+ AuthBasicProvider fichier1 fichier2<br />
+ <br />
+ AuthType Basic<br />
+ AuthName "Zone protégée"<br />
+ Require valid-user<br />
+ </span>
+ &lt;/Directory&gt;<br />
+ </code></p></div>
+
+ <p>Dans l'exemple suivant, deux aliases de fournisseur
+ d'authentification ldap différents sont créés à partir du
+ fournisseur ldap. Ceci permet, pour un contexte donné, de
+ mettre en oeuvre une authentification ldap à partir de
+ plusieurs serveurs ldap :</p>
+
+ <div class="example"><h3>Vérification auprès de plusieurs serveurs LDAP</h3><p><code>
+ LoadModule authn_alias_module modules/mod_authn_alias.so<br /><br />
+ &lt;AuthnProviderAlias ldap ldap-alias1&gt;<br />
+ <span class="indent">
+ AuthLDAPBindDN cn=votre-utilisateur,o=ctx<br />
+ AuthLDAPBindPassword votre-mot-de-passe<br />
+ AuthLDAPURL ldap://serveur.ldap/o=ctx<br />
+ </span>
+ &lt;/AuthnProviderAlias&gt;<br /><br />
+ &lt;AuthnProviderAlias ldap ldap-autre-alias&gt;<br />
+ <span class="indent">
+ AuthLDAPBindDN cn=un-autre-utilisateur,o=dev<br />
+ AuthLDAPBindPassword un-autre-mot-de-passe<br />
+ AuthLDAPURL ldap://autre.serveur.ldap/o=dev?cn<br />
+ </span>
+ &lt;/AuthnProviderAlias&gt;<br /><br />
+
+ Alias /secure /webpages/secure<br />
+ &lt;Directory /webpages/secure&gt;<br />
+ <span class="indent">
+ Order deny,allow<br />
+ Allow from all<br /><br />
+
+ AuthBasicProvider ldap-autre-alias ldap-alias1<br /><br />
+
+ AuthType Basic<br />
+ AuthName Zone-protégée-par-LDAP<br />
+ AuthzLDAPAuthoritative off<br />
+ Require valid-user<br />
+ </span>
+ &lt;/Directory&gt;<br />
+ </code></p></div>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthnProviderAlias" id="AuthnProviderAlias">&lt;AuthnProviderAlias&gt;</a> <a name="authnprovideralias" id="authnprovideralias">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe un ensemble de directives qui représentent une
+extension d'un fournisseur d'authentification de base référencé par
+l'alias spécifié</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;AuthnProviderAlias <var>fournisseur-de-base Alias</var>&gt;
+... &lt;/AuthnProviderAlias&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_alias</td></tr>
+</table>
+ <p>Les balises <code class="directive">&lt;AuthnProviderAlias&gt;</code> et
+ <code>&lt;/AuthnProviderAlias&gt;</code> permettent de regrouper des
+ directives qui représentent une extension d'un fournisseur
+ d'authentification de base pouvant être référencée par l'alias
+ spécifié dans les directives <code class="directive"><a href="../mod/mod_auth_basic.html#&#10; authbasicprovider">
+ AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#&#10; authdigestprovider">
+ AuthDigestProvider</a></code>.</p>
+
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_alias.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authn_alias.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_anon.html.en b/docs/manual/mod/mod_authn_anon.html.en
index 84f2722a..d11edf44 100644
--- a/docs/manual/mod/mod_authn_anon.html.en
+++ b/docs/manual/mod/mod_authn_anon.html.en
@@ -219,6 +219,6 @@ formatted email address</td></tr>
<a href="../ja/mod/mod_authn_anon.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_anon.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_anon.html.ja.utf8 b/docs/manual/mod/mod_authn_anon.html.ja.utf8
index 105f7847..f5664324 100644
--- a/docs/manual/mod/mod_authn_anon.html.ja.utf8
+++ b/docs/manual/mod/mod_authn_anon.html.ja.utf8
@@ -219,6 +219,6 @@
<a href="../ja/mod/mod_authn_anon.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_anon.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_anon.html.ko.euc-kr b/docs/manual/mod/mod_authn_anon.html.ko.euc-kr
index a86b3168..f2943e3a 100644
--- a/docs/manual/mod/mod_authn_anon.html.ko.euc-kr
+++ b/docs/manual/mod/mod_authn_anon.html.ko.euc-kr
@@ -206,6 +206,6 @@
<a href="../ja/mod/mod_authn_anon.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_anon.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_dbd.html.en b/docs/manual/mod/mod_authn_dbd.html.en
index 1da8e7a2..0c6c0cfb 100644
--- a/docs/manual/mod/mod_authn_dbd.html.en
+++ b/docs/manual/mod/mod_authn_dbd.html.en
@@ -181,6 +181,6 @@ AuthDBDUserRealmQuery \
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_authn_dbd.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_dbm.html.en b/docs/manual/mod/mod_authn_dbm.html.en
index 5d7cf91e..da93e59c 100644
--- a/docs/manual/mod/mod_authn_dbm.html.en
+++ b/docs/manual/mod/mod_authn_dbm.html.en
@@ -131,6 +131,6 @@ passwords for authentication</td></tr>
<a href="../ja/mod/mod_authn_dbm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_dbm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_dbm.html.ja.utf8 b/docs/manual/mod/mod_authn_dbm.html.ja.utf8
index 5b2fac19..77257e35 100644
--- a/docs/manual/mod/mod_authn_dbm.html.ja.utf8
+++ b/docs/manual/mod/mod_authn_dbm.html.ja.utf8
@@ -130,6 +130,6 @@
<a href="../ja/mod/mod_authn_dbm.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_dbm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_dbm.html.ko.euc-kr b/docs/manual/mod/mod_authn_dbm.html.ko.euc-kr
index 334cdad0..c82efdc9 100644
--- a/docs/manual/mod/mod_authn_dbm.html.ko.euc-kr
+++ b/docs/manual/mod/mod_authn_dbm.html.ko.euc-kr
@@ -126,6 +126,6 @@
<a href="../ja/mod/mod_authn_dbm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_dbm.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_default.html.en b/docs/manual/mod/mod_authn_default.html.en
index fb12b427..2df61c96 100644
--- a/docs/manual/mod/mod_authn_default.html.en
+++ b/docs/manual/mod/mod_authn_default.html.en
@@ -75,6 +75,6 @@ modules</td></tr>
<a href="../ja/mod/mod_authn_default.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_default.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_default.html.ja.utf8 b/docs/manual/mod/mod_authn_default.html.ja.utf8
index 0c8a8a9e..d04ff906 100644
--- a/docs/manual/mod/mod_authn_default.html.ja.utf8
+++ b/docs/manual/mod/mod_authn_default.html.ja.utf8
@@ -75,6 +75,6 @@
<a href="../ja/mod/mod_authn_default.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_default.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_default.html.ko.euc-kr b/docs/manual/mod/mod_authn_default.html.ko.euc-kr
index 089cab3f..e2745657 100644
--- a/docs/manual/mod/mod_authn_default.html.ko.euc-kr
+++ b/docs/manual/mod/mod_authn_default.html.ko.euc-kr
@@ -71,6 +71,6 @@
<a href="../ja/mod/mod_authn_default.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_default.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_file.html b/docs/manual/mod/mod_authn_file.html
index 1f67fc3f..c718bed0 100644
--- a/docs/manual/mod/mod_authn_file.html
+++ b/docs/manual/mod/mod_authn_file.html
@@ -4,6 +4,10 @@ URI: mod_authn_file.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: mod_authn_file.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: mod_authn_file.html.ja.utf8
Content-Language: ja
Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/mod/mod_authn_file.html.en b/docs/manual/mod/mod_authn_file.html.en
index d0249242..c19f72f0 100644
--- a/docs/manual/mod/mod_authn_file.html.en
+++ b/docs/manual/mod/mod_authn_file.html.en
@@ -22,6 +22,7 @@
<div id="preamble"><h1>Apache Module mod_authn_file</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_authn_file.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authn_file.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_authn_file.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_file.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
@@ -124,9 +125,10 @@ passwords for authentication</td></tr>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_authn_file.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authn_file.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_authn_file.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_file.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_file.html.fr b/docs/manual/mod/mod_authn_file.html.fr
new file mode 100644
index 00000000..f159ed83
--- /dev/null
+++ b/docs/manual/mod/mod_authn_file.html.fr
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_authn_file - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_authn_file</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_file.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authn_file.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_authn_file.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/mod_authn_file.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur à l'aide de fichiers
+texte</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_file_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_file.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis les versions 2.1 et supérieures
+d'Apache</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Ce module permet aux frontaux d'authentification comme
+ <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> et <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>
+ d'authentifier les utilisateurs en les recherchant dans des fichiers
+ de mots de passe au format texte. <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>
+ fournit une fonctionnalité similaire.</p>
+
+ <p>Lorsqu'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
+ <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, ce module peut être invoqué en
+ affectant la valeur <code>file</code> à la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#authuserfile">AuthUserFile</a></li>
+</ul>
+<h3>Voir aussi</h3>
+<ul class="seealso">
+<li>
+ <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
+</li>
+<li>
+ <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>
+</li>
+<li><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code></li>
+<li><code class="program"><a href="../programs/htdigest.html">htdigest</a></code></li>
+</ul></div>
+
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthUserFile" id="AuthUserFile">AuthUserFile</a> <a name="authuserfile" id="authuserfile">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom d'un fichier texte pour l'authentification
+contenant la liste des utilisateurs et de leurs mots de
+passe</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthUserFile <var>chemin-fichier</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_file</td></tr>
+</table>
+ <p>La directive <code class="directive">AuthUserFile</code> permet de
+ définir le nom d'un fichier texte pour l'authentification contenant
+ la liste des utilisateurs et de leurs mots de passe.
+ <var>chemin-fichier</var> est le chemin vers le fichier
+ des utilisateurs. S'il n'est pas absolu, il est considéré comme
+ relatif au répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p>
+
+ <p>Chaque ligne du fichier des utilisateurs se compose du nom de
+ l'utilisateur, du caractère ':' et du mot de passe chiffré. Si le
+ même identifiant utilisateur est référencé plusieurs fois,
+ <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> utilisera la première occurence pour
+ vérifier le mot de passe.</p>
+
+ <p>Pour l'<em>Authentification de base HTTP</em>, on utilise
+ l'utilitaire <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code>, installé avec la
+ distribution binaire ou se trouvant dans <code>src/support</code>,
+ pour maintenir le fichier des mots de passe. Voir sa <a href="../programs/htpasswd.html">page de manuel</a> pour plus de
+ détails. En bref :</p>
+
+ <p>On crée un fichier de mots de passe <code>nom-fichier</code> avec
+ <code>nom-utilisateur</code> comme identifiant initial. Le mot de
+ passe correspondant sera alors demandé :</p>
+
+ <div class="example"><p><code>
+ htpasswd -c nom-fichier nom-utilisateur
+ </code></p></div>
+
+ <p>Pour ajouter ou modifier <code>nom-utilisateur2</code> dans le
+ fichier de mots de passe <code>nom-fichier</code> :</p>
+
+ <div class="example"><p><code>
+ htpasswd nom-fichier nom-utilisateur2
+ </code></p></div>
+
+ <p>Noter qu'une recherche dans de grands fichiers texte peut être
+ très longue ; dans ce cas, il vaut mieux utiliser les fichiers DBM
+ avec la directive <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>.</p>
+
+ <p>Si vous utilisez l'<em>Authentification HTTP à base de
+ condensé</em>, l'utilitaire <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> ne convient
+ pas. Vous devez utiliser <code class="program"><a href="../programs/htdigest.html">htdigest</a></code> à la place.
+ Notez que vous ne pouvez pas mélanger des données utilisateur pour
+ l'Authentification HTTP à base de condensé et des données pour
+ l'Authentification de Base dans le même fichier.</p>
+
+ <div class="warning"><h3>Sécurité</h3>
+ <p>Assurez-vous que le fichier <code class="directive">AuthUserFile</code>
+ soit bien stocké en dehors de l'arborescence des documents du
+ serveur web. Ne placez <strong>pas</strong> ce fichier dans le
+ répertoire qu'il protège. Dans le cas contraire, les clients
+ seraient en mesure de télécharger le fichier des mots de passe.</p>
+ </div>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_file.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authn_file.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_authn_file.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/mod_authn_file.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_file.html.ja.utf8 b/docs/manual/mod/mod_authn_file.html.ja.utf8
index 4ebaed57..47d3c79a 100644
--- a/docs/manual/mod/mod_authn_file.html.ja.utf8
+++ b/docs/manual/mod/mod_authn_file.html.ja.utf8
@@ -22,6 +22,7 @@
<div id="preamble"><h1>Apache モジュール mod_authn_file</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_authn_file.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authn_file.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_authn_file.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_file.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
@@ -134,9 +135,10 @@
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_authn_file.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authn_file.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_authn_file.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_file.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authn_file.html.ko.euc-kr b/docs/manual/mod/mod_authn_file.html.ko.euc-kr
index d3318643..b348cc99 100644
--- a/docs/manual/mod/mod_authn_file.html.ko.euc-kr
+++ b/docs/manual/mod/mod_authn_file.html.ko.euc-kr
@@ -22,6 +22,7 @@
<div id="preamble"><h1>¾ÆÆÄÄ¡ ¸ðµâ mod_authn_file</h1>
<div class="toplang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_authn_file.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authn_file.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_authn_file.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_file.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
@@ -121,9 +122,10 @@
</div>
<div class="bottomlang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_authn_file.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authn_file.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_authn_file.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authn_file.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authnz_ldap.html b/docs/manual/mod/mod_authnz_ldap.html
index 7fdb47e0..57d34079 100644
--- a/docs/manual/mod/mod_authnz_ldap.html
+++ b/docs/manual/mod/mod_authnz_ldap.html
@@ -3,3 +3,7 @@
URI: mod_authnz_ldap.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: mod_authnz_ldap.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/mod/mod_authnz_ldap.html.en b/docs/manual/mod/mod_authnz_ldap.html.en
index 7d48f0a5..cb04d752 100644
--- a/docs/manual/mod/mod_authnz_ldap.html.en
+++ b/docs/manual/mod/mod_authnz_ldap.html.en
@@ -21,7 +21,8 @@
<div id="page-content">
<div id="preamble"><h1>Apache Module mod_authnz_ldap</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/mod/mod_authnz_ldap.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/mod/mod_authnz_ldap.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authnz_ldap.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Allows an LDAP directory to be used to store the database
for HTTP Basic authentication.</td></tr>
@@ -1010,8 +1011,9 @@ authenticating the user if this one fails</td></tr>
</div>
</div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/mod/mod_authnz_ldap.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/mod/mod_authnz_ldap.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authnz_ldap.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authnz_ldap.html.fr b/docs/manual/mod/mod_authnz_ldap.html.fr
new file mode 100644
index 00000000..91b5a0ab
--- /dev/null
+++ b/docs/manual/mod/mod_authnz_ldap.html.fr
@@ -0,0 +1,1121 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_authnz_ldap - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_authnz_ldap</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_ldap.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authnz_ldap.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet d'utiliser un annuaire LDAP pour l'authentification
+HTTP de base.</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authnz_ldap_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authnz_ldap.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dosponible depuis les versions 2.1 et supérieures
+d'Apache</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Ce module permet aux frontaux d'authentification comme
+ <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> d'authentifier les utilisateurs via
+ un annuaire ldap.</p>
+
+ <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> supporte les fonctionnalités
+ suivantes :</p>
+
+ <ul>
+ <li>Support vérifié du <a href="http://www.openldap.org/">SDK OpenLDAP</a> (versions 1.x et
+ 2.x), du <a href="http://developer.novell.com/ndk/cldap.htm">
+ SDK LDAP Novell</a> et du SDK <a href="http://www.iplanet.com/downloads/developer/">iPlanet
+ (Netscape)</a>.</li>
+
+ <li>Implémentation de politiques d'autorisation complexes en les
+ définissant via des filtres LDAP.</li>
+
+ <li>Mise en oeuvre élaborée d'une mise en cache des opérations LDAP
+ via <a href="mod_ldap.html">mod_ldap</a>.</li>
+
+ <li>Support de LDAP via SSL (nécessite le SDK Netscape) ou TLS
+ (nécessite le SDK OpenLDAP 2.x ou le SDK LDAP Novell).</li>
+ </ul>
+
+ <p>Lorsqu'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, ce module est
+ invoqué en affectant la valeur <code>ldap</code> à la directive
+ <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>.</p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapbinddn">AuthLDAPBindDN</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapbindpassword">AuthLDAPBindPassword</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapurl">AuthLDAPUrl</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authzldapauthoritative">AuthzLDAPAuthoritative</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#contents">Sommaire</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#operation">Mode opératoire</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">Les directives requises</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#usingtls">Utilisation de TLS</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#usingssl">Utilisation de SSL</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#exposed">Mise à disposition des informations de
+connexion</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#frontpage">Utilisation de Microsoft
+ FrontPage avec mod_authnz_ldap</a></li>
+</ul><h3>Voir aussi</h3>
+<ul class="seealso">
+<li><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code></li>
+<li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li>
+<li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li>
+<li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="contents" id="contents">Sommaire</a></h2>
+
+ <ul>
+ <li>
+ <a href="#operation">Mode opératoire</a>
+
+ <ul>
+ <li><a href="#authenphase">La phase
+ d'authentification</a></li>
+
+ <li><a href="#authorphase">La phase d'autorisation</a></li>
+ </ul>
+ </li>
+
+ <li>
+ <a href="#requiredirectives">Les directives requises</a>
+
+ <ul>
+ <li><a href="#requser">Require ldap-user</a></li>
+ <li><a href="#reqgroup">Require ldap-group</a></li>
+ <li><a href="#reqdn">Require ldap-dn</a></li>
+ <li><a href="#reqattribute">Require ldap-attribute</a></li>
+ <li><a href="#reqfilter">Require ldap-filter</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#examples">Exemples</a></li>
+ <li><a href="#usingtls">Utilisation de TLS</a></li>
+ <li><a href="#usingssl">Utilisation de SSL</a></li>
+ <li><a href="#exposed">Mise à disposition des informations de
+ connexion</a></li>
+ <li>
+ <a href="#frontpage">Utilisation de Microsoft FrontPage avec
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></a>
+
+ <ul>
+ <li><a href="#howitworks">Comment ça marche</a></li>
+ <li><a href="#fpcaveats">Mises en garde</a></li>
+ </ul>
+ </li>
+ </ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="operation" id="operation">Mode opératoire</a></h2>
+
+ <p>L'utilisateur se voit accorder l'accès selon un processus en deux
+ phases. La première phase est l'authentification, au cours de
+ laquelle le fournisseur d'authentification
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> vérifie que les informations de
+ connexion de l'utilisateur sont valides. Elle est aussi connue sous
+ le nom de phase de <em>recherche/connexion</em>. La deuxième
+ phase est l'autorisation, au cours de laquelle
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> détermine si l'utilisateur
+ authentifié a la permission d'accéder à la ressource considérée.
+ Elle est aussi connue sous le nom de phase de
+ <em>comparaison</em>.</p>
+
+ <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> comporte un fournisseur
+ d'authentification authn_ldap et un gestionnaire d'autorisation
+ authz_ldap. Le fournisseur d'authentification authn_ldap peut être
+ invoqué en affectant la valeur <code>ldap</code> à la directive
+ <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>. Le
+ gestionnaire d'autorisation authz_ldap enrichit la liste des types
+ d'autorisations de la directive <code class="directive"><a href="../mod/core.html#require">Require</a></code> en y ajoutant les
+ valeurs <code>ldap-user</code>, <code>ldap-dn</code> et
+ <code>ldap-group</code>.</p>
+
+<h3><a name="authenphase" id="authenphase">La phase d'authentification</a></h3>
+
+ <p>Au cours de la phase d'authentification,
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> recherche une entrée de l'annuaire
+ LDAP qui correspond au nom d'utilisateur fourni par le client HTTP.
+ Si une correspondance unique est trouvée,
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tente de se connecter au serveur
+ hébergeant l'annuaire LDAP en utilisant le DN de l'entrée et le mot
+ de passe fourni par le client HTTP. Comme ce processus effectue tout
+ d'abord une recherche, puis une connexion, il est aussi connu sous
+ le nom de phase de recherche/connexion. Voici le détail des étapes
+ constituant la phase de recherche/connexion :</p>
+
+ <ol>
+ <li>Construction d'un filtre de recherche en combinant les attribut
+ et filtre définis par la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> avec le nom d'utilisateur et le mot de
+ passe fournis par le client HTTP.</li>
+
+ <li>Recherche dans l'annuaire LDAP en utilisant le filtre
+ construit précédemment. Si le résultat de la recherche est
+ négatif ou comporte plusieurs entrées, refus ou restriction de
+ l'accès.</li>
+
+ <li>Extraction du DN (distinguished name) de l'entrée issue du
+ résultat de la recherche, et tentative de connexion au serveur
+ LDAP en utilisant ce DN et le mot de passe fournis par le client
+ HTTP. Si la connexion échoue, refus ou restriction de
+ l'accès.</li>
+ </ol>
+
+ <p>Les directives utilisées durant la phase de recherche/connexion
+ sont les suivantes :</p>
+
+ <table>
+
+ <tr>
+ <td><code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code></td>
+
+ <td>Spécifie le serveur LDAP, le DN de base, l'attribut à
+ utiliser pour la recherche, ainsi que les filtres de recherche
+ supplémentaires.</td>
+ </tr>
+
+ <tr>
+ <td><code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code></td>
+
+ <td>Un DN optionnel pour se connecter durant la phase de
+ recherche.</td>
+ </tr>
+
+ <tr>
+ <td><code class="directive"><a href="#authldapbindpassword">AuthLDAPBindPassword</a></code></td>
+
+ <td>Un mot de passe optionnel pour se connecter durant la phase
+ de recherche.</td>
+ </tr>
+ </table>
+
+
+<h3><a name="authorphase" id="authorphase">La phase d'autorisation</a></h3>
+
+ <p>Au cours de la phase d'autorisation,
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tente de déterminer si
+ l'utilisateur est autorisé à accéder à la ressource considérée. Une
+ grande partie de cette vérification consiste pour
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> en des opérations de comparaison au
+ niveau du serveur LDAP. C'est pourquoi cette phase est aussi connue
+ sous le nom de phase de comparaison.
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> accepte les directives <code class="directive"><a href="../mod/core.html#require">Require</a></code> suivantes pour
+ déterminer si les informations de connexion permettent d'accorder
+ l'accès à l'utilisateur :</p>
+
+ <ul>
+ <li>Avec la directive <a href="#reqgroup"><code>Require ldap-user</code></a>,
+ l'autorisation d'accès est accordée si le nom d'utilisateur
+ spécifié par la directive correspond au nom d'utilisateur fourni
+ par le client.</li>
+
+ <li>Avec la directive <a href="#reqdn"><code>Require
+ ldap-dn</code></a>, l'autorisation d'accès est accordée si le DN
+ spécifié par la directive correspond au DN extrait du résultat de
+ la recherche dans l'annuaire LDAP.</li>
+
+ <li>Avec la directive <a href="#reqgroup"><code>Require ldap-group</code></a>,
+ l'autorisation d'accès est accordée si le DN extrait du résultat de
+ la recherche dans l'annuaire LDAP (ou le nom d'utilisateur fourni
+ par le client) appartient au groupe LDAP spécifié par la
+ directive.</li>
+
+ <li>Avec la directive <a href="#reqattribute">
+ <code>Require ldap-attribute</code></a>, l'autorisation d'accès
+ est accordée si la valeur de l'attribut extraite de la recherche
+ dans l'annuaire LDAP correspond à la valeur spécifiée par la
+ directive.</li>
+
+ <li>Avec la directive <a href="#reqfilter">
+ <code>Require ldap-filter</code></a>, l'autorisation d'accès
+ est accordée si le filtre de recherche renvoie un objet
+ utilisateur unique qui corresponde au DN de l'utilisateur
+ authentifié.</li>
+
+ <li>dans tous les autres cas, refus ou restriction de
+ l'accès.</li>
+ </ul>
+
+ <p>Sous réserve du chargement de modules d'autorisation
+ supplémentaires, d'autres valeurs de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> peuvent être
+ spécifiées. Notez que si vous utilisez une valeur <code class="directive"><a href="../mod/core.html#require">Require</a></code> fournie par un autre module
+ d'autorisation, vous devrez vous assurer que la directive <code class="directive"><a href="#authzldapauthoritative">AuthzLDAPAuthoritative</a></code> est
+ définie à <code>off</code>, afin de pouvoir confier la phase
+ d'autorisation au module qui a fourni l'autre valeur <code class="directive"><a href="../mod/core.html#require">Require</a></code>. Lorsqu'aucune directive LDAP
+ <code class="directive"><a href="../mod/core.html#require">Require</a></code> spécifique n'est
+ fournie, la phase d'autorisation peut être confiée à d'autres
+ modules, comme si <code class="directive"><a href="#authzldapauthoritative">AuthzLDAPAuthoritative</a></code> était
+ définie à <code>off</code>.
+ </p>
+
+ <ul>
+ <li>L'accès est autorisé à tous les utilisateurs authentifiés si
+ une directive <a href="#requser"><code>Require
+ valid-user</code></a> est présente (nécessite le module
+ <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>).</li>
+
+ <li>Avec la directive <a href="#reqgroup"><code>Require group</code></a>, l'autorisation
+ d'accès est accordée si le module
+ <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> a été chargé et si la
+ directive <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> a été
+ définie.</li>
+
+ <li>etc...</li>
+ </ul>
+
+
+ <p>Durant la phase de comparaison, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>
+ utilise les directives suivantes :</p>
+
+ <table>
+
+ <tr>
+ <td><code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code>
+ </td>
+
+ <td>On utilise l'attribut spécifié dans l'URL pour les
+ opérations de comparaison initiées par la directive
+ <code>Require ldap-user</code>.</td>
+ </tr>
+
+ <tr>
+ <td><code class="directive"><a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></code></td>
+
+ <td>Détermine le comportement de la directive <code>Require
+ ldap-dn</code>.</td>
+ </tr>
+
+ <tr>
+ <td><code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code></td>
+
+ <td>Détermine l'attribut utilisé pour les opérations de
+ comparaison initiées par la directive <code>Require
+ ldap-group</code>.</td>
+ </tr>
+
+ <tr>
+ <td><code class="directive"><a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></code></td>
+
+ <td>Spécifie si l'on doit utiliser le DN ou le nom de
+ l'utilisateur lors des opérations de comparaison initiées par la
+ directive <code>Require ldap-group</code>.</td>
+ </tr>
+ </table>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="requiredirectives" id="requiredirectives">Les directives requises</a></h2>
+
+ <p>Les directives <code class="directive"><a href="../mod/core.html#require">Require</a></code> d'Apache sont utilisées
+ au cours de la phase d'autorisation afin de s'assurer que
+ l'utilisateur est autorisé à accéder à une ressource.
+ mod_authnz_ldap enrichit la liste des types d'autorisations avec les
+ valeurs <code>ldap-user</code>, <code>ldap-dn</code>,
+ <code>ldap-group</code>, <code>ldap-attribute</code> et
+ <code>ldap-filter</code>. D'autres types d'autorisations sont
+ disponibles, sous réserve du chargement de modules d'autorisation
+ supplémentaires.</p>
+
+<h3><a name="requser" id="requser">Require ldap-user</a></h3>
+
+ <p>La directive <code>Require ldap-user</code> permet de spécifier
+ les noms des utilisateurs autorisés à accéder à la ressource.
+ Lorsque <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a extrait un DN unique de
+ l'annuaire LDAP, il effectue une opération de comparaison LDAP en
+ utilisant le nom d'utilisateur spécifié par la directive
+ <code>Require ldap-user</code>, pour vérifier si ce nom
+ d'utilisateur correspond à l'entrée LDAP extraite. On peut accorder
+ l'accès à plusieurs utilisateurs en plaçant plusieurs nom
+ d'utilisateurs sur la même ligne séparés par des espaces. Si un nom
+ d'utilisateur contient des espaces, il doit être entouré de
+ guillemets. On peut aussi accorder l'accès à plusieurs utilisateurs
+ en utilisant une directive <code>Require ldap-user</code> par
+ utilisateur. Par exemple, avec la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> définie à
+ <code>ldap://ldap/o=Airius?cn</code> (spécifiant donc que l'attribut
+ <code>cn</code> sera utilisé pour les recherches), on pourra
+ utiliser les directives Require suivantes pour restreindre l'accès
+ :</p>
+<div class="example"><p><code>
+Require ldap-user "Barbara Jenson"<br />
+Require ldap-user "Fred User"<br />
+Require ldap-user "Joe Manager"<br />
+</code></p></div>
+
+ <p>De par la manière dont <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> traite
+ cette directive, Barbara Jenson peut s'authentifier comme
+ <em>Barbara Jenson</em>, <em>Babs Jenson</em> ou tout autre
+ <code>cn</code> sous lequel elle est enregistrée dans l'annuaire
+ LDAP. Une seule ligne <code>Require ldap-user</code> suffit pour
+ toutes les valeurs de l'attribut dans l'entrée LDAP de
+ l'utilisateur.</p>
+
+ <p>Si l'attribut <code>uid</code> avait été spécifié à la place de
+ l'attribut <code>cn</code> dans l'URL précédente, les trois lignes
+ ci-dessus auraient pû être condensées en une seule ligne :</p>
+<div class="example"><p><code>Require ldap-user bjenson fuser jmanager</code></p></div>
+
+
+<h3><a name="reqgroup" id="reqgroup">Require ldap-group</a></h3>
+
+ <p>Cette directive permet de spécifier un groupe LDAP dont les
+ membres auront l'autorisation d'accès. Elle prend comme argument le
+ DN du groupe LDAP. Note : n'entourez pas le nom du groupe avec des
+ guillemets. Par exemple, supposons que l'entrée suivante existe dans
+ l'annuaire LDAP :</p>
+<div class="example"><p><code>
+dn: cn=Administrators, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Barbara Jenson, o=Airius<br />
+uniqueMember: cn=Fred User, o=Airius<br />
+</code></p></div>
+
+ <p>La directive suivante autoriserait alors l'accès à Fred et
+ Barbara :</p>
+<div class="example"><p><code>Require ldap-group cn=Administrators, o=Airius</code></p></div>
+
+
+
+ <p>Le comportement de cette directive est modifié par les directives
+ <code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code> et
+ <code class="directive"><a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></code>.</p>
+
+
+<h3><a name="reqdn" id="reqdn">Require ldap-dn</a></h3>
+
+ <p>La directive <code>Require ldap-dn</code> permet à
+ l'administrateur d'accorder l'utorisation d'accès en fonction du DN.
+ Elle permet de spécifier un DN pour lequel l'accès est autorisé. Si
+ le DN extrait de
+ l'annuaire correspond au DN spécifié par la directive <code>Require
+ ldap-dn</code>, l'autorisation d'accès est accordée. Note :
+ n'entourez pas Le DN de guillemets.</p>
+
+ <p>La directive suivante accorderait l'accès à un DN spécifique
+ :</p>
+<div class="example"><p><code>Require ldap-dn cn=Barbara Jenson, o=Airius</code></p></div>
+
+ <p>Le comportement ce cette directive est modifié par la directive
+ <code class="directive"><a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></code>.</p>
+
+
+<h3><a name="reqattribute" id="reqattribute">Require ldap-attribute</a></h3>
+
+ <p>La directive <code>Require ldap-attribute</code> permet à
+ l'administrateur d'accorder l'autorisation d'accès en fonction des
+ attributs de l'utilisateur authentifié dans l'annuaire LDAP. Si la
+ valeur de l'attribut dans l'annuaire correspond à la valeur
+ spécifiée par la directive, l'autorisation d'accès est accordée.</p>
+
+ <p>La directive suivante accorderait l'autorisation d'accès à tout
+ utilisateur dont l'attribut employeeType a pour valeur "actif" :</p>
+
+ <div class="example"><p><code>Require ldap-attribute employeeType=actif</code></p></div>
+
+ <p>Plusieurs paires attribut/valeur peuvent être spécifiées par une
+ même directive en les séparant par des espaces, ou en définissant
+ plusieurs directives <code>Require ldap-attribute</code>. La logique
+ sous-jacente à une liste de paires attribut/valeur est une opération
+ OU. L'autorisation d'accès sera accordée si au moins une paire
+ attribut/valeur de la liste spécifiée correspond à la paire
+ attribut/valeur de l'utilisateur authentifié. Si elle contient des
+ espaces, la valeur, et seulement la valeur, doit être entourée de
+ guillemets.</p>
+
+ <p>La directive suivante accorderait l'autorisation d'accès à tout
+ utilisateur dont l'attribut city aurait pour valeur "San Jose", ou
+ donc l'attribut status aurait pour valeur "actif" :</p>
+
+ <div class="example"><p><code>Require ldap-attribute city="San Jose" status=actif</code></p></div>
+
+
+
+<h3><a name="reqfilter" id="reqfilter">Require ldap-filter</a></h3>
+
+ <p>La directive <code>Require ldap-filter</code> permet à
+ l'administrateur d'accorder l'autorisation d'accès en fonction d'un
+ filtre de recherche LDAP complexe. L'autorisation d'accès est
+ accordée si le DN renvoyé par le filtre de recherche correspond au
+ DN de l'utilisateur authentifié.</p>
+
+ <p>La directive suivante accorderait l'autorisation d'accès à tout
+ utilisateur possédant un téléphone cellulaire et faisant partie du
+ département "marketing" :</p>
+
+ <div class="example"><p><code>Require ldap-filter &amp;(cell=*)(department=marketing)</code></p></div>
+
+ <p>Alors que la directive <code>Require ldap-attribute</code> se
+ contente d'une simple comparaison d'attributs, la directive
+ <code>Require ldap-filter</code> effectue une opération de recherche
+ dans l'annuaire LDAP en utilisant le filtre de recherche spécifié.
+ Si une simple comparaison d'attributs suffit, l'opération de
+ comparaison effectuée par <code>ldap-attribute</code> sera plus
+ rapide que l'opération de recherche effectuée par
+ <code>ldap-filter</code>, en particulier dans le cas d'un annuaire
+ LDAP de grande taille.</p>
+
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="examples" id="examples">Exemples</a></h2>
+
+ <ul>
+ <li>
+ Accorde l'autorisation d'accès à tout utilisateur présent dans
+ l'annuaire LDAP, en utilisant son UID pour effectuer la
+ recherche :
+<div class="example"><p><code>
+AuthLDAPURL "ldap://ldap1.airius.com:389/ou=People, o=Airius?uid?sub?(objectClass=*)"<br />
+Require valid-user
+</code></p></div>
+ </li>
+
+ <li>
+ L'exemple suivant est similaire au précédent, mais les champs
+ dont les valeurs par défaut conviennent sont omis. Notez aussi
+ la présence d'un annuaire LDAP redondant :
+<div class="example"><p><code>AuthLDAPURL "ldap://ldap1.airius.com ldap2.airius.com/ou=People, o=Airius"<br />
+Require valid-user
+</code></p></div>
+ </li>
+
+ <li>
+ Encore un exemple similaire aux précédents, mais cette fois,
+ c'est l'attribut cn qui est utilisé pour la recherche à la place
+ de l'UID. Notez que ceci peut poser problème si plusieurs
+ utilisateurs de l'annuaire partagent le même <code>cn</code>,
+ car une recherche sur le <code>cn</code> <strong>doit</strong>
+ retourner une entrée et une seule. C'est pourquoi cette
+ approche n'est pas recommandée : il est préférable de choisir un
+ attribut de votre annuaire dont l'unicité soit garantie, comme
+ <code>uid</code>.
+<div class="example"><p><code>
+AuthLDAPURL "ldap://ldap.airius.com/ou=People, o=Airius?cn"<br />
+Require valid-user
+</code></p></div>
+ </li>
+
+ <li>
+ Accorde l'autorisation d'accès à tout utilisateur appartenant au
+ groupe Administrateurs. Les utilisateurs doivent s'authentifier
+ en utilisant leur UID :
+<div class="example"><p><code>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid<br />
+Require ldap-group cn=Administrators, o=Airius
+</code></p></div>
+ </li>
+
+ <li>
+ Pour l'exemple suivant, on suppose que tout utilisateur de chez
+ Airius qui dispose d'un bippeur alphanumérique possèdera un
+ attribut LDAP <code>qpagePagerID</code>. Seuls ces utilisateurs
+ (authentifiés via leur UID) se verront accorder l'autorisation
+ d'accès :
+<div class="example"><p><code>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid??(qpagePagerID=*)<br />
+Require valid-user
+</code></p></div>
+ </li>
+
+ <li>
+ <p>L'exemple suivant illustre la puissance des filtres pour
+ effectuer des requêtes complexes. Sans les filtres, il aurait
+ été nécessaire de créer un nouveau groupe LDAP et de s'assurer
+ de la synchronisation des membres du groupe avec les
+ utilisateurs possédant un bippeur. Tout devient limpide avec les
+ filtres. Nous avons pour but d'accorder l'autorisation d'accès à
+ tout utilisateur disposant d'un bippeur ainsi qu'à Joe Manager
+ qui ne possède pas de bippeur, mais doit tout de même pouvoir
+ accéder à la ressource :</p>
+<div class="example"><p><code>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid??(|(qpagePagerID=*)(uid=jmanager))<br />
+Require valid-user
+</code></p></div>
+
+ <p>Ce dernier exemple peut sembler confus au premier abord ; en
+ fait, il permet de mieux comprendre à quoi doit ressembler le
+ filtre en fonction de l'utilisateur qui se connecte. Si Fred
+ User se connecte en tant que <code>fuser</code>, le filtre devra
+ ressembler à :</p>
+
+ <div class="example"><p><code>(&amp;(|(qpagePagerID=*)(uid=jmanager))(uid=fuser))</code></p></div>
+
+ <p>Un recherche avec le filtre ci-dessus ne retournera un
+ résultat positif que si <em>fuser</em> dispose d'un bippeur. Si
+ Joe Manager se connecte en tant que <em>jmanager</em>, le filtre
+ devra ressembler à :</p>
+
+ <div class="example"><p><code>(&amp;(|(qpagePagerID=*)(uid=jmanager))(uid=jmanager))</code></p></div>
+
+ <p>Un recherche avec le filtre ci-dessus retournera un
+ résultat positif que <em>jmanager</em> dispose d'un
+ bippeur ou non</p>
+ </li>
+ </ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="usingtls" id="usingtls">Utilisation de TLS</a></h2>
+
+ <p>Pour l'utilisation de TLS, voir les directives du module
+ <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code>, <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code> et <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>.</p>
+
+ <p>Un second paramètre optionnel peut être ajouté à la directive
+ <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> pour
+ remplacer le type de connexion par défaut défini par la directive
+ <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>. Ceci
+ permettra de promouvoir la connexion établie via une URL du type
+ <em>ldap://</em> au statut de connection sécurisée sur le même
+ port.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="usingssl" id="usingssl">Utilisation de SSL</a></h2>
+
+ <p>Pour l'utilisation de SSL, voir les directives du module
+ <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code>, <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code> et <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>.</p>
+
+ <p>Pour spécifier un serveur LDAP sécurisé, utilisez
+ <em>ldaps://</em> au lieu de
+ <em>ldap://</em> dans la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code>.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="exposed" id="exposed">Mise à disposition des informations de
+connexion</a></h2>
+
+ <p>Au cours du processus d'authentification, les attributs LDAP
+ spécifiés par la directive <code class="directive"><a href="#authldapurl">AuthLDAPUrl</a></code> sont enregistrés
+ dans des variables d'environnement préfixées par la chaîne
+ "AUTHENTICATE_".</p>
+
+ <p>Si les champs attribut contiennent le nom, le CN et le numéro de
+ téléphone d'un utilisateur, un programme CGI pourra accéder à ces
+ informations sans devoir effectuer une autre requête LDAP pour
+ les extraire de l'annuaire.</p>
+
+ <p>Ceci a pour effet de simplifier considérablement le code et la
+ configuration nécessaire de certaines applications web.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="frontpage" id="frontpage">Utilisation de Microsoft
+ FrontPage avec mod_authnz_ldap</a></h2>
+
+ <p>Normalement, FrontPage utilise des fichiers utilisateur/groupe
+ spécifiques à FrontPage-web (c'est à dire les modules
+ <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et
+ <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code>) pour effectuer toute
+ l'authentification. Malheureusement, il ne suffit pas de modifier
+ l'authentification LDAP en ajoutant les directives appropriées, car
+ ceci corromprait les formulaires de <em>Permissions</em> dans le
+ client FrontPage, qui sont censés modifier les fichiers
+ d'autorisation standards au format texte.</p>
+
+ <p>Lorsqu'un site web FrontPage a été créé, lui adjoindre
+ l'authentification LDAP consiste à ajouter les directives suivantes
+ à <em>chaque</em> fichier <code>.htaccess</code> qui sera créé dans
+ le site web :</p>
+<div class="example"><pre>
+AuthLDAPURL "l'url"
+AuthGroupFile <em>mon-fichier-de-groupes</em>
+Require group <em>mon-fichier-de-groupes</em>
+</pre></div>
+
+<h3><a name="howitworks" id="howitworks">Comment ça marche</a></h3>
+
+ <p>FrontPage restreint l'accès à un site web en ajoutant la
+ directive <code>Require valid-user</code> aux fichiers
+ <code>.htaccess</code>. La directive <code>Require valid-user</code>
+ permettra l'accès à tout utilisateur valide <em>du point de vue
+ LDAP</em>. Cela signifie que tout utilisateur possédant une entrée
+ dans l'annuaire LDAP sera considéré comme valide, alors que
+ FrontPage ne considère comme valides que les utilisateurs
+ enregistrés dans le fichier des utilisateurs local. En remplaçant
+ l'autorisation par groupe LDAP par une autorisation par fichier de
+ groupe, Apache sera en mesure de consulter le fichier des
+ utilisateurs local (géré par FrontPage) - au lieu de l'annuaire LDAP
+ - lors du processus d'autorisation des utilisateurs.</p>
+
+ <p>Une fois les directives ajoutées selon ce qui précède, les
+ utilisateurs FrontPage pourront effectuer toutes les opérations de
+ gestion à partir du client FrontPage.</p>
+
+
+<h3><a name="fpcaveats" id="fpcaveats">Avertissements</a></h3>
+
+ <ul>
+ <li>Lors du choix de l'URL LDAP, l'attribut à utiliser pour
+ l'authentification doit aussi être valide pour le fichier des
+ utilisateurs de <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. A cette fin,
+ l'UID est idéal.</li>
+
+ <li>Lorsqu'ils ajoutent des utilisateurs via FrontPage, les
+ administrateurs de FrontPage doivent choisir des noms
+ d'utilisateurs qui existent déjà dans l'annuaire LDAP (pour des
+ raisons évidentes). De même, le mot de passe que l'administrateur
+ entre dans le formulaire est ignoré, car pour l'authentification,
+ Apache utilise le mot de passe de l'annuaire LDAP, et non le mot
+ de passe enregistré dans le fichier des utilisateurs, ce qui peut
+ semer la confusion parmi les administrateurs web.</li>
+
+
+ <li>Pour supporter FrontPage, Apache doit être compilé avec
+ <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>
+ et <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code>. Ceci est dû au fait
+ qu'Apache doit utiliser le fichier de groupes de
+ <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> pour déterminer le niveau
+ d'accès d'un utilisateur au site web FrontPage.</li>
+
+ <li>Les directives doivent être placées dans les fichiers
+ <code>.htaccess</code>. Elles ne fonctionneront pas si vous les
+ placez dans une section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> ou <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>. Ceci est dû au fait que pour savoir
+ où se trouve la liste des utilisateurs valides,
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> doit être en mesure d'atteindre
+ la directive <code class="directive"><a href="../mod/mod_authn_file.html#authgroupfile">AuthGroupFile</a></code> qui se trouve
+ dans les fichiers <code>.htaccess</code> de FrontPage. Si les directives
+ de <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> ne sont pas situées dans le
+ même fichier <code>.htaccess</code> que les directives FrontPage,
+ la configuration ne fonctionnera pas, car
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> ne sera jamais en mesure de
+ traiter le fichier <code>.htaccess</code>, et par conséquent ne
+ pourra jamais trouver le fichier des utilisateurs géré par
+ FrontPage.</li>
+ </ul>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPBindAuthoritative" id="AuthLDAPBindAuthoritative">AuthLDAPBindAuthoritative</a> <a name="authldapbindauthoritative" id="authldapbindauthoritative">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si d'autres fournisseurs d'authentification
+doivent être utilisés lorsqu'un utilisateur correspond à un DN, alors
+que le serveur ne parvient pas à se connecter avec les données
+d'authentification.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindAuthoritative<em>off|on</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPBindAuhtoritative on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions supérieures à 2.2.14</td></tr>
+</table>
+ <p>Par défaut, d'autres fournisseurs d'authentification ne sont
+ sollicités que si l'utilisateur ne correspond à aucun DN, mais pas
+ lorsque celui-ci correspond à un DN alors que le serveur ne parvient
+ pas à se connecter avec les données d'authentification. Si la
+ directive <code class="directive"><a href="#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></code> est
+ définie à <em>off</em>, d'autres modules d'authentification seront
+ en mesure de valider l'utilisateur si l'identification LDAP (avec
+ les données d'authentification courantes) échoue pour une raison
+ quelconque.</p>
+ <p>Ceci permet à un utilisateur présent à la fois dans LDAP et dans
+ <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> de
+ s'authentifier lorsque le serveur LDAP est disponible alors que son
+ compte est bloqué ou que son mot de passe est inutilisable.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li>
+<li><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPBindDN" id="AuthLDAPBindDN">AuthLDAPBindDN</a> <a name="authldapbinddn" id="authldapbinddn">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Un DN optionnel pour se connecter au serveur
+LDAP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindDN <em>dn</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Cette directive permet de définir un DN optionnel pour se
+ connecter au serveur afin d'y rechercher des entrées. Si aucun DN
+ n'est spécifié, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tentera une
+ connexion anonyme.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPBindPassword" id="AuthLDAPBindPassword">AuthLDAPBindPassword</a> <a name="authldapbindpassword" id="authldapbindpassword">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mot de passe à utiliser en conjonction avec le DN de
+connexion</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindPassword <em>mot-de-passe</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Cette directive permet de spécifier un mot de passe à utiliser en
+ conjonction avec le DN de connexion. Notez que ce mot de passe
+ constitue en général une donnée sensible, et doit donc être protégé
+ de manière appropriée. Vous ne devez utiliser les directives
+ <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code> et <code class="directive"><a href="#authldapbindpassword">AuthLDAPBindPassword</a></code> que si
+ vous en avez vraiment besoin pour effectuer une recherche dans
+ l'annuaire.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPCharsetConfig" id="AuthLDAPCharsetConfig">AuthLDAPCharsetConfig</a> <a name="authldapcharsetconfig" id="authldapcharsetconfig">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier de configuration de la correspondance
+langage/jeu de caractères</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPCharsetConfig <em>chemin-fichier</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>La directive <code class="directive">AuthLDAPCharsetConfig</code> permet
+ de définir le chemin du fichier de configuration de la
+ correspondance langage/jeu de caractères. <var>chemin-fichier</var>
+ est un chemin relatif au répertoire défini par la directive
+ <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. Ce fichier contient une liste
+ de correspondances extension de langage/jeu de caractères. La
+ plupart des administrateurs utilisent le fichier
+ <code>charset.conv</code> fourni qui associe les extensions de
+ langage courantes à leurs jeux de caractères.</p>
+
+ <p>Le fichier contient des lignes au format suivant :</p>
+
+ <div class="example"><p><code>
+ <var>extension de langage</var> <var>jeu de caractères</var>
+ [<var>Nom du langage</var>] ...
+ </code></p></div>
+
+ <p>L'extension est insensible à la casse. Les lignes vides et les
+ lignes commençant par un dièse (<code>#</code>) sont ignorées.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPCompareDNOnServer" id="AuthLDAPCompareDNOnServer">AuthLDAPCompareDNOnServer</a> <a name="authldapcomparednonserver" id="authldapcomparednonserver">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le serveur LDAP pour comparer les DNs</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPCompareDNOnServer on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPCompareDNOnServer on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Lorsque cette directive est définie à on,
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise le serveur LDAP pour
+ comparer les DNs. Il s'agit de la seule méthode infaillible pour
+ comparer les DNs. <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va rechercher
+ dans l'annuaire le DN spécifié par la directive <a href="#reqdn"><code>Require dn</code></a>, puis extraire ce DN et le
+ comparer avec le DN extrait de l'entrée de l'utilisateur. Si cette
+ directive est à off, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> effectue une
+ simple comparaison de chaînes. Cette dernière approche peut produire
+ de faux négatifs, mais elle est beaucoup plus rapide. Notez
+ cependant que le cache de <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> peut accélérer
+ la comparaison de DNs dans la plupart des situations.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPDereferenceAliases" id="AuthLDAPDereferenceAliases">AuthLDAPDereferenceAliases</a> <a name="authldapdereferencealiases" id="authldapdereferencealiases">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>A quel moment le module va déréférencer les
+alias</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPDereferenceAliases never|searching|finding|always</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPDereferenceAliases Always</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Cette directive permet de spécifier à quel moment
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va déréférencer les alias au cours
+ des opérations liées à LDAP. La valeur par défaut est
+ <code>always</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPGroupAttribute" id="AuthLDAPGroupAttribute">AuthLDAPGroupAttribute</a> <a name="authldapgroupattribute" id="authldapgroupattribute">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'attribut LDAP utilisé pour vérifier l'appartenance d'un
+utilisateur à un groupe.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPGroupAttribute <em>attribut</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPGroupAttribute member uniquemember</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Cette directive permet de spécifier quel attribut LDAP est
+ utilisé pour vérifier l'appartenance d'un utilisateur à un
+ groupe. On peut spécifier plusieurs attributs en répétant cette
+ directive plusieurs fois. Si la directive n'est pas définie,
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise les attributs
+ <code>member</code> et <code>uniquemember</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPGroupAttributeIsDN" id="AuthLDAPGroupAttributeIsDN">AuthLDAPGroupAttributeIsDN</a> <a name="authldapgroupattributeisdn" id="authldapgroupattributeisdn">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le DN de l'utilisateur pour vérifier son
+appartenance à un groupe</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPGroupAttributeIsDN on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPGroupAttributeIsDN on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Lorsqu'elle est définie à <code>on</code>, cette directive
+ indique que c'est le DN de l'utilisateur qui doit être utilisé pour
+ vérifier son appartenance à un groupe. Dans le cas contraire, c'est
+ le nom de l'utilisateur qui sera utilisé. Par exemple, supposons que
+ le client envoie le nom d'utilisateur <code>bjenson</code>, qui
+ correspond au DN LDAP <code>cn=Babs Jenson,o=Airius</code>. Si la
+ directive est à <code>on</code>, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va
+ vérifier si <code>cn=Babs Jenson, o=Airius</code> est un membre du
+ groupe. Dans le cas contraire, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>
+ vérifiera si <code>bjenson</code> est un membre du groupe.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPRemoteUserAttribute" id="AuthLDAPRemoteUserAttribute">AuthLDAPRemoteUserAttribute</a> <a name="authldapremoteuserattribute" id="authldapremoteuserattribute">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>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</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPRemoteUserAttribute uid</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Lorsque cette directive est définie, la variable d'environnement
+ <code>REMOTE_USER</code> sera définie à la valeur de l'attribut
+ spécifié. Assurez-vous que cet attribut soit bien inclus dans la
+ liste d'attributs spécifiés dans la définition de AuthLDAPUrl ; dans
+ le cas contraire, cette directive n'aurait aucun effet. Si elle est
+ présente, cette directive l'emporte sur AuthLDAPRemoteUserIsDN. Elle
+ peut s'avérer utile par exemple, si vous souhaitez que les
+ utilisateurs se connectent à un site web en utilisant leur adresse
+ email, alors qu'une application sous-jacente nécessite un nom
+ d'utilisateur comme identifiant.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPRemoteUserIsDN" id="AuthLDAPRemoteUserIsDN">AuthLDAPRemoteUserIsDN</a> <a name="authldapremoteuserisdn" id="authldapremoteuserisdn">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le DN de l'utilisateur pour définir la variable
+d'environnement REMOTE_USER</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPRemoteUserIsDN on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPRemoteUserIsDN off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Lorsque cette directive est à on, la variable d'environnement
+ <code>REMOTE_USER</code> sera définie avec la valeur du DN complet
+ de l'utilisateur authentifié, et non plus avec simplement le nom
+ d'utilisateur fourni par le client. Elle est définie à off par
+ défaut.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPUrl" id="AuthLDAPUrl">AuthLDAPUrl</a> <a name="authldapurl" id="authldapurl">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL permettant de spécifier les paramètres de la
+recherche LDAP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPUrl <em>url [NONE|SSL|TLS|STARTTLS]</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Une URL conforme à la RFC 2255 qui permet de spécifier les
+ paramètres à utiliser pour la recherche dans l'annuaire LDAP. La
+ syntaxe de l'URL est :</p>
+<div class="example"><p><code>ldap://hôte:port/DN-de-base?attribut?portée?filtre</code></p></div>
+ <p>Si vous souhaitez mettre à la disposition d'Apache plusieurs URLs
+ LDAP, la syntaxe sera :</p>
+<div class="example"><p><code>AuthLDAPUrl "ldap://ldap1.example.com
+ldap2.example.com/dc=..."</code></p></div>
+
+<dl>
+<dt>ldap</dt>
+
+ <dd>Pour ldap non sécurisé, utilisez la chaîne
+ <code>ldap</code>. Pour ldap sécurisé, utilisez à la place la
+ chaîne <code>ldaps</code>. LDAP sécurisé n'est disponible que si
+ Apache a été lié avec une bibliothèque LDAP supportant SSL.</dd>
+
+<dt>hôte:port</dt>
+
+ <dd>
+ <p>Il s'agit du nom/port du serveur ldap
+ (dont la valeur par défaut est
+ <code>localhost:389</code> pour <code>ldap</code>, et
+ <code>localhost:636</code> pour <code>ldaps</code>). Pour
+ spécifier plusieurs serveurs LDAP redondants, indiquez
+ simplement leur liste en les séparant par des espaces.
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tentera alors de se connecter
+ à chacun des serveurs jusqu'à ce qu'il parvienne à se
+ connecter avec succès.</p>
+
+ <p>lorsqu'une connection a été établie avec un serveur, elle
+ reste active pendant toute la durée de vie du processus
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code>, ou jusqu'à ce que le serveur LDAP
+ cesse de fonctionner.</p>
+
+ <p>Si le serveur LDAP cesse de fonctionner, et ainsi
+ interrompt une
+ connexion existante, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tentera
+ de se reconnecter en commençant par le premier serveur de la
+ liste, et ainsi de suite avec les serveurs redondants
+ suivants. Notez que ce processus n'a rien à voir avec une
+ véritable recherche de type round-robin.</p>
+ </dd>
+
+<dt>DN-de-</dt>
+
+ <dd>Le DN de la branche de l'annuaire à partir de laquelle
+ toutes les recherches seront lancées. Il doit au moins
+ correspondre à la racine de votre annuaire, mais vous pouvez
+ aussi indiquer une branche plus spécifique.</dd>
+
+<dt>attribut</dt>
+
+ <dd>Il s'agit de l'attribut à utiliser pour la recherche.
+ Bien que la RFC
+ 2255 autorise une liste d'attributs séparés par des virgules,
+ seul le premier sera retenu, sans tenir compte des autres
+ attributs fournis. Si aucun attribut n'est fourni, l'attribut
+ par défaut est <code>uid</code>. Il est judicieux de choisir un
+ attribut dont la valeur sera unique parmi toutes les entrées de
+ la branche de l'annuaire que vous aurez définie.</dd>
+
+<dt>portée</dt>
+
+ <dd>Il s'agit de la portée (scope) de la recherche. Elle peut prendre
+ les valeurs <code>one</code> ou <code>sub</code>. Notez que la
+ RFC 2255 supporte aussi une portée de valeur <code>base</code>,
+ mais cette dernière n'est pas supportée par le module. Si la
+ portée n'est pas définie, ou si elle est définie à
+ <code>base</code>, c'est la valeur de portée par défaut
+ <code>sub</code> qui sera utilisée.</dd>
+
+<dt>filtre</dt>
+
+ <dd>Il s'agit d'un filtre de recherche LDAP valide. Si aucun
+ filtre n'est spécifié, le filtre par défaut
+ <code>(objectClass=*)</code> sera utilisé, ce qui corrspond à
+ une recherche de tous les types d'objets de l'arborescence. La
+ taille des filtres est limitée à environ 8000 caractères (valeur
+ de la macro <code>MAX_STRING_LEN</code> dans le code source
+ d'Apache), ce qui s'avère plus que suffisant pour la plupart des
+ applications.</dd>
+</dl>
+
+ <p>Pour une recherche, les attribut, filtre et nom d'utilisateur
+ fournis par le client HTTP sont combinés pour créer un filtre de
+ recherche du style :
+ <code>(&amp;(<em>filtre</em>)(<em>attribut</em>
+ =<em>nom-utilisateur</em>))</code>.</p>
+
+ <p>Par exemple, considérons l'URL
+ <code>ldap://ldap.airius.com/o=Airius?cn?sub?(posixid=*)</code>.
+ Lorsqu'un client tentera de se connecter en utilisant le nom
+ d'utilisateur <code>Babs Jenson</code>, le filtre de recherche sera
+ : <code>(&amp;(posixid=*)(cn=Babs Jenson))</code>.</p>
+
+ <p>On peut encore ajouter un paramètre optionnel pour permettre à
+ l'URL LDAP de surcharger le type de connexion. Ce paramètre peut
+ prendre l'une des valeurs suivantes :</p>
+
+<dl>
+ <dt>NONE</dt>
+ <dd>Etablit une connexion non sécurisée sur le port LDAP par
+ défaut, ce qui est équivalent à <code>ldap://</code> sur le port
+ 389.</dd>
+ <dt>SSL</dt>
+ <dd>Etablit une connexion sécurisée sur le port LDAP sécurisé
+ par défaut, ce qui est équivalent à <code>ldaps://</code>.</dd>
+ <dt>TLS | STARTTLS</dt>
+ <dd>Etablit une connexion sécurisée par élévation de niveau sur
+ le port LDAP par défaut. Cette connexion sera initialisée sur le
+ port 389 par défaut, puis élevée à un niveau de connexion
+ sécurisée sur le même port.</dd>
+</dl>
+
+ <p>Voir plus haut pour des exemples d'URLs définies par la directive
+ <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code>.</p>
+
+ <p>Lorsque la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> a été définie dans
+ un contexte particulier, et si un autre module a effectué
+ l'authentification correspondant à la requête, le serveur essaiera
+ de faire correspondre le nom d'utilisateur à un DN au cours du
+ processus d'autorisation, que des prérequis LDAP spécifiques soient
+ présents ou non. Pour ignorer les échecs de mise en correspondance
+ d'un nom d'utilisateur avec un DN au cours du processus
+ d'autorisation, définissez <code class="directive"><a href="#&#10; authzldapautoritative">
+ AuthzLDAPAutoritative</a></code> à "off".</p>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthzLDAPAuthoritative" id="AuthzLDAPAuthoritative">AuthzLDAPAuthoritative</a> <a name="authzldapauthoritative" id="authzldapauthoritative">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Empêche tout autre module d'authentification d'authentifier
+l'utilisateur si le module courant échoue.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzLDAPAuthoritative on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthzLDAPAuthoritative on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+ <p>Cette directive doit être définie à <code>off</code> si ce module
+ doit confier l'autorisation de l'utilisateur à d'autres modules
+ d'autorisation en cas d'échec. Le contrôle n'est passé à des modules
+ de plus bas niveau que s'il n'existe aucun DN ou règle qui
+ corresponde au nom d'utilisateur fourni (tel qu'il est transmis par
+ le client).</p>
+ <p>Lorsqu'aucune directive LDAP <code class="directive"><a href="../mod/core.html#require">Require</a></code> spécifique n'est utilisée,
+ l'autorisation peut être confiée à d'autres modules, comme si
+ <code class="directive"><a href="#authzldapauthoritative">AuthzLDAPAuthoritative</a></code> était
+ définie à <code>off</code>.</p>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_ldap.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authnz_ldap.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_dbm.html.en b/docs/manual/mod/mod_authz_dbm.html.en
index 2949ff82..b9ffd664 100644
--- a/docs/manual/mod/mod_authz_dbm.html.en
+++ b/docs/manual/mod/mod_authz_dbm.html.en
@@ -180,6 +180,6 @@ store list of user groups</td></tr>
<p><span>Available Languages: </span><a href="../en/mod/mod_authz_dbm.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/mod_authz_dbm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_dbm.html.ko.euc-kr b/docs/manual/mod/mod_authz_dbm.html.ko.euc-kr
index 98c7e94f..74746c91 100644
--- a/docs/manual/mod/mod_authz_dbm.html.ko.euc-kr
+++ b/docs/manual/mod/mod_authz_dbm.html.ko.euc-kr
@@ -165,6 +165,6 @@
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_authz_dbm.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/mod_authz_dbm.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_default.html.en b/docs/manual/mod/mod_authz_default.html.en
index 0378c080..3ecc31a9 100644
--- a/docs/manual/mod/mod_authz_default.html.en
+++ b/docs/manual/mod/mod_authz_default.html.en
@@ -75,6 +75,6 @@ modules</td></tr>
<a href="../ja/mod/mod_authz_default.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_default.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_default.html.ja.utf8 b/docs/manual/mod/mod_authz_default.html.ja.utf8
index cdcc8675..35c84e68 100644
--- a/docs/manual/mod/mod_authz_default.html.ja.utf8
+++ b/docs/manual/mod/mod_authz_default.html.ja.utf8
@@ -74,6 +74,6 @@
<a href="../ja/mod/mod_authz_default.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_default.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_default.html.ko.euc-kr b/docs/manual/mod/mod_authz_default.html.ko.euc-kr
index 9c4f382d..ad6f2d5c 100644
--- a/docs/manual/mod/mod_authz_default.html.ko.euc-kr
+++ b/docs/manual/mod/mod_authz_default.html.ko.euc-kr
@@ -73,6 +73,6 @@
<a href="../ja/mod/mod_authz_default.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_default.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_groupfile.html.en b/docs/manual/mod/mod_authz_groupfile.html.en
index 71277876..a05b6552 100644
--- a/docs/manual/mod/mod_authz_groupfile.html.en
+++ b/docs/manual/mod/mod_authz_groupfile.html.en
@@ -120,6 +120,6 @@ modules</td></tr>
<a href="../ja/mod/mod_authz_groupfile.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_groupfile.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_groupfile.html.ja.utf8 b/docs/manual/mod/mod_authz_groupfile.html.ja.utf8
index 3178baa7..80809f08 100644
--- a/docs/manual/mod/mod_authz_groupfile.html.ja.utf8
+++ b/docs/manual/mod/mod_authz_groupfile.html.ja.utf8
@@ -127,6 +127,6 @@
<a href="../ja/mod/mod_authz_groupfile.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_groupfile.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr b/docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr
index 2d995cda..d3008e4e 100644
--- a/docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr
+++ b/docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr
@@ -116,6 +116,6 @@
<a href="../ja/mod/mod_authz_groupfile.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_groupfile.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_host.html.en b/docs/manual/mod/mod_authz_host.html.en
index 8d061556..3013e900 100644
--- a/docs/manual/mod/mod_authz_host.html.en
+++ b/docs/manual/mod/mod_authz_host.html.en
@@ -368,6 +368,6 @@ evaluated.</td></tr>
<a href="../ja/mod/mod_authz_host.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_host.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_host.html.ja.utf8 b/docs/manual/mod/mod_authz_host.html.ja.utf8
index 544134f5..561d4787 100644
--- a/docs/manual/mod/mod_authz_host.html.ja.utf8
+++ b/docs/manual/mod/mod_authz_host.html.ja.utf8
@@ -344,6 +344,6 @@
<a href="../ja/mod/mod_authz_host.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_host.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_host.html.ko.euc-kr b/docs/manual/mod/mod_authz_host.html.ko.euc-kr
index 07749877..edd75d3b 100644
--- a/docs/manual/mod/mod_authz_host.html.ko.euc-kr
+++ b/docs/manual/mod/mod_authz_host.html.ko.euc-kr
@@ -305,6 +305,6 @@
<a href="../ja/mod/mod_authz_host.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_host.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_owner.html.en b/docs/manual/mod/mod_authz_owner.html.en
index 24d2bd6d..8baf47d6 100644
--- a/docs/manual/mod/mod_authz_owner.html.en
+++ b/docs/manual/mod/mod_authz_owner.html.en
@@ -180,6 +180,6 @@ modules</td></tr>
<a href="../ja/mod/mod_authz_owner.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_owner.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_owner.html.ja.utf8 b/docs/manual/mod/mod_authz_owner.html.ja.utf8
index 33c3ce39..62c72195 100644
--- a/docs/manual/mod/mod_authz_owner.html.ja.utf8
+++ b/docs/manual/mod/mod_authz_owner.html.ja.utf8
@@ -182,6 +182,6 @@
<a href="../ja/mod/mod_authz_owner.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_owner.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_owner.html.ko.euc-kr b/docs/manual/mod/mod_authz_owner.html.ko.euc-kr
index ea5da7c1..438b7484 100644
--- a/docs/manual/mod/mod_authz_owner.html.ko.euc-kr
+++ b/docs/manual/mod/mod_authz_owner.html.ko.euc-kr
@@ -177,6 +177,6 @@
<a href="../ja/mod/mod_authz_owner.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_owner.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_user.html.en b/docs/manual/mod/mod_authz_user.html.en
index 8ee26567..01fc5e7a 100644
--- a/docs/manual/mod/mod_authz_user.html.en
+++ b/docs/manual/mod/mod_authz_user.html.en
@@ -79,6 +79,6 @@ modules</td></tr>
<a href="../ja/mod/mod_authz_user.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_user.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_user.html.ja.utf8 b/docs/manual/mod/mod_authz_user.html.ja.utf8
index 5f772ca5..42ff2a77 100644
--- a/docs/manual/mod/mod_authz_user.html.ja.utf8
+++ b/docs/manual/mod/mod_authz_user.html.ja.utf8
@@ -80,6 +80,6 @@
<a href="../ja/mod/mod_authz_user.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_user.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_authz_user.html.ko.euc-kr b/docs/manual/mod/mod_authz_user.html.ko.euc-kr
index 82eef1b4..018e80c8 100644
--- a/docs/manual/mod/mod_authz_user.html.ko.euc-kr
+++ b/docs/manual/mod/mod_authz_user.html.ko.euc-kr
@@ -78,6 +78,6 @@
<a href="../ja/mod/mod_authz_user.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_authz_user.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_autoindex.html b/docs/manual/mod/mod_autoindex.html
index 80687cd6..f4075af7 100644
--- a/docs/manual/mod/mod_autoindex.html
+++ b/docs/manual/mod/mod_autoindex.html
@@ -4,6 +4,10 @@ URI: mod_autoindex.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: mod_autoindex.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: mod_autoindex.html.ja.utf8
Content-Language: ja
Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/mod/mod_autoindex.html.en b/docs/manual/mod/mod_autoindex.html.en
index ef03923a..d8d9aaa5 100644
--- a/docs/manual/mod/mod_autoindex.html.en
+++ b/docs/manual/mod/mod_autoindex.html.en
@@ -22,6 +22,7 @@
<div id="preamble"><h1>Apache Module mod_autoindex</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_autoindex.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
@@ -327,7 +328,7 @@ icon selected by MIME content-type</td></tr>
</table>
<p>This sets the icon to display next to a file ending in
<var>name</var> for <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. <var>Icon</var> is either a (%-escaped)
- relative URL to the icon, or of the format <code>
+ relative URL to the icon, a fully qualified remote URL, or of the format <code>
(<var>alttext</var>,<var>url</var>)</code> where <var>alttext</var>
is the text tag given for an icon for non-graphical browsers.</p>
@@ -336,6 +337,10 @@ icon selected by MIME content-type</td></tr>
correctly), a file extension, a wildcard expression, a partial
filename or a complete filename.</p>
+ <p><code>^^BLANKICON^^</code> is only used for formatting, and so
+ is unnecessary if you're using <code>IndexOptions
+ HTMLTable</code>.</p>
+
<div class="example"><h3>Examples</h3><p><code>
AddIcon (IMG,/icons/image.xbm) .gif .jpg .xbm<br />
AddIcon /icons/dir.xbm ^^DIRECTORY^^<br />
@@ -361,6 +366,7 @@ content-encoding</td></tr>
</table>
<p>This sets the icon to display next to files with <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
<var>Icon</var> is either a (%-escaped) relative URL to the icon,
+ a fully qualified remote URL,
or of the format <code>(<var>alttext</var>,<var>url</var>)</code>
where <var>alttext</var> is the text tag given for an icon for
non-graphical browsers.</p>
@@ -388,6 +394,7 @@ content-type</td></tr>
<p>This sets the icon to display next to files of type
<var>MIME-type</var> for <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
<var>Icon</var> is either a (%-escaped) relative URL to the icon,
+ a fully qualified remote URL,
or of the format <code>(<var>alttext</var>,<var>url</var>)</code>
where <var>alttext</var> is the text tag given for an icon for
non-graphical browsers.</p>
@@ -413,7 +420,8 @@ configured</td></tr>
</table>
<p>The <code class="directive">DefaultIcon</code> directive sets the icon
to display for files when no specific icon is known, for <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
- <var>Url-path</var> is a (%-escaped) relative URL to the icon.</p>
+ <var>Url-path</var> is a (%-escaped) relative URL to the icon,
+ or a fully qualified remote URL.</p>
<div class="example"><h3>Example</h3><p><code>
DefaultIcon /icon/unknown.xbm
@@ -503,6 +511,7 @@ of the index listing</td></tr>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adds to the list of files to hide when listing
a directory</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>IndexIgnore <var>file</var> [<var>file</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>IndexIgnore "."</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
@@ -517,7 +526,7 @@ a directory</td></tr>
directory).</p>
<div class="example"><p><code>
- IndexIgnore README .htaccess *.bak *~
+ IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
</code></p></div>
</div>
@@ -528,6 +537,7 @@ a directory</td></tr>
indexing</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>]
...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>By default, no options are enabled.</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
@@ -875,10 +885,12 @@ Name|Date|Size|Description</code></td></tr>
and identifies the primary key. The secondary key is
<em>always</em> the ascending filename.</p>
- <p>You can force a directory listing to only be displayed in a
- particular order by combining this directive with the <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> index option; this will prevent
- the client from requesting the directory listing in a different
- order.</p>
+ <p>You can, if desired, prevent the client from reordering the list
+ by also adding the <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code>
+ index option to remove the sort link from the top of the column,
+ along with the <code><a href="#indexoptions.ignoreclient">IgnoreClient</a></code> index
+ option to prevent them from manually adding sort options to the
+ query string in order to override your ordering preferences.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -934,10 +946,11 @@ of the index listing</td></tr>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_autoindex.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_autoindex.html.fr b/docs/manual/mod/mod_autoindex.html.fr
new file mode 100644
index 00000000..a907a0a5
--- /dev/null
+++ b/docs/manual/mod/mod_autoindex.html.fr
@@ -0,0 +1,1030 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_autoindex - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_autoindex</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_autoindex.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Génère automatiquement des index de répertoires d'une
+manière similaire à la commande Unix <code>ls</code>, ou à la commande
+shell Win32 <code>dir</code></td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>autoindex_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_autoindex.c</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>L'index d'un répertoire peut être généré de deux manières :</p>
+
+ <ul>
+ <li>Un fichier écrit par l'utilisateur, en général appelé
+ <code>index.html</code>, mais dont le nom peut être défini par la
+ directive <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>. C'est le module
+ <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> qui traite alors cet index.</li>
+
+ <li>Un listing généré par le serveur, dont le format est contrôlé
+ par un certain nombre de directives. Les directives <code class="directive"><a href="#addicon">AddIcon</a></code>, <code class="directive"><a href="#addiconbyencoding">AddIconByEncoding</a></code> et <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> permettent de
+ définir une liste d'icônes à afficher en fonction des différents
+ types de fichiers ; pour chaque fichier listé, le premier icône
+ qui correspond au type du fichier est affiché. C'est le module
+ <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> qui traite alors cet index.</li>
+ </ul>
+ <p>Les deux fonctions sont séparées, si bien que vous pouvez
+ entièrement supprimer (ou remplacer) la génération automatique
+ d'index, si vous le souhaitez.</p>
+
+ <p>On active la génération automatique d'index en spécifiant
+ <code>Options +Indexes</code>. Voir la directive <code class="directive"><a href="../mod/core.html#options">Options</a></code> pour plus de détails.</p>
+
+ <p>Si la directive <code class="directive"><a href="#indexoptions">IndexOptions</a></code> est spécifiée avec
+ l'option <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>, les en-têtes de colonnes sont des liens
+ qui permettent de contrôler l'ordre de tri de l'affichage. Si vous
+ actionnez le lien d'un en-tête, le listing sera généré à nouveau,
+ trié en fonction des valeurs de la colonne concernée. Si l'on
+ actionne de manière répétitive le même en-tête, l'ordre de tri est
+ commuté entre les ordres croissant et décroissant. On peut supprimer
+ ces liens d'en-têtes de colonnes à l'aide de l'option
+ <code>SuppressColumnSorting</code> de la directive <code class="directive"><a href="#indexoptions">IndexOptions</a></code>.</p>
+
+ <p>Notez que lorsque l'affichage est trié en fonction de la taille,
+ c'est la taille <em>réelle</em> qui est prise en compte, et non la
+ valeur affichée - ainsi, un fichier de 1010 octets sera toujours
+ affiché avant un fichier de 1011 octets (en ordre croissant), même
+ si la taille affichée des deux fichiers est "1K".</p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#addalt">AddAlt</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#addaltbyencoding">AddAltByEncoding</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#addaltbytype">AddAltByType</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#adddescription">AddDescription</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#addicon">AddIcon</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#addiconbyencoding">AddIconByEncoding</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#addiconbytype">AddIconByType</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#defaulticon">DefaultIcon</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#headername">HeaderName</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#indexheadinsert">IndexHeadInsert</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#indexignore">IndexIgnore</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#indexoptions">IndexOptions</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#indexorderdefault">IndexOrderDefault</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#indexstylesheet">IndexStyleSheet</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#readmename">ReadmeName</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#query">Arguments de la requête d'autoindexation</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="query" id="query">Arguments de la requête d'autoindexation</a></h2>
+
+
+ <p>Apache 2.0.23 a réorganisé les arguments de requête pour le tri
+ des colonnes, et intoduit un groupe complet de nouvelles options de
+ requête. Pour interdire effectivement au client tout contrôle sur
+ l'affichage, l'option <code><a href="#indexoptions.ignoreclient">IndexOptions
+ IgnoreClient</a></code> a été ajoutée.</p>
+
+ <p>Les en-têtes de tri des colonnes eux-mêmes sont des hyper-liens
+ auto-référant qui ajoutent les options de tri à la requête énumérées
+ ci-dessous qui peuvent être ajoutées à toute requête concernant la
+ ressource répertoire.</p>
+
+ <ul>
+ <li><code>C=N</code> trie l'affichage en fonction du nom de
+ fichier</li>
+
+ <li><code>C=M</code> trie l'affichage en fonction de la date de
+ dernière modification, puis du nom de fichier</li>
+
+ <li><code>C=S</code> trie l'affichage en fonction de la taille,
+ puis du nom de fichier</li>
+
+ <li class="separate"><code>C=D</code> trie l'affichage en fonction
+ de la description, puis du nom de fichier</li>
+
+ <li><code>O=A</code> trie l'affichage selon l'ordre croissant</li>
+
+ <li class="separate"><code>O=D</code> trie l'affichage selon
+ l'ordre décroissant</li>
+
+ <li><code>F=0</code> affiche le listing sous la forme d'une simple
+ liste (not FancyIndexed)</li>
+
+ <li><code>F=1</code> affiche le listing avec en-têtes de colonnes
+ sous forme de liens hyper-textes (FancyIndexed)</li>
+
+ <li class="separate"><code>F=2</code> affiche le listing sous
+ forme de table HTML avec en-têtes de colonnes contenant des liens
+ hyper-textes (FancyIndexed)</li>
+
+ <li><code>V=0</code> désactive le tri en fonction de la
+ version</li>
+
+ <li class="separate"><code>V=1</code> active le tri en fonction de
+ la version</li>
+
+ <li><code>P=<var>modèle</var></code> n'affiche que les fichiers
+ correspondant au <var>modèle</var> spécifié</li>
+ </ul>
+
+ <p>Notez que l'argument 'P' (pour Pattern) n'est testé
+ qu'<em>après</em> que les directives habituelles <code class="directive"><a href="#indexignore">IndexIgnore</a></code> n'aient été traitées,
+ et que tous les noms de fichiers sont encore assujettis aux mêmes
+ critères que pour tout autre listing auto-indexé. L'interpréteur
+ d'arguments de requête de <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> s'arrête
+ immédiatement s'il rencontre une option non reconnue. Les arguments
+ de requête doivent être bien formés, selon la table ci-dessus.</p>
+
+ <p>Les options de requêtes sont illustrées par l'exemple ci-dessous,
+ qui peut être copié et collé dans un fichier header.html. Notez que
+ l'argument inconnu "X", pour le bouton submit, est introduit en
+ dernier afin de s'assurer que tous les arguments aient été
+ interprétés avant que mod_autoindex ne rencontre l'entrée X=Go.</p>
+
+ <div class="example"><p><code>
+ &lt;form action="" method="get"&gt;<br />
+ <span class="indent">
+ Montre moi une &lt;select name="F"&gt;<br />
+ <span class="indent">
+ &lt;option value="0"&gt; simple liste&lt;/option&gt;<br />
+ &lt;option value="1" selected="selected"&gt; liste avec
+ en-têtes&lt;/option&gt;<br />
+ &lt;option value="2"&gt; liste avec en-tête sous forme de
+ table&lt;/option&gt;<br />
+ </span>
+ &lt;/select&gt;<br />
+ triée par &lt;select name="C"&gt;<br />
+ <span class="indent">
+ &lt;option value="N" selected="selected"&gt; nom&lt;/option&gt;<br />
+ &lt;option value="M"&gt; date de modification&lt;/option&gt;<br />
+ &lt;option value="S"&gt; taille&lt;/option&gt;<br />
+ &lt;option value="D"&gt; description&lt;/option&gt;<br />
+ </span>
+ &lt;/select&gt;<br />
+ &lt;select name="O"&gt;<br />
+ <span class="indent">
+ &lt;option value="A" selected="selected"&gt; croissant&lt;/option&gt;<br />
+ &lt;option value="D"&gt; décroissant&lt;/option&gt;<br />
+ </span>
+ &lt;/select&gt;<br />
+ &lt;select name="V"&gt;<br />
+ <span class="indent">
+ &lt;option value="0" selected="selected"&gt; dans l'ordre
+ normal&lt;/option&gt;<br />
+ &lt;option value="1"&gt; en fonction de la version&lt;/option&gt;<br />
+ </span>
+ &lt;/select&gt;<br />
+ correspondant à &lt;input type="text" name="P" value="*" /&gt;<br />
+ &lt;input type="submit" name="X" value="Go" /&gt;<br />
+ </span>
+ &lt;/form&gt;
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AddAlt" id="AddAlt">AddAlt</a> <a name="addalt" id="addalt">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Texte optionnel à afficher à la place d'un icône pour un
+fichier en fonction de son nom</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddAlt <var>texte</var> <var>fichier</var> [<var>fichier</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+</table>
+ <p>La directive <code class="directive">AddAlt</code> permet d'afficher un
+ texte optionnel pour un fichier, à la place d'un icône, dans le cas
+ d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
+ <var>fichier</var> est une extension de fichier, un nom de fichier
+ partiel, une expression avec caractères génériques où un nom de
+ fichier complet permettant de caractériser le(s) fichier(s)
+ concerné(s). Si <var>texte</var> contient des espaces, vous devez
+ l'entourer de guillemets ou d'apostrophes (<code>"</code> ou
+ <code>'</code>). Ce texte optionnel sera affiché si le client ne
+ peut pas afficher d'images, si le chargement d'images est désactivé
+ ou si l'icône ne peut pas être trouvé.</p>
+
+ <div class="example"><h3>Exemples</h3><p><code>
+ AddAlt "Fichier PDF" *.pdf<br />
+ AddAlt Compressé *.gz *.zip *.Z
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AddAltByEncoding" id="AddAltByEncoding">AddAltByEncoding</a> <a name="addaltbyencoding" id="addaltbyencoding">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Texte optionnel à afficher à la place d'un icône pour un
+fichier en fonction de son codage MIME</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddAltByEncoding <var>texte</var> <var>codage MIME</var>
+[<var>codage MIME</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+</table>
+ <p>La directive <code class="directive">AddAltByEncoding</code> permet
+ d'afficher un texte optionnel à la place d'un icône pour un fichier
+ dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
+ <var>codage MIME</var> doit être un type valide, comme
+ <code>x-compress</code>. Si <var>texte</var> contient des espaces,
+ vous devez l'entourer de guillemets ou d'apostrophes (<code>"</code>
+ ou <code>'</code>). Ce texte optionnel sera affiché si le client ne
+ peut pas afficher d'images, si le chargement d'images est désactivé
+ ou si l'icône ne peut pas être trouvé.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ AddAltByEncoding gzip x-gzip
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AddAltByType" id="AddAltByType">AddAltByType</a> <a name="addaltbytype" id="addaltbytype">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Texte optionnel à afficher à la place d'un icône pour un
+fichier en fonction de son type MIME</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddAltByType <var>texte</var> <var>type MIME</var>
+[<var>type MIME</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+</table>
+ <p>La directive <code class="directive">AddAltByType</code> permet
+ d'afficher un texte optionnel à la place d'un icône pour un fichier
+ dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
+ <var>type MIME</var> doit être un type MIME valide, comme
+ <code>text/html</code>. Si <var>texte</var> contient des espaces,
+ vous devez l'entourer de guillemets ou d'apostrophes (<code>"</code>
+ ou <code>'</code>). Ce texte optionnel sera affiché si le client ne
+ peut pas afficher d'images, si le chargement d'images est désactivé
+ ou si l'icône ne peut pas être trouvé.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ AddAltByType 'Fichier texte' text/plain
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AddDescription" id="AddDescription">AddDescription</a> <a name="adddescription" id="adddescription">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Afficher la description d'un fichier</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddDescription <var>texte</var> [<var>fichier</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+</table>
+ <p>Cette directive permet d'afficher une description pour un
+ fichier, dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
+ <var>fichier</var> est une extension de fichier, un nom de fichier
+ partiel, une expression avec caractères génériques ou un nom de
+ fichier complet permettant de caractériser le fichier.
+ <var>texte</var> doit être entouré de guillemets
+ (<code>"</code>).</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ AddDescription "La planète Mars" /web/pics/mars.gif
+ </code></p></div>
+
+ <p>La taille par défaut, habituelle du champ de description est de
+ 23 octets. L'option <code><a href="#indexoptions.suppressicon">IndexOptions SuppressIcon</a></code> ajoute 6 octets, l'option
+ <code><a href="#indexoptions.suppresssize">IndexOptions
+ SuppressSize</a></code> en ajoute 7 et l'option <code><a href="#indexoptions.suppresslastmodified">IndexOptions
+ SuppressLastModified</a></code> en ajoute 19. Ainsi, la plus grande
+ taille par défaut qui peut être assignée à la colonne description
+ est de 55 octets.</p>
+
+ <p>Voir le mot-clé <a href="#indexoptions.descriptionwidth">DescriptionWidth</a> de la directive <code class="directive">module="mod_autoindex"&gt;IndexOptions</code> pour plus de
+ détails sur la manière d'augmenter la taille de cette colonne, ou
+ pour permettre des descriptions de taille illimitée.</p>
+
+ <div class="note"><h3>Avertissement</h3>
+ <p>Le texte descriptif défini par la directive
+ <code class="directive">AddDescription</code> peut contenir des marquages
+ HTML, comme des balises ou des entités caractères. Si la limite de
+ taille de la colonne description venait à tronquer une balise (par
+ exemple couper la fin d'une phrase en caractères gras), le
+ résultat pourrait en affecter toute la suite du listing du
+ répertoire.</p>
+ </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AddIcon" id="AddIcon">AddIcon</a> <a name="addicon" id="addicon">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher pour un fichier en fonction de son
+nom</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddIcon <var>icône</var> <var>nom</var> [<var>nom</var>]
+...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+</table>
+ <p>Cette directive permet de déterminer l'icône à afficher à côté
+ d'un fichier dont le nom se termine par <var>nom</var>, dans le cas
+ d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. <var>icône</var> est une URL relative
+ (échappée par des caractères '%') vers
+ l'icône, une URL pleinement qualifiée, ou de la forme
+ <code>(<var>alttext</var>,<var>url</var>)</code>, où
+ <var>alttext</var> est le symbole texte correspondant à l'icône à
+ afficher dans les navigateurs en mode texte.</p>
+
+ <p><var>nom</var> correspond à <code>^^DIRECTORY^^</code> pour les
+ répertoires, <code>^^BLANKICON^^</code> pour les lignes vides
+ (pour personnaliser la présentation du listing), une extension de
+ fichier, une expression avec caractères génériques, un nom de
+ fichier partiel ou un nom de fichier complet.</p>
+
+ <p><code>^^BLANKICON^^</code> n'est utilisé que pour le formatage,
+ et n'est donc pas nécessaire si vous utilisez <code>IndexOptions
+ HTMLTable</code>.</p>
+
+ <div class="example"><h3>Exemples</h3><p><code>
+ AddIcon (IMG,/icons/image.xbm) .gif .jpg .xbm<br />
+ AddIcon /icons/dir.xbm ^^DIRECTORY^^<br />
+ AddIcon /icons/backup.xbm *~
+ </code></p></div>
+
+ <p>Lorsque c'est possible, il est préférable d'utiliser <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> plutôt que
+ <code class="directive">AddIcon</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AddIconByEncoding" id="AddIconByEncoding">AddIconByEncoding</a> <a name="addiconbyencoding" id="addiconbyencoding">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher à côté d'un fichier en fonction de son
+codage MIME</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddIconByEncoding <var>icône</var> <var>codage MIME</var>
+[<var>codage MIME</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+</table>
+ <p>Cette directive permet de déterminer l'icône à afficher à côté
+ d'un fichier dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
+ <var>icône</var> est une URL relative
+ (échappée par des caractères '%') vers
+ l'icône, une URL pleinement qualifiée, ou de la forme
+ <code>(<var>alttext</var>,<var>url</var>)</code>, où
+ <var>alttext</var> est le symbole texte correspondant à l'icône à
+ afficher dans les navigateurs en mode texte.</p>
+
+ <p><var>codage MIME</var> doit être un codage valide, comme
+ <code>x-compress</code>.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ AddIconByEncoding /icons/compress.xbm x-compress
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AddIconByType" id="AddIconByType">AddIconByType</a> <a name="addiconbytype" id="addiconbytype">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher à côté d'un fichier en fonction de son
+type MIME</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddIconByType <var>icône</var> <var>type MIME</var>
+[<var>type MIME</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+</table>
+ <p>Cette directive permet de déterminer l'icône à afficher à côté
+ d'un fichier de type MIME <var>type MIME</var> dans le cas d'un
+ affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
+ <var>icône</var> est une URL relative
+ (échappée par des caractères '%') vers
+ l'icône, une URL pleinement qualifiée, ou de la forme
+ <code>(<var>alttext</var>,<var>url</var>)</code>, où
+ <var>alttext</var> est le symbole texte correspondant à l'icône à
+ afficher dans les navigateurs en mode texte.</p>
+
+ <p><var>type MIME</var> est une expression avec caractères
+ génériques représentant le type MIME.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ AddIconByType (IMG,/icons/image.xbm) image/*
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="DefaultIcon" id="DefaultIcon">DefaultIcon</a> <a name="defaulticon" id="defaulticon">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher par défaut lorsqu'aucun icône spécifique
+n'est précisé</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultIcon <var>chemin URL</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+</table>
+ <p>La directive <code class="directive">DefaultIcon</code> permet de définir
+ l'icône à afficher à côté d'un fichier lorsqu'aucun icône spécifique
+ n'a été précisé, dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
+ <var>chemin URL</var> est une URL relative (échappée par des
+ caractères '%') vers l'icône,ou une URL pleinement qualifiée.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ DefaultIcon /icon/inconnu.xbm
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="HeaderName" id="HeaderName">HeaderName</a> <a name="headername" id="headername">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier qui sera inséré au début de la page
+contenant l'index</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeaderName <var>nom fichier</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+</table>
+ <p>La directive <code class="directive">HeaderName</code> permet de définir
+ le nom du fichier qui sera inséré au début de la page contenant
+ l'index. <var>nom fichier</var> est le nom du fichier à inclure.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ HeaderName HEADER.html
+ </code></p></div>
+
+ <div class="note">
+ <p>Les deux directives HeaderName et <code class="directive"><a href="#readmename">ReadmeName</a></code> traitent maintenant
+ <var>nom fichier</var> comme un chemin URI relatif au chemin
+ utilisé pour accéder au répertoire faisant l'objet de l'index. Si
+ <var>nom fichier</var> commence par un slash '/', il sera
+ considéré comme relatif au répertoire défini par la directive
+ <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ HeaderName /include/HEADER.html
+ </code></p></div>
+
+ <p><var>nom fichier</var> doit correspondre à un document dont le
+ type MIME est du style <code>text/*</code> (<em>par exemple</em>
+ <code>text/html</code>, <code>text/plain</code>, etc...). Cela
+ signifie que <var>nom fichier</var> peut faire référence à un
+ script CGI si le véritable type MIME du script (et non celui de sa
+ sortie) est marqué comme <code>text/html</code> par exemple à
+ l'aide d'une directive comme :</p>
+
+ <div class="example"><p><code>
+ AddType text/html .cgi
+ </code></p></div>
+
+ <p>Une <a href="../content-negotiation.html">négociation de
+ contenu</a> sera effectuée si <code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>MultiViews</code> a été
+ précisé. Si <var>nom fichier</var> correspond à un document
+ statique <code>text/html</code> (et non à un script CGI), et une
+ des deux <code class="directive"><a href="../mod/core.html#options">options</a></code>
+ <code>Includes</code> ou <code>IncludesNOEXEC</code> est activée,
+ le fichier sera traité en tant qu'inclusion côté serveur (Server
+ Side Include) (voir la documentation de
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>).</p>
+ </div>
+
+ <p>Si le fichier spécifié par la directive
+ <code class="directive">HeaderName</code> contient les en-têtes d'un
+ document HTML ((&lt;html&gt;, &lt;head&gt;, etc...), vous serez
+ probablement amené à définir <a href="#indexoptions.suppresshtmlpreamble"><code>IndexOptions
+ +SuppressHTMLPreamble</code></a>, de manière à ce que ces balises ne
+ soient pas répétées.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="IndexHeadInsert" id="IndexHeadInsert">IndexHeadInsert</a> <a name="indexheadinsert" id="indexheadinsert">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Insère du texte dans la section HEAD de la page
+d'index.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexHeadInsert <var>"marque ..."</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.11
+d'Apache</td></tr>
+</table>
+ <p>La directive <code class="directive">IndexHeadInsert</code> permet de
+ spécifier une chaîne de caractères à insérer dans la section
+ <var>&lt;head&gt;</var> du code HTML généré pour la page
+ d'index.</p>
+ <div class="example"><h3>Exemple</h3><p><code>
+
+ IndexHeadInsert "&lt;link rel=\"sitemap\" href=\"/sitemap.html\"&gt;"
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="IndexIgnore" id="IndexIgnore">IndexIgnore</a> <a name="indexignore" id="indexignore">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajouts à la liste des fichiers à cacher lors de l'affichage
+de l'index d'un répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexIgnore <var>fichier</var> [<var>fichier</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>IndexIgnore "."</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+</table>
+ <p>La directive <code class="directive">IndexIgnore</code> permet
+ d'effectuer des ajouts à la liste des fichiers à cacher lors de
+ l'affichage de l'index d'un répertoire. <var>fichier</var> est une
+ expression avec caractères génériques de style shell ou un nom de
+ fichier complet. Plusieurs directives IndexIgnore effectuent des
+ ajouts à la liste, et ne remplacent pas la liste des fichiers à
+ ignorer. Par défaut, la liste contient <code>.</code> (le répertoire
+ courant).</p>
+
+ <div class="example"><p><code>
+ IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="IndexOptions" id="IndexOptions">IndexOptions</a> <a name="indexoptions" id="indexoptions">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Diverses options de configuration pour l'indexation d'un
+répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>]
+...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Par défaut, aucune option n'est activée.</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+</table>
+ <p>La directive <code class="directive">IndexOptions</code> permet de
+ spécifier les options de configuration de l'indexation du
+ répertoire. <var>option</var> peut prendre l'une des valeurs
+ suivantes :</p>
+
+ <dl>
+ <dt><a name="indexoptions.charset" id="indexoptions.charset">Charset=<var>jeu de caractères</var></a> (<em>Versions 2.0.61 et
+ supérieures d'Apache</em>)</dt>
+
+ <dd>Le mot-clé <code>Charset</code> vous permet de spécifier le
+ jeu de caractères de la page générée. La valeur par défaut est
+ soit <var>UTF-8</var>, <var>ISO-8859-1</var>, selon que le
+ système de fichiers sous-jacent est unicode ou non.
+
+ <div class="example"><h3>Exemple :</h3><p><code>
+ IndexOptions Charset=UTF-8
+ </code></p></div>
+ </dd>
+
+ <dt><a name="indexoptions.type" id="indexoptions.type">Type=<var>type MIME</var></a> (<em>Versions 2.0.61 et
+ supérieures d'Apache</em>)</dt>
+
+ <dd>Le mot-clé <code>Type</code> vous permet de spécifier le type
+ MIME de la page générée. La valeur par défaut est
+ <var>text/html</var>.
+
+ <div class="example"><h3>Exemple :</h3><p><code>
+ IndexOptions Type=text/plain
+ </code></p></div>
+ </dd>
+
+ <dt><a name="indexoptions.descriptionwidth" id="indexoptions.descriptionwidth">DescriptionWidth=[<var>n</var> | *]</a> (<em>Versions 2.0.23 et
+ supérieures d'Apache</em>)</dt>
+
+ <dd>Le mot-clé <code>DescriptionWidth</code> vous permet de
+ spécifier la taille en caractères de la colonne description.</dd>
+
+ <dd>Avec <code>-DescriptionWidth</code> (ou si l'option n'est pas
+ définie), <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> calcule la meilleure
+ taille.</dd>
+
+ <dd><code>DescriptionWidth=<var>n</var></code> fixe la taille de
+ la colonne à <var>n</var> octets.</dd>
+
+ <dd><code>DescriptionWidth=*</code> ajuste la taille de la colonne
+ à la plus longue chaîne de description.</dd>
+
+ <dd><strong>Voir la section concernant <code class="directive"><a href="#adddescription">AddDescription</a></code> pour les dangers
+ inhérants à la troncature des descriptions.</strong></dd>
+
+ <dt><a name="indexoptions.fancyindexing" id="indexoptions.fancyindexing">FancyIndexing</a></dt>
+
+ <dd>Cette option active l'indexation "améliorée" des répertoires,
+ c'est à dire avec en-têtes de colonnes sous forme d'hyper-liens
+ auto-référants.</dd>
+
+ <dt><a name="indexoptions.foldersfirst" id="indexoptions.foldersfirst">FoldersFirst</a> (<em>Versions 2.0.23 et
+ supérieures d'Apache</em>)</dt>
+
+ <dd>Lorsque cette option est activée, la liste des
+ sous-répertoires apparaîtra <em>toujours</em> en premier, suivie
+ de la liste des fichiers normaux du répertoire. Le listing
+ comporte principalement deux parties, les fichiers et les
+ sous-répertoires, chacun d'eux étant trié séparément et les
+ sous-répertoires affichés en premier. Par exemple, si l'ordre de
+ tri est décroissant par nom, et si <code>FoldersFirst</code> est
+ activé, le sous-répertoire <code>Zed</code> sera affiché avant le
+ sous-répertoire <code>Beta</code>, qui sera lui-même affiché avant
+ les fichiers normaux <code>Gamma</code> et <code>Alpha</code>.
+ <strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a>
+ est aussi activé.</strong></dd>
+
+ <dt><a name="indexoptions.htmltable" id="indexoptions.htmltable">HTMLTable</a>
+ (<em>Expérimental, versions 2.0.23 et supérieures
+ d'Apache</em>)</dt>
+
+ <dd>Cette option expérimentale pour l'affichage
+ <code>FancyIndexing</code> permet de construire une table simple
+ pour l'affichage de l'index du répertoire. Notez que cela risque
+ de perturber les anciens navigateurs. Cette option s'avèrera
+ particulièrement nécessaire si les noms de fichiers ou les chaînes
+ de description alternent entre les ordres de lecture gauche à
+ droite et droite à gauche, comme cela peut arriver sous WinNT ou
+ d'autres plate-formes où utf-8 est activé.</dd>
+
+ <dt><a name="indexoptions.iconsarelinks" id="indexoptions.iconsarelinks">IconsAreLinks</a></dt>
+
+ <dd>Configure la partie réservée aux icônes de l'ancrage pour le
+ nom de fichier, dans le cas d'un affichage "amélioré".</dd>
+
+ <dt><a name="indexoptions.iconheight" id="indexoptions.iconheight">IconHeight[=<var>pixels</var>]</a></dt>
+
+ <dd>Si cette option est présente, en combinaison avec
+ <code>IconWidth</code>, le serveur va inclure les attributs
+ <code>height</code> et <code>width</code> dans la balise
+ <code>img</code> qui référence le fichier de l'icône. Ceci va
+ permettre au navigateur de prévoir les caractéristiques de la page
+ sans devoir attendre que toutes les images aient été chargées. En
+ l'absence de cette option, c'est la hauteur standard définie par
+ le logiciel Apache qui est choisie comme valeur par défaut.</dd>
+
+ <dt><a name="indexoptions.iconwidth" id="indexoptions.iconwidth">IconWidth[=<var>pixels</var>]</a></dt>
+
+ <dd>Si cette option est présente, en combinaison avec
+ <code>IconHeight</code>, le serveur va inclure les attributs
+ <code>height</code> et <code>width</code> dans la balise
+ <code>img</code> qui référence le fichier de l'icône. Ceci va
+ permettre au navigateur de prévoir les caractéristiques de la page
+ sans devoir attendre que toutes les images aient été chargées. En
+ l'absence de cette option, c'est la largeur standard définie par
+ le logiciel Apache qui est choisie comme valeur par défaut.</dd>
+
+ <dt><a name="indexoptions.ignorecase" id="indexoptions.ignorecase">IgnoreCase</a></dt>
+
+ <dd>Si cette option est activée, les noms sont triés sans tenir
+ compte de la casse. Par exemple, si le tri s'effectue sur les noms
+ dans l'ordre croissant, et si <code>IgnoreCase</code> est activé,
+ le fichier Zeta apparaîtra après le fichier alfa (Note : le
+ fichier GAMMA apparaîtra toujours avant le fichier gamma).
+ </dd>
+
+ <dt><a name="indexoptions.ignoreclient" id="indexoptions.ignoreclient">IgnoreClient</a></dt>
+
+ <dd>Si cette option est activée, <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va
+ ignorer toutes les variables de requête fournies par le client, y
+ compris les informations de tri (ce qui implique l'activation de
+ l'option <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code>).</dd>
+
+ <dt><a name="indexoptions.namewidth" id="indexoptions.namewidth">NameWidth=[<var>n</var>
+ | *]</a></dt>
+
+ <dd>Le mot-clé <code>NameWidth</code> vous permet de spécifier la
+ largeur en octets de la colonne correspondant au nom du
+ fichier.</dd>
+
+ <dd>Avec <code>-NameWidth</code> (ou si l'option n'est pas
+ définie), <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va calculer la meilleure largeur
+ possible.</dd>
+
+ <dd><code>NameWidth=<var>n</var></code> fixe la largeur de la
+ colonne à <var>n</var> octets.</dd>
+
+ <dd><code>NameWidth=*</code> définit la largeur de colonne à la
+ valeur nécessaire.</dd>
+
+ <dt><a name="indexoptions.scanhtmltitles" id="indexoptions.scanhtmltitles">ScanHTMLTitles</a></dt>
+
+ <dd>L'activation de cette option permet d'extraire le titre des
+ documents HTML dans le cas d'un affichage "amélioré". Si le fichier
+ ne possède aucune description définie par la directive <code class="directive"><a href="#adddescription">AddDescription</a></code>, httpd va lire
+ le document pour tenter d'en extraire le <code>titre</code>. Ce
+ processus est coûteux en ressources disque et CPU.</dd>
+
+ <dt><a name="indexoptions.showforbidden" id="indexoptions.showforbidden">ShowForbidden</a></dt>
+
+ <dd>Si cette option est activée, Apache affichera les fichiers
+ normalement cachés suite au retour des valeurs
+ <code>HTTP_UNAUTHORIZED</code> ou <code>HTTP_FORBIDDEN</code> par
+ la sous-requête.</dd>
+
+ <dt><a name="indexoptions.suppresscolumnsorting" id="indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></dt>
+
+ <dd>Si cette option est activée, Apache supprimera les liens
+ hyper-texte dans les en-têtes de colonnes dans le cas d'un
+ affichage "amélioré". Par défaut, ces en-têtes constituent des liens
+ hyper-texte, et la sélection de l'un d'entre eux va trier l'index
+ du répertoire en fonction des valeurs de la colonne
+ correspondante. <strong>Avant
+ Apache 2.0.23, cette option désactivait aussi l'interprétation des
+ informations de tri transmises via les arguments de la
+ requête.</strong> Depuis Apache 2.0.23, ce comportement est
+ contrôlé par <a href="#indexoptions.ignoreclient"><code>IndexOptions
+ IgnoreClient</code></a>.</dd>
+
+ <dt><a name="indexoptions.suppressdescription" id="indexoptions.suppressdescription">SuppressDescription</a></dt>
+
+ <dd>L'activation de cette option va supprimer la description des
+ fichiers dans le cas d'un affichage "amélioré". Par défaut aucune
+ description de fichier n'est définie, et par conséquent
+ l'utilisation de cette option va permettre de récupérer un espace
+ à l'écran de 23 caractères pouvant être utilisé pour autre chose.
+ Voir la directive <code class="directive"><a href="#adddescription">AddDescription</a></code> pour plus d'informations à propos de
+ la définition des descriptions de fichiers. Voir aussi l'option
+ d'index <code><a href="#indexoptions.descriptionwidth">DescriptionWidth</a></code>
+ pour limiter la taille de la colonne description.</dd>
+
+ <dt><a name="indexoptions.suppresshtmlpreamble" id="indexoptions.suppresshtmlpreamble">SuppressHTMLPreamble</a></dt>
+
+ <dd>Si le répertoire contient effectivement le fichier spécifié
+ par la directive <code class="directive"><a href="#headername">HeaderName</a></code>, le module inclut
+ en général le contenu du fichier après avoir inséré un préambule
+ HTML standard (<code>&lt;html&gt;</code>,
+ <code>&lt;head&gt;</code>, <em>etc...</em>). L'activation de
+ l'option <code>SuppressHTMLPreamble</code> supprime l'insertion de
+ ce préambule, et le module va alors commencer l'affichage
+ directement par le contenu du fichier d'en-tête. Dans ce cas par
+ contre, le fichier d'en-tête doit contenir des instructions HTML
+ appropriées. S'il n'y a pas de fichier d'en-tête, le préambule est
+ généré comme dans le cas général.</dd>
+
+ <dt><a name="indexoptions.suppressicon" id="indexoptions.suppressicon">SuppressIcon</a>
+ (<em>Versions 2.0.23 et supérieures d'Apache</em>)</dt>
+
+ <dd>L'activation de cette option supprime l'affichage des icônes
+ dans le cas d'un affichage "amélioré". La combinaison de
+ <code>SuppressIcon</code> et <code>SuppressRules</code> permet de
+ générer une sortie au format HTML 3.2 qui, selon les dernières
+ spécifications, interdit les éléments <code>img</code> et
+ <code>hr</code> dans les blocs <code>pre</code> (utilisés pour
+ formater les affichages "améliorés").</dd>
+
+ <dt><a name="indexoptions.suppresslastmodified" id="indexoptions.suppresslastmodified">SuppressLastModified</a></dt>
+
+ <dd>L'activation de cette option supprime l'affichage de la date
+ de dernière modification dans le cas d'un affichage "amélioré".</dd>
+
+ <dt><a name="indexoptions.suppressrules" id="indexoptions.suppressrules">SuppressRules</a>
+ (<em>Versions 2.0.23 et supérieures d'Apache</em>)</dt>
+
+ <dd>L'activation de cette option supprime l'affichage des lignes
+ horizontales (éléments <code>hr</code>) dans les index de
+ répertoires. La combinaison de
+ <code>SuppressIcon</code> et <code>SuppressRules</code> permet de
+ générer une sortie au format HTML 3.2 qui, selon les dernières
+ spécifications, interdit les éléments <code>img</code> et
+ <code>hr</code> dans les blocs <code>pre</code> (utilisés pour
+ formater les affichages "améliorés").</dd>
+
+ <dt><a name="indexoptions.suppresssize" id="indexoptions.suppresssize">SuppressSize</a></dt>
+
+ <dd>L'activation de cette option supprime l'affichage de la taille
+ du fichier dans le cas d'un affichage "amélioré".</dd>
+
+ <dt><a name="indexoptions.trackmodified" id="indexoptions.trackmodified">TrackModified</a>
+ (<em>Versions 2.0.23 et supérieures d'Apache</em>)</dt>
+
+ <dd>Cette option renvoie les valeurs <code>Last-Modified</code> et
+ <code>ETag</code> pour le répertoire indexé dans l'en-tête HTTP.
+ Elle n'est valide que si le système d'exploitation et le système
+ de fichiers renvoient des résultats appropriés pour la fonction
+ stat(). C'est le cas de certains systèmes Unix, ainsi que JFS sous
+ OS2 et les volumes NTFS sous Win32. Ce n'est par contre pas le cas
+ des volumes OS2 et FAT Win32. Lorsque cette option est activée, le
+ client ou le mandataire peuvent détecter les changements dans la
+ liste des fichiers lorsqu'ils effectuent une requête
+ <code>HEAD</code>. Notez que certains systèmes d'exploitation
+ détectent correctement les nouveaux fichiers et les fichiers
+ supprimés, mais ne détectent pas les modifications de tailles ou
+ de dates des fichiers du répertoire. <strong>Les modifications de
+ taille ou de date d'un fichier existant ne mettent pas à jour
+ l'en-tête <code>Last-Modified</code> sur toutes les plate-formes
+ Unix.</strong> Si c'est le cas, laissez cette option
+ désactivée.</dd>
+
+ <dt><a name="indexoptions.versionsort" id="indexoptions.versionsort">VersionSort</a>
+ (<em>Apache 2.0a3 and later</em>)</dt>
+
+ <dd>Le mot-clé <code>VersionSort</code> permet de trier les
+ fichiers contenant des numéros de version d'une manière
+ spécifique. Les chaînes sont triées comme d'habitude, excepté les
+ sous-chaînes de chiffres du nom de fichier et de sa description
+ qui sont comparées en fonction de leur valeur numérique.
+
+ <div class="example"><h3>Exemple :</h3><p><code>
+ foo-1.7<br />
+ foo-1.7.2<br />
+ foo-1.7.12<br />
+ foo-1.8.2<br />
+ foo-1.8.2a<br />
+ foo-1.12
+ </code></p></div>
+
+ <p>Si le nombre commence par le chiffre 0, il est considéré comme
+ la partie fractionnaire d'un nombre :</p>
+
+ <div class="example"><p><code>
+ foo-1.001<br />
+ foo-1.002<br />
+ foo-1.030<br />
+ foo-1.04
+ </code></p></div>
+ </dd>
+
+ <dt><a name="indexoptions.xhtml" id="indexoptions.xhtml">XHTML</a>
+ (<em>Versions 2.0.49 et supérieures d'Apache</em>)</dt>
+
+ <dd>Le mot-clé <code>XHTML</code> enjoint
+ <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> de générer du code XHTML 1.0 au
+ lieu de HTML 3.2.</dd>
+ </dl>
+
+
+ <dl><dt>Options d'index incrémentales</dt>
+ <dd>
+ <p>Apache 1.3.3 a apporté d'importantes modifications dans la
+ gestion des directives <code class="directive">IndexOptions</code>. En
+ particulier :</p>
+
+ <ul>
+ <li>Plusieurs directives <code class="directive">IndexOptions</code>
+ apparaissant dans la même section directory sont maintenant
+ fusionnées. Le résultat de :
+
+ <div class="example"><p><code>
+ &lt;Directory /foo&gt;
+ <span class="indent">
+ IndexOptions HTMLTable<br />
+ IndexOptions SuppressColumnsorting
+ </span>
+ &lt;/Directory&gt;
+ </code></p></div>
+
+ <p>est équivalent à</p>
+
+ <div class="example"><p><code>
+ IndexOptions HTMLTable SuppressColumnsorting
+ </code></p></div>
+ </li>
+
+ <li>L'ajout de la syntaxe incrémentale (en préfixant les mots-clés
+ avec <code>+</code> ou <code>-</code>).</li>
+ </ul>
+
+ <p>Chaque fois qu'un mot-clé préfixé par '+' ou '-' est trouvé, il
+ est appliqué aux définitions des
+ <code class="directive">IndexOptions</code> courantes (qui ont été
+ éventuellement héritées d'un directory de niveau supérieur). Par
+ contre, si un mot-clé non préfixé est trouvé, il supprime toutes
+ les definitions héritées, ainsi que toute
+ définition incrémentale. Considérons l'exemple
+ suivant :</p>
+
+ <div class="example"><p><code>
+ IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing<br />
+ IndexOptions +SuppressSize
+ </code></p></div>
+
+ <p>L'effet global est équivalent à l'effet qu'aurait provoqué
+ <code>IndexOptions FancyIndexing +SuppressSize</code>, car l'option
+ non préfixée <code>FancyIndexing</code> annulent les mots-clés
+ incrémentaux situés avant elle, mais leur permet ensuite de
+ s'incrémenter à nouveau.</p>
+
+ <p>Pour définir inconditionnellement les
+ <code class="directive">IndexOptions</code> pour un répertoire particulier,
+ tout en supprimant les définitions héritées, spécifiez les
+ mots-clés sans préfixe <code>+</code> ou <code>-</code></p>
+ </dd>
+ </dl>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="IndexOrderDefault" id="IndexOrderDefault">IndexOrderDefault</a> <a name="indexorderdefault" id="indexorderdefault">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'ordre d'affichage par défaut d'un index de
+répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexOrderDefault Ascending|Descending
+Name|Date|Size|Description</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>IndexOrderDefault Ascending Name</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+</table>
+ <p>La directive <code class="directive">IndexOrderDefault</code> s'utilise
+ en combinaison avec l'option d'index <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. Par
+ défaut, les index de répertoire "améliorés" sont affichés selon l'ordre
+ croissant des noms de fichiers ; la directive
+ <code class="directive">IndexOrderDefault</code> vous permet de modifier ce
+ comportement.</p>
+
+ <p>La directive <code class="directive">IndexOrderDefault</code> accepte
+ deux arguments. Le premier est soit <code>Ascending</code>, soit
+ <code>Descending</code>, et indique l'ordre de tri. Le second doit
+ prendre une des valeurs <code>Name</code>, <code>Date</code>,
+ <code>Size</code>, ou <code>Description</code>, et permet
+ d'identifier la clé primaire. La clé secondaire est
+ <em>toujours</em> le nom du fichier selon un ordre croissant.</p>
+
+ <p>Si vous le désirez, vous pouvez empêcher le client de modifier
+ l'ordre de tri de la liste en ajoutant l'option d'index <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code>
+ qui supprime le lien de définition du tri de l'en-tête de la
+ colonne, ainsi que l'option <code><a href="#indexoptions.ignoreclient">IgnoreClient</a></code> qui
+ empêche ce même client de passer outre vos préférences de tri en
+ ajoutant manuellement des options de tri à la chaîne de paramètres
+ de la requête.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="IndexStyleSheet" id="IndexStyleSheet">IndexStyleSheet</a> <a name="indexstylesheet" id="indexstylesheet">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute une feuille de style CSS à l'index du
+répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexStyleSheet <var>chemin-url</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+</table>
+ <p>La directive <code class="directive">IndexStyleSheet</code> permet de
+ définir le nom du fichier qui servira de feuille de style CSS pour
+ l'index.
+ </p>
+ <div class="example"><h3>Exemple</h3><p><code>
+
+ IndexStyleSheet "/css/style.css"
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ReadmeName" id="ReadmeName">ReadmeName</a> <a name="readmename" id="readmename">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier dont le contenu sera inséré à la fin de
+l'index</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ReadmeName <var>nom-fichier</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr>
+</table>
+ <p>La directive <code class="directive">ReadmeName</code> permet de définir
+ le nom du fichier dont le contenu sera ajouté à la fin de l'index.
+ <var>nom-fichier</var> est le nom du fichier à inclure, et est
+ considé comme relatif au répertoire faisant l'objet de l'index. Si
+ <var>nom-fichier</var> commence par un slash '/', il sera considéré
+ comme relatif au répertoire défini par la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>.
+ </p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ ReadmeName FOOTER.html
+ </code></p></div>
+
+ <div class="example"><h3>Exemple 2</h3><p><code>
+ ReadmeName /include/FOOTER.html
+ </code></p></div>
+
+ <p>Voir aussi la directive <code class="directive"><a href="#headername">HeaderName</a></code>, où cette fonctionnalité est décrite plus en
+ détails.</p>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_autoindex.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_autoindex.html.ja.utf8 b/docs/manual/mod/mod_autoindex.html.ja.utf8
index e0f9d8f3..899c972e 100644
--- a/docs/manual/mod/mod_autoindex.html.ja.utf8
+++ b/docs/manual/mod/mod_autoindex.html.ja.utf8
@@ -22,6 +22,7 @@
<div id="preamble"><h1>Apache モジュール mod_autoindex</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_autoindex.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
@@ -94,6 +95,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#addiconbytype">AddIconByType</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#defaulticon">DefaultIcon</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#headername">HeaderName</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#indexheadinsert">IndexHeadInsert</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#indexignore">IndexIgnore</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#indexoptions">IndexOptions</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#indexorderdefault">IndexOrderDefault</a></li>
@@ -536,6 +538,19 @@ MIME タイプã«ã‚ˆã£ã¦é¸æŠž</td></tr>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="IndexHeadInsert" id="IndexHeadInsert">IndexHeadInsert</a> <a name="indexheadinsert" id="indexheadinsert">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Inserts text in the HEAD section of an index page.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>IndexHeadInsert <var>"markup ..."</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">上書ã:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Available in Apache 2.2.11 and later</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="IndexIgnore" id="IndexIgnore">IndexIgnore</a> <a name="indexignore" id="indexignore">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ディレクトリ一覧を行ãªã†éš›ã«ç„¡è¦–ã™ã¹ã
@@ -980,10 +995,11 @@ Name|Date|Size|Description</code></td></tr>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_autoindex.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_autoindex.html.ko.euc-kr b/docs/manual/mod/mod_autoindex.html.ko.euc-kr
index 08f15993..dbc1a572 100644
--- a/docs/manual/mod/mod_autoindex.html.ko.euc-kr
+++ b/docs/manual/mod/mod_autoindex.html.ko.euc-kr
@@ -22,6 +22,7 @@
<div id="preamble"><h1>¾ÆÆÄÄ¡ ¸ðµâ mod_autoindex</h1>
<div class="toplang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_autoindex.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
@@ -80,6 +81,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#addiconbytype">AddIconByType</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#defaulticon">DefaultIcon</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#headername">HeaderName</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#indexheadinsert">IndexHeadInsert</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#indexignore">IndexIgnore</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#indexoptions">IndexOptions</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#indexorderdefault">IndexOrderDefault</a></li>
@@ -450,6 +452,19 @@
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="IndexHeadInsert" id="IndexHeadInsert">IndexHeadInsert</a> <a name="indexheadinsert" id="indexheadinsert">Áö½Ã¾î</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>Inserts text in the HEAD section of an index page.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">¹®¹ý:</a></th><td><code>IndexHeadInsert <var>"markup ..."</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">»ç¿ëÀå¼Ò:</a></th><td>ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Override ¿É¼Ç:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">»óÅÂ:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">¸ðµâ:</a></th><td>mod_autoindex</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Áö¿ø:</a></th><td>Available in Apache 2.2.11 and later</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="IndexIgnore" id="IndexIgnore">IndexIgnore</a> <a name="indexignore" id="indexignore">Áö½Ã¾î</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>µð·ºÅ丮 ¸ñ·Ï¿¡¼­ ¼û±æ ÆÄÀϸñ·ÏÀ» Ãß°¡ÇÑ´Ù</td></tr>
@@ -828,10 +843,11 @@ Name|Date|Size|Description</code></td></tr>
</div>
<div class="bottomlang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_autoindex.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_autoindex.html.tr.utf8 b/docs/manual/mod/mod_autoindex.html.tr.utf8
index 470ad04e..0b6cb110 100644
--- a/docs/manual/mod/mod_autoindex.html.tr.utf8
+++ b/docs/manual/mod/mod_autoindex.html.tr.utf8
@@ -22,6 +22,7 @@
<div id="preamble"><h1>Apache Modülü mod_autoindex</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_autoindex.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
@@ -317,7 +318,8 @@ metni belirler.</td></tr>
<p>Yönerge, <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneğiyle üretilen dizin listesinde adı
<code><em>isim</em></code> ile biten bir dosya için gösterilecek simgeyi
belirler. <code><em>simge</em></code> ya simgenin göreli URL’si (%
- öncelemeli) ya da <code>(<var>alt-metin</var>,<var>url</var>)</code>
+ öncelemeli), tam nitelenmiş uzak bir URL ya da
+ <code>(<var>alt-metin</var>,<var>url</var>)</code>
biçeminde olmalıdır; buradaki <code><em>alt-metin</em></code> simge
gösterilemediği durumda tarayıcı tarafından simgenin yerinde
gösterilecek metindir.</p>
@@ -328,6 +330,9 @@ metni belirler.</td></tr>
uzantısı, dosya isminin bir kısmı, bir dosya ismi kalıbı veya tam
yoluyla bir dosya ismi belirtilebilir.</p>
+ <p><code>^^BLANKICON^^</code> sadece biçimleme için kullanılır, dolayısıyla
+ <code>IndexOptions HTMLTable</code> kullanıyorsanız gereksizdir.</p>
+
<div class="example"><h3>Örnekler</h3><p><code>
AddIcon (IMG,/icons/image.xbm) .gif .jpg .xbm<br />
AddIcon /icons/dir.xbm ^^DIRECTORY^^<br />
@@ -352,7 +357,7 @@ göre belirler.</td></tr>
</table>
<p>Yönerge, <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneğiyle üretilen dizin listesinde bir
dosya için gösterilecek simgeyi belirler. <code><em>simge</em></code> ya
- simgenin göreli URL’si (% öncelemeli) ya da
+ simgenin göreli URL’si (% öncelemeli), tam nitelenmiş uzak bir URL ya da
<code>(<var>alt-metin</var>,<var>url</var>)</code> biçeminde olmalıdır;
buradaki <code><em>alt-metin</em></code> simge gösterilemediği durumda
tarayıcı tarafından simgenin yerinde gösterilecek metindir.</p>
@@ -380,7 +385,7 @@ belirler.</td></tr>
<p>Yönerge, <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneğiyle üretilen dizin listesinde MIME
türü <code><em>MIME-türü</em></code> olarak belirtilen bir dosya için
gösterilecek simgeyi belirler. <code><em>simge</em></code> ya simgenin
- göreli URL’si (% öncelemeli) ya da
+ göreli URL’si (% öncelemeli), tam nitelenmiş uzak bir URL ya da
<code>(<var>alt-metin</var>,<var>url</var>)</code> biçeminde olmalıdır;
buradaki <code><em>alt-metin</em></code> simge gösterilemediği durumda
tarayıcı tarafından simgenin yerinde gösterilecek metindir.</p>
@@ -407,7 +412,8 @@ belirler.</td></tr>
<p>The <code class="directive">DefaultIcon</code> yönergesi <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneğiyle
üretilen dizin listesinde özel bir simge atanmamış dosyalar için
gösterilecek simgeyi belirler. <code><em>URL-yolu</em></code> simgeye
- bir göreli URL (% öncelemeli) belirtir.</p>
+ bir göreli URL (% öncelemeli) veya tam nitelenmiş uzak bir URL
+ belirtir.</p>
<div class="example"><h3>Örnek</h3><p><code>
DefaultIcon /icon/unknown.xbm
@@ -500,6 +506,7 @@ belirler.</td></tr>
<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dizin içerik listesinden gizlenecek dosyaların listesi belirtilir.
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>IndexIgnore <var>dosya</var> [<var>dosya</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>IndexIgnore "."</code></td></tr>
<tr><th><a href="directive-dict.html#Context">BaÄŸlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr>
@@ -514,7 +521,7 @@ belirler.</td></tr>
öntanımlı olarak içinde bulunulan dizini (<code>./</code>) içerir.</p>
<div class="example"><p><code>
- IndexIgnore README .htaccess *.bak *~
+ IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
</code></p></div>
</div>
@@ -525,6 +532,7 @@ belirler.</td></tr>
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>IndexOptions [+|-]<var>seçenek</var> [[+|-]<var>seçenek</var>]
...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Öntanımlı olarak hiçbir seçenek etkin değildir.</code></td></tr>
<tr><th><a href="directive-dict.html#Context">BaÄŸlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr>
@@ -872,9 +880,13 @@ Name|Date|Size|Description</code></td></tr>
Açıklama). İkincil sıralama anahtarı <em>daima</em> artan sıralamayla
dosya ismidir.</p>
- <p>Dizin listesinin belli bir sırada gösterilmesini zorunlu kılmak için
- yönergeyi <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> sıralama seçeneği ile birlikte
- belirtebilirsiniz; böylece, istemcinin farklı sıralamalara sahip içerik
+ <p>İsterseniz, bir istemcinin listeyi yeniden sıralamasını
+ engelleyebilirsiniz. Dizin listesinin belli bir sırada gösterilmesini
+ zorunlu kılmak için yönergeyi <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code>
+ sıralama seçeneği ile birlikte belirtebilirsiniz; buna ek olarak,
+ istemcinin sorgu dizgesine sıralama seçenekleri ekleyerek sıralama
+ tercihlerinizi değiştirmesini engellemek için <code><a href="#indexoptions.ignoreclient">IgnoreClient</a></code> seçeneğini de
+ belirtebir, böylece istemcinin farklı sıralamalara sahip içerik
isteÄŸini engellemiÅŸ olursunuz.</p>
</div>
@@ -928,10 +940,11 @@ belirler.</td></tr>
</div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_autoindex.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_cache.html.en b/docs/manual/mod/mod_cache.html.en
index a79d4b1a..53f3f3cf 100644
--- a/docs/manual/mod/mod_cache.html.en
+++ b/docs/manual/mod/mod_cache.html.en
@@ -670,6 +670,6 @@ LastModified date.</td></tr>
<a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_cache.html.ja.utf8 b/docs/manual/mod/mod_cache.html.ja.utf8
index 46c9b233..41b9e865 100644
--- a/docs/manual/mod/mod_cache.html.ja.utf8
+++ b/docs/manual/mod/mod_cache.html.ja.utf8
@@ -76,7 +76,12 @@
<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreheaders">CacheIgnoreHeaders</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorequerystring">CacheIgnoreQueryString</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cachelock">CacheLock</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cachelockmaxage">CacheLockMaxAge</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cachelockpath">CacheLockPath</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachemaxexpire">CacheMaxExpire</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachestorenostore">CacheStoreNoStore</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachestoreprivate">CacheStorePrivate</a></li>
@@ -334,6 +339,32 @@
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheIgnoreQueryString" id="CacheIgnoreQueryString">CacheIgnoreQueryString</a> <a name="cacheignorequerystring" id="cacheignorequerystring">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Ignore query string when caching</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheIgnoreQueryString On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheIgnoreQueryString Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Available in Apache 2.2.6 and later</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheIgnoreURLSessionIdentifiers" id="CacheIgnoreURLSessionIdentifiers">CacheIgnoreURLSessionIdentifiers</a> <a name="cacheignoreurlsessionidentifiers" id="cacheignoreurlsessionidentifiers">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Ignore defined session identifiers encoded in the URL when caching
+</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheIgnoreURLSessionIdentifiers None</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CacheLastModifiedFactor" id="CacheLastModifiedFactor">CacheLastModifiedFactor</a> <a name="cachelastmodifiedfactor" id="cachelastmodifiedfactor">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>LastModified ã®æ—¥ä»˜ã«åŸºã¥ã„ã¦æœ‰åŠ¹æœŸé™ (expiry)
@@ -370,6 +401,43 @@
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheLock" id="CacheLock">CacheLock</a> <a name="cachelock" id="cachelock">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Enable the thundering herd lock.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheLock <var>on|off</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheLock off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Available in Apache 2.2.15 and later</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheLockMaxAge" id="CacheLockMaxAge">CacheLockMaxAge</a> <a name="cachelockmaxage" id="cachelockmaxage">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Set the maximum possible age of a cache lock.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheLockMaxAge <var>integer</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheLockMaxAge 5</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheLockPath" id="CacheLockPath">CacheLockPath</a> <a name="cachelockpath" id="cachelockpath">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Set the lock path directory.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheLockPath <var>directory</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheLockPath /tmp/mod_cache-lock</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CacheMaxExpire" id="CacheMaxExpire">CacheMaxExpire</a> <a name="cachemaxexpire" id="cachemaxexpire">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ドキュメントをキャッシュã™ã‚‹æœ€å¤§æ™‚間を秒数ã§è¡¨ã—ãŸã‚‚ã®</td></tr>
@@ -464,6 +532,6 @@
<a href="../ja/mod/mod_cache.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_cache.html.ko.euc-kr b/docs/manual/mod/mod_cache.html.ko.euc-kr
index 01f37baf..e9c61060 100644
--- a/docs/manual/mod/mod_cache.html.ko.euc-kr
+++ b/docs/manual/mod/mod_cache.html.ko.euc-kr
@@ -68,8 +68,15 @@
<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreheaders">CacheIgnoreHeaders</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorequerystring">CacheIgnoreQueryString</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cachelock">CacheLock</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cachelockmaxage">CacheLockMaxAge</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cachelockpath">CacheLockPath</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachemaxexpire">CacheMaxExpire</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cachestorenostore">CacheStoreNoStore</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cachestoreprivate">CacheStorePrivate</a></li>
</ul>
<h3>ÁÖÁ¦</h3>
<ul id="topics">
@@ -285,6 +292,32 @@
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheIgnoreQueryString" id="CacheIgnoreQueryString">CacheIgnoreQueryString</a> <a name="cacheignorequerystring" id="cacheignorequerystring">Áö½Ã¾î</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>Ignore query string when caching</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">¹®¹ý:</a></th><td><code>CacheIgnoreQueryString On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">±âº»°ª:</a></th><td><code>CacheIgnoreQueryString Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">»ç¿ëÀå¼Ò:</a></th><td>ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®</td></tr>
+<tr><th><a href="directive-dict.html#Status">»óÅÂ:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">¸ðµâ:</a></th><td>mod_cache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Áö¿ø:</a></th><td>Available in Apache 2.2.6 and later</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheIgnoreURLSessionIdentifiers" id="CacheIgnoreURLSessionIdentifiers">CacheIgnoreURLSessionIdentifiers</a> <a name="cacheignoreurlsessionidentifiers" id="cacheignoreurlsessionidentifiers">Áö½Ã¾î</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>Ignore defined session identifiers encoded in the URL when caching
+</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">¹®¹ý:</a></th><td><code>CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">±âº»°ª:</a></th><td><code>CacheIgnoreURLSessionIdentifiers None</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">»ç¿ëÀå¼Ò:</a></th><td>ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®</td></tr>
+<tr><th><a href="directive-dict.html#Status">»óÅÂ:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">¸ðµâ:</a></th><td>mod_cache</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CacheLastModifiedFactor" id="CacheLastModifiedFactor">CacheLastModifiedFactor</a> <a name="cachelastmodifiedfactor" id="cachelastmodifiedfactor">Áö½Ã¾î</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>LastModified ½Ã°£À¸·Î ¸¸±â½Ã°£À» °è»êÇϴµ¥ »ç¿ëÇÏ´Â
@@ -317,6 +350,43 @@
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheLock" id="CacheLock">CacheLock</a> <a name="cachelock" id="cachelock">Áö½Ã¾î</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>Enable the thundering herd lock.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">¹®¹ý:</a></th><td><code>CacheLock <var>on|off</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">±âº»°ª:</a></th><td><code>CacheLock off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">»ç¿ëÀå¼Ò:</a></th><td>ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®</td></tr>
+<tr><th><a href="directive-dict.html#Status">»óÅÂ:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">¸ðµâ:</a></th><td>mod_cache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Áö¿ø:</a></th><td>Available in Apache 2.2.15 and later</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheLockMaxAge" id="CacheLockMaxAge">CacheLockMaxAge</a> <a name="cachelockmaxage" id="cachelockmaxage">Áö½Ã¾î</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>Set the maximum possible age of a cache lock.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">¹®¹ý:</a></th><td><code>CacheLockMaxAge <var>integer</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">±âº»°ª:</a></th><td><code>CacheLockMaxAge 5</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">»ç¿ëÀå¼Ò:</a></th><td>ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®</td></tr>
+<tr><th><a href="directive-dict.html#Status">»óÅÂ:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">¸ðµâ:</a></th><td>mod_cache</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheLockPath" id="CacheLockPath">CacheLockPath</a> <a name="cachelockpath" id="cachelockpath">Áö½Ã¾î</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>Set the lock path directory.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">¹®¹ý:</a></th><td><code>CacheLockPath <var>directory</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">±âº»°ª:</a></th><td><code>CacheLockPath /tmp/mod_cache-lock</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">»ç¿ëÀå¼Ò:</a></th><td>ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®</td></tr>
+<tr><th><a href="directive-dict.html#Status">»óÅÂ:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">¸ðµâ:</a></th><td>mod_cache</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CacheMaxExpire" id="CacheMaxExpire">CacheMaxExpire</a> <a name="cachemaxexpire" id="cachemaxexpire">Áö½Ã¾î</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>¹®¼­¸¦ ij½¬ÇÏ´Â ÃÊ´ÜÀ§ ÃÖ´ë½Ã°£</td></tr>
@@ -336,12 +406,46 @@
</code></p></div>
</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheStoreNoStore" id="CacheStoreNoStore">CacheStoreNoStore</a> <a name="cachestorenostore" id="cachestorenostore">Áö½Ã¾î</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>Attempt to cache requests or responses that have been marked as no-store.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">¹®¹ý:</a></th><td><code>CacheStoreNoStore On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">±âº»°ª:</a></th><td><code>CacheStoreNoStore Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">»ç¿ëÀå¼Ò:</a></th><td>ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®</td></tr>
+<tr><th><a href="directive-dict.html#Status">»óÅÂ:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">¸ðµâ:</a></th><td>mod_cache</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p><h3>Âü°í</h3>
+<ul>
+<li><code class="directive"><a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></code></li>
+<li><code class="directive"><a href="#cachestoreprivate">CacheStorePrivate</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheStorePrivate" id="CacheStorePrivate">CacheStorePrivate</a> <a name="cachestoreprivate" id="cachestoreprivate">Áö½Ã¾î</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>Attempt to cache responses that the server has marked as private</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">¹®¹ý:</a></th><td><code>CacheStorePrivate On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">±âº»°ª:</a></th><td><code>CacheStorePrivate Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">»ç¿ëÀå¼Ò:</a></th><td>ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®</td></tr>
+<tr><th><a href="directive-dict.html#Status">»óÅÂ:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">¸ðµâ:</a></th><td>mod_cache</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p><h3>Âü°í</h3>
+<ul>
+<li><code class="directive"><a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></code></li>
+<li><code class="directive"><a href="#cachestorenostore">CacheStoreNoStore</a></code></li>
+</ul>
+</div>
</div>
<div class="bottomlang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_cache.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_cache.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_cern_meta.html.en b/docs/manual/mod/mod_cern_meta.html.en
index 9b87f2c0..e21e3887 100644
--- a/docs/manual/mod/mod_cern_meta.html.en
+++ b/docs/manual/mod/mod_cern_meta.html.en
@@ -123,6 +123,6 @@ meta information</td></tr>
<p><span>Available Languages: </span><a href="../en/mod/mod_cern_meta.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/mod_cern_meta.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_cern_meta.html.ko.euc-kr b/docs/manual/mod/mod_cern_meta.html.ko.euc-kr
index 295d0e64..1f7832d4 100644
--- a/docs/manual/mod/mod_cern_meta.html.ko.euc-kr
+++ b/docs/manual/mod/mod_cern_meta.html.ko.euc-kr
@@ -115,6 +115,6 @@
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_cern_meta.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/mod_cern_meta.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_cgi.html.en b/docs/manual/mod/mod_cgi.html.en
index 7d4522e8..58b6d6de 100644
--- a/docs/manual/mod/mod_cgi.html.en
+++ b/docs/manual/mod/mod_cgi.html.en
@@ -239,6 +239,6 @@ in the scriptlog</td></tr>
<a href="../ja/mod/mod_cgi.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_cgi.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_cgi.html.ja.utf8 b/docs/manual/mod/mod_cgi.html.ja.utf8
index fab5e244..564fd751 100644
--- a/docs/manual/mod/mod_cgi.html.ja.utf8
+++ b/docs/manual/mod/mod_cgi.html.ja.utf8
@@ -251,6 +251,6 @@
<a href="../ja/mod/mod_cgi.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_cgi.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_cgi.html.ko.euc-kr b/docs/manual/mod/mod_cgi.html.ko.euc-kr
index d8b6a951..337098a1 100644
--- a/docs/manual/mod/mod_cgi.html.ko.euc-kr
+++ b/docs/manual/mod/mod_cgi.html.ko.euc-kr
@@ -229,6 +229,6 @@
<a href="../ja/mod/mod_cgi.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_cgi.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_cgid.html.en b/docs/manual/mod/mod_cgid.html.en
index c879ffa8..230f7756 100644
--- a/docs/manual/mod/mod_cgid.html.en
+++ b/docs/manual/mod/mod_cgid.html.en
@@ -101,6 +101,6 @@ the cgi daemon</td></tr>
<a href="../ja/mod/mod_cgid.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_cgid.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_cgid.html.ja.utf8 b/docs/manual/mod/mod_cgid.html.ja.utf8
index 02fa6160..ef3b976f 100644
--- a/docs/manual/mod/mod_cgid.html.ja.utf8
+++ b/docs/manual/mod/mod_cgid.html.ja.utf8
@@ -96,6 +96,6 @@
<a href="../ja/mod/mod_cgid.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_cgid.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_cgid.html.ko.euc-kr b/docs/manual/mod/mod_cgid.html.ko.euc-kr
index 5b04e9ad..40e27887 100644
--- a/docs/manual/mod/mod_cgid.html.ko.euc-kr
+++ b/docs/manual/mod/mod_cgid.html.ko.euc-kr
@@ -94,6 +94,6 @@
<a href="../ja/mod/mod_cgid.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_cgid.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_charset_lite.html.en b/docs/manual/mod/mod_charset_lite.html.en
index af16b7e1..a4df1c92 100644
--- a/docs/manual/mod/mod_charset_lite.html.en
+++ b/docs/manual/mod/mod_charset_lite.html.en
@@ -205,6 +205,6 @@
<p><span>Available Languages: </span><a href="../en/mod/mod_charset_lite.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/mod_charset_lite.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_charset_lite.html.ko.euc-kr b/docs/manual/mod/mod_charset_lite.html.ko.euc-kr
index dcd0c073..4570e062 100644
--- a/docs/manual/mod/mod_charset_lite.html.ko.euc-kr
+++ b/docs/manual/mod/mod_charset_lite.html.ko.euc-kr
@@ -193,6 +193,6 @@
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_charset_lite.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/mod_charset_lite.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dav.html.en b/docs/manual/mod/mod_dav.html.en
index 621b4387..6c17cf9f 100644
--- a/docs/manual/mod/mod_dav.html.en
+++ b/docs/manual/mod/mod_dav.html.en
@@ -265,6 +265,6 @@ a DAV resource</td></tr>
<a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dav.html.ja.utf8 b/docs/manual/mod/mod_dav.html.ja.utf8
index c3cd6590..c74e62f1 100644
--- a/docs/manual/mod/mod_dav.html.ja.utf8
+++ b/docs/manual/mod/mod_dav.html.ja.utf8
@@ -273,6 +273,6 @@ Alias /php-source /home/gstein/php_files<br />
<a href="../ja/mod/mod_dav.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dav.html.ko.euc-kr b/docs/manual/mod/mod_dav.html.ko.euc-kr
index ce7ab26d..aaa0700c 100644
--- a/docs/manual/mod/mod_dav.html.ko.euc-kr
+++ b/docs/manual/mod/mod_dav.html.ko.euc-kr
@@ -260,6 +260,6 @@ Alias /php-source /home/gstein/php_files<br />
<a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_dav.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dav_fs.html.en b/docs/manual/mod/mod_dav_fs.html.en
index cc93f5ac..b8c21115 100644
--- a/docs/manual/mod/mod_dav_fs.html.en
+++ b/docs/manual/mod/mod_dav_fs.html.en
@@ -92,6 +92,6 @@
<a href="../ja/mod/mod_dav_fs.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_dav_fs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dav_fs.html.ja.utf8 b/docs/manual/mod/mod_dav_fs.html.ja.utf8
index 41a26453..41445c5d 100644
--- a/docs/manual/mod/mod_dav_fs.html.ja.utf8
+++ b/docs/manual/mod/mod_dav_fs.html.ja.utf8
@@ -84,6 +84,6 @@
<a href="../ja/mod/mod_dav_fs.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_dav_fs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dav_fs.html.ko.euc-kr b/docs/manual/mod/mod_dav_fs.html.ko.euc-kr
index 68fa12e6..cb85033e 100644
--- a/docs/manual/mod/mod_dav_fs.html.ko.euc-kr
+++ b/docs/manual/mod/mod_dav_fs.html.ko.euc-kr
@@ -91,6 +91,6 @@
<a href="../ja/mod/mod_dav_fs.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_dav_fs.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dav_lock.html.en b/docs/manual/mod/mod_dav_lock.html.en
index b266b99d..849f8feb 100644
--- a/docs/manual/mod/mod_dav_lock.html.en
+++ b/docs/manual/mod/mod_dav_lock.html.en
@@ -96,6 +96,6 @@
<p><span>Available Languages: </span><a href="../en/mod/mod_dav_lock.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_dav_lock.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dav_lock.html.ja.utf8 b/docs/manual/mod/mod_dav_lock.html.ja.utf8
index 5c021cc3..df173222 100644
--- a/docs/manual/mod/mod_dav_lock.html.ja.utf8
+++ b/docs/manual/mod/mod_dav_lock.html.ja.utf8
@@ -102,6 +102,6 @@
<p><span>Available Languages: </span><a href="../en/mod/mod_dav_lock.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_dav_lock.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dbd.html.en b/docs/manual/mod/mod_dbd.html.en
index 1eb0ab84..91cc6458 100644
--- a/docs/manual/mod/mod_dbd.html.en
+++ b/docs/manual/mod/mod_dbd.html.en
@@ -314,6 +314,6 @@ APR_DECLARE_OPTIONAL_FN(void, ap_dbd_prepare, (server_rec*, const char*, const c
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_dbd.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_deflate.html.en b/docs/manual/mod/mod_deflate.html.en
index ad9744f3..16662747 100644
--- a/docs/manual/mod/mod_deflate.html.en
+++ b/docs/manual/mod/mod_deflate.html.en
@@ -371,6 +371,6 @@ client</td></tr>
<a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_deflate.html.ja.utf8 b/docs/manual/mod/mod_deflate.html.ja.utf8
index 8565a8bd..23e8b014 100644
--- a/docs/manual/mod/mod_deflate.html.ja.utf8
+++ b/docs/manual/mod/mod_deflate.html.ja.utf8
@@ -372,6 +372,6 @@
<a href="../ja/mod/mod_deflate.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_deflate.html.ko.euc-kr b/docs/manual/mod/mod_deflate.html.ko.euc-kr
index 49c410d1..aea49d3c 100644
--- a/docs/manual/mod/mod_deflate.html.ko.euc-kr
+++ b/docs/manual/mod/mod_deflate.html.ko.euc-kr
@@ -363,6 +363,6 @@
<a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_deflate.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dir.html.en b/docs/manual/mod/mod_dir.html.en
index 6684aba0..20151b92 100644
--- a/docs/manual/mod/mod_dir.html.en
+++ b/docs/manual/mod/mod_dir.html.en
@@ -119,7 +119,7 @@ a directory</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.0.51 and later</td></tr>
</table>
- <p>The <code class="directive">DirectorySlash</code> directive determines, whether
+ <p>The <code class="directive">DirectorySlash</code> directive determines whether
<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> should fixup URLs pointing to a directory or
not.</p>
@@ -136,8 +136,10 @@ a directory</td></tr>
<li>Relative URL references inside html pages will work correctly.</li>
</ul>
- <p>Well, if you don't want this effect <em>and</em> the reasons above don't
- apply to you, you can turn off the redirect with:</p>
+ <p>If you don't want this effect <em>and</em> the reasons above don't
+ apply to you, you can turn off the redirect as shown below. However,
+ be aware that there are possible security implications to doing
+ this.</p>
<div class="example"><p><code>
# see security warning below!<br />
@@ -170,16 +172,41 @@ a directory</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Apache HTTP Server 2.2.16 and later</td></tr>
</table>
<p>Use this to set a handler for any URL that doesn't map to anything
in your filesystem, and would otherwise return HTTP 404 (Not Found).
For example</p>
<div class="example"><p><code>
- <code>FallbackResource default.php</code>
+ <code>FallbackResource /not-404.php</code>
</code></p></div>
<p>will cause requests for non-existent files to be handled by
- <code>default.php</code>, while requests for files that exist
+ <code>not-404.php</code>, while requests for files that exist
are unaffected.</p>
+ <p>It is frequently desirable to have a single file or resource
+ handle all requests to a particular directory, except those requests
+ that correspond to an existing file or script. This is often
+ referred to as a 'front controller.'</p>
+ <p>In earlier versions of httpd, this effect typically required
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, and the use of the <code>-f</code> and
+ <code>-d</code> tests for file and directory existence. This now
+ requires only one line of configuration.</p>
+ <div class="example"><p><code>
+ <code>FallbackResource /index.php</code>
+ </code></p></div>
+ <p>Existing files, such as images, css files, and so on, will be
+ served normally.</p>
+ <p>In a sub-URI, such as <em>http://example.com/blog/</em> this
+ <em>sub-URI</em> has to be supplied as <var>local-url</var>:</p>
+ <div class="example"><p><code>
+ <code>
+ &lt;Directory /web/example.com/htdocs/blog&gt;<br />
+ <span class="indent">
+ FallbackResource /blog/index.php<br />
+ </span>
+ &lt;/Directory&gt;
+ </code>
+ </code></p></div>
</div>
</div>
@@ -189,6 +216,6 @@ a directory</td></tr>
<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dir.html.ja.utf8 b/docs/manual/mod/mod_dir.html.ja.utf8
index a3da7f47..b77ae461 100644
--- a/docs/manual/mod/mod_dir.html.ja.utf8
+++ b/docs/manual/mod/mod_dir.html.ja.utf8
@@ -65,6 +65,7 @@
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#directoryindex">DirectoryIndex</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#directoryslash">DirectorySlash</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#fallbackresource">FallbackResource</a></li>
</ul>
</div>
@@ -172,6 +173,20 @@
</div>
</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="FallbackResource" id="FallbackResource">FallbackResource</a> <a name="fallbackresource" id="fallbackresource">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Define a default URL for requests that don't map to a file</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>FallbackResource <var>local-url</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>None - httpd will return 404 (Not Found)</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">上書ã:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dir</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Apache HTTP Server 2.2.16 and later</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
@@ -179,6 +194,6 @@
<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dir.html.ko.euc-kr b/docs/manual/mod/mod_dir.html.ko.euc-kr
index d0f548ae..5e6d6c8a 100644
--- a/docs/manual/mod/mod_dir.html.ko.euc-kr
+++ b/docs/manual/mod/mod_dir.html.ko.euc-kr
@@ -60,6 +60,7 @@ index ÆÄÀÏÀ» ¼­ºñ½ºÇÑ´Ù</td></tr>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#directoryindex">DirectoryIndex</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#directoryslash">DirectorySlash</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#fallbackresource">FallbackResource</a></li>
</ul>
</div>
@@ -159,6 +160,20 @@ index ÆÄÀÏÀ» ¼­ºñ½ºÇÑ´Ù</td></tr>
</div>
</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="FallbackResource" id="FallbackResource">FallbackResource</a> <a name="fallbackresource" id="fallbackresource">Áö½Ã¾î</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>Define a default URL for requests that don't map to a file</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">¹®¹ý:</a></th><td><code>FallbackResource <var>local-url</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">±âº»°ª:</a></th><td><code>None - httpd will return 404 (Not Found)</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">»ç¿ëÀå¼Ò:</a></th><td>ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Override ¿É¼Ç:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">»óÅÂ:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">¸ðµâ:</a></th><td>mod_dir</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Áö¿ø:</a></th><td>Apache HTTP Server 2.2.16 and later</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
</div>
<div class="bottomlang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
@@ -166,6 +181,6 @@ index ÆÄÀÏÀ» ¼­ºñ½ºÇÑ´Ù</td></tr>
<a href="../ko/mod/mod_dir.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dir.html.tr.utf8 b/docs/manual/mod/mod_dir.html.tr.utf8
index c8f2aa6b..edd2c51e 100644
--- a/docs/manual/mod/mod_dir.html.tr.utf8
+++ b/docs/manual/mod/mod_dir.html.tr.utf8
@@ -135,7 +135,9 @@
</ul>
<p>Siz yine de bu etkiyi istemezseniz ve yukarıdaki sebepler de size uygun
- değilse yönlendirmeyi şöyle kapatabilirsiniz:</p>
+ değilse yönlendirmeyi aşağıdaki gibi kapatabilirsiniz. Ancak, bunu yapmanın
+ olası bir güvenlik açığını da beraberinde getireceği dikkate
+ alınmalıdır.</p>
<div class="example"><p><code>
# Aşağıdaki güvenlik uyarısına bakınız!<br />
@@ -170,16 +172,41 @@
<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr>
<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_dir</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Server 2.2.16 ve sonrası</td></tr>
</table>
<p>Dosya sisteminizdeki hiçbir şey ile eşleşmeyen URL'ler için bir
eylemci atamak isterseniz bunı kullanın. Kullanmadığınız takdirde
httpd bir HTTP 404 (Bulunamadı) döndürecektir. Örneğin</p>
<div class="example"><p><code>
- <code>FallbackResource default.php</code>
+ <code>FallbackResource /not-404.php</code>
</code></p></div>
<p>yönergesi ile varolmayan dosyalarla ilgili isteklere
- <code>default.php</code> sayfası gönderilirken varolanlar ile
+ <code>/not-404.php</code> sayfası gönderilirken varolanlar ile
ilgili istekler bundan etkilenmeyecektir.</p>
+ <p>Çoğunlukla, belli bir dizindeki mevcut dosya ve betiklere yapılan istekler
+ dışındaki tüm isteklere tek bir dosyanın veya belli bir kaynağın yanıt
+ vermesi istenir. Buna 'öndenetleyici' adı verilir.</p>
+ <p>httpd'nin eski sürümlerinde bunu sağlamak için
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ve istenen dosya veya dizinin var olup
+ olmadığını sınamak için <code>-f</code> ve <code>-d</code> kullanımı
+ gerekirdi. Bu artık tek bir yapılandırma satırı ile
+ halledilebilmektedir.</p>
+ <div class="example"><p><code>
+ <code>FallbackResource /index.php</code>
+ </code></p></div>
+ <p>Resimler, css dosyaları gibi mevcut dosyalar normal olarak sunulmaya
+ devam edecektir.</p>
+ <p><em>http://example.com/blog/</em> gibi bir alt-URI isteÄŸinde bu alt-URI
+ bir <var>yerel-url</var> olarak sunulabilir:</p>
+ <div class="example"><p><code>
+ <code>
+ &lt;Directory /web/example.com/htdocs/blog&gt;<br />
+ <span class="indent">
+ FallbackResource /blog/index.php<br />
+ </span>
+ &lt;/Directory&gt;
+ </code>
+ </code></p></div>
</div>
</div>
@@ -189,6 +216,6 @@
<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_dir.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_disk_cache.html.en b/docs/manual/mod/mod_disk_cache.html.en
index 180e8efd..9a276bfe 100644
--- a/docs/manual/mod/mod_disk_cache.html.en
+++ b/docs/manual/mod/mod_disk_cache.html.en
@@ -183,6 +183,6 @@ stored</td></tr>
<a href="../ja/mod/mod_disk_cache.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_disk_cache.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_disk_cache.html.ja.utf8 b/docs/manual/mod/mod_disk_cache.html.ja.utf8
index 2e9676bd..83a22f70 100644
--- a/docs/manual/mod/mod_disk_cache.html.ja.utf8
+++ b/docs/manual/mod/mod_disk_cache.html.ja.utf8
@@ -171,6 +171,6 @@
<a href="../ja/mod/mod_disk_cache.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_disk_cache.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_disk_cache.html.ko.euc-kr b/docs/manual/mod/mod_disk_cache.html.ko.euc-kr
index d26a8f4e..7a085fe8 100644
--- a/docs/manual/mod/mod_disk_cache.html.ko.euc-kr
+++ b/docs/manual/mod/mod_disk_cache.html.ko.euc-kr
@@ -170,6 +170,6 @@
<a href="../ja/mod/mod_disk_cache.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_disk_cache.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dumpio.html.en b/docs/manual/mod/mod_dumpio.html.en
index d63bf7bc..5982f094 100644
--- a/docs/manual/mod/mod_dumpio.html.en
+++ b/docs/manual/mod/mod_dumpio.html.en
@@ -124,6 +124,6 @@ later.</td></tr>
<p><span>Available Languages: </span><a href="../en/mod/mod_dumpio.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_dumpio.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_dumpio.html.ja.utf8 b/docs/manual/mod/mod_dumpio.html.ja.utf8
index 77d10473..26c9823a 100644
--- a/docs/manual/mod/mod_dumpio.html.ja.utf8
+++ b/docs/manual/mod/mod_dumpio.html.ja.utf8
@@ -45,6 +45,7 @@
<div id="quickview"><h3 class="directives">ディレクティブ</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#dumpioinput">DumpIOInput</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dumpiologlevel">DumpIOLogLevel</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#dumpiooutput">DumpIOOutput</a></li>
</ul>
<h3>トピック</h3>
@@ -80,6 +81,20 @@
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="DumpIOLogLevel" id="DumpIOLogLevel">DumpIOLogLevel</a> <a name="dumpiologlevel" id="dumpiologlevel">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Controls the logging level of the DumpIO output</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DumpIOLogLevel <var>level</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DumpIOLogLevel debug</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dumpio</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>DumpIOLogLevel is only available in Apache 2.2.4 and
+later.</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DumpIOOutput" id="DumpIOOutput">DumpIOOutput</a> <a name="dumpiooutput" id="dumpiooutput">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>エラーログã«ã™ã¹ã¦ã®å‡ºåŠ›ãƒ‡ãƒ¼ã‚¿ã‚’ダンプ</td></tr>
@@ -102,6 +117,6 @@
<p><span>Available Languages: </span><a href="../en/mod/mod_dumpio.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_dumpio.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_echo.html.en b/docs/manual/mod/mod_echo.html.en
index 81c81028..b95f3014 100644
--- a/docs/manual/mod/mod_echo.html.en
+++ b/docs/manual/mod/mod_echo.html.en
@@ -69,6 +69,6 @@ later.</td></tr>
<a href="../ja/mod/mod_echo.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_echo.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_echo.html.ja.utf8 b/docs/manual/mod/mod_echo.html.ja.utf8
index c62cae3c..921d0d5f 100644
--- a/docs/manual/mod/mod_echo.html.ja.utf8
+++ b/docs/manual/mod/mod_echo.html.ja.utf8
@@ -69,6 +69,6 @@
<a href="../ja/mod/mod_echo.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_echo.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_echo.html.ko.euc-kr b/docs/manual/mod/mod_echo.html.ko.euc-kr
index 3c88c1fa..058675ee 100644
--- a/docs/manual/mod/mod_echo.html.ko.euc-kr
+++ b/docs/manual/mod/mod_echo.html.ko.euc-kr
@@ -68,6 +68,6 @@
<a href="../ja/mod/mod_echo.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_echo.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_env.html.en b/docs/manual/mod/mod_env.html.en
index 9a8fde27..871b872b 100644
--- a/docs/manual/mod/mod_env.html.en
+++ b/docs/manual/mod/mod_env.html.en
@@ -33,11 +33,12 @@ SSI pages</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_env.c</td></tr></table>
<h3>Summary</h3>
- <p>This module allows for control of the environment that will
- be provided to CGI scripts and SSI pages. Environment variables
- may be passed from the shell which invoked the <code class="program"><a href="../programs/httpd.html">httpd</a></code>
- process. Alternatively, environment variables may be set or unset within
- the configuration process.</p>
+ <p>This module allows for control of internal environment variables that
+ are used by various Apache HTTP Server modules. These variables are also
+ provided to CGI scripts as native system environment variables, and available
+ for use in SSI pages. Environment variables may be passed from the shell
+ which invoked the <code class="program"><a href="../programs/httpd.html">httpd</a></code> process. Alternatively,
+ environment variables may be set or unset within the configuration process.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
@@ -48,6 +49,7 @@ SSI pages</td></tr>
<h3>See also</h3>
<ul class="seealso">
<li><a href="../env.html">Environment Variables</a></li>
+<li><code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -61,9 +63,11 @@ SSI pages</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_env</td></tr>
</table>
- <p>Specifies one or more environment variables to pass to CGI
- scripts and SSI pages from the environment of the shell which
- invoked the <code class="program"><a href="../programs/httpd.html">httpd</a></code> process.</p>
+ <p>Specifies one or more native system environment variables to make available
+ as internal environment variables, which are available to Apache HTTP Server modules
+ as well as propogated to CGI scripts and SSI pages. Values come from the
+ native OS environment of the shell which invoked the
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code> process.</p>
<div class="example"><h3>Example</h3><p><code>
PassEnv LD_LIBRARY_PATH
@@ -80,8 +84,8 @@ SSI pages</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_env</td></tr>
</table>
- <p>Sets an environment variable, which is then passed on to CGI
- scripts and SSI pages.</p>
+ <p>Sets an internal environment variable, which is then available to Apache
+ HTTP Server modules, and passed on to CGI scripts and SSI pages.</p>
<div class="example"><h3>Example</h3><p><code>
SetEnv SPECIAL_PATH /foo/bin
@@ -97,6 +101,10 @@ SSI pages</td></tr>
</div>
+<h3>See also</h3>
+<ul>
+<li><a href="../env.html">Environment Variables</a></li>
+</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="UnsetEnv" id="UnsetEnv">UnsetEnv</a> <a name="unsetenv" id="unsetenv">Directive</a></h2>
@@ -109,7 +117,7 @@ SSI pages</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_env</td></tr>
</table>
- <p>Removes one or more environment variables from those passed
+ <p>Removes one or more internal environment variables from those passed
on to CGI scripts and SSI pages.</p>
<div class="example"><h3>Example</h3><p><code>
@@ -124,6 +132,6 @@ SSI pages</td></tr>
<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_env.html.ja.utf8 b/docs/manual/mod/mod_env.html.ja.utf8
index 8145bcf9..3fe5a7e4 100644
--- a/docs/manual/mod/mod_env.html.ja.utf8
+++ b/docs/manual/mod/mod_env.html.ja.utf8
@@ -116,6 +116,6 @@
<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_env.html.ko.euc-kr b/docs/manual/mod/mod_env.html.ko.euc-kr
index 3408f5d5..f6f9cc22 100644
--- a/docs/manual/mod/mod_env.html.ko.euc-kr
+++ b/docs/manual/mod/mod_env.html.ko.euc-kr
@@ -111,6 +111,6 @@
<a href="../ko/mod/mod_env.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_env.html.tr.utf8 b/docs/manual/mod/mod_env.html.tr.utf8
index 0e28bca7..b2069f89 100644
--- a/docs/manual/mod/mod_env.html.tr.utf8
+++ b/docs/manual/mod/mod_env.html.tr.utf8
@@ -33,9 +33,10 @@ müdahale etmek için kullanılır.</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_env.c</td></tr></table>
<h3>Özet</h3>
- <p>Bu modül CGI betiklerine ve SSI sayfalarına aktarılan ortama müdahale
- etmeyi mümkün kılar. Ortam değişkenleri <code class="program"><a href="../programs/httpd.html">httpd</a></code> süreci
- başlatılırken kabuktan aktarılabilir. Bundan başka, yapılandırma
+ <p>Bu modül çeşitli Apache HTTP sunucu modülleri tarafından kullanılan dahili
+ ortam değişkenlerini denetim altına almak için kullanılır. Bu değişkenler
+ ayrıca CGI betiklerinde sistem ortam değişkenleri gibi belirtilebildiği
+ gibi SSI sayfalarında da kullanılabilmektedir. Bundan başka, yapılandırma
sürecinde tanımlı veya tanımsız yapılabilirler.</p>
</div>
<div id="quickview"><h3 class="directives">Yönergeler</h3>
@@ -60,8 +61,10 @@ müdahale etmek için kullanılır.</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr>
<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_env</td></tr>
</table>
- <p><code class="program"><a href="../programs/httpd.html">httpd</a></code> süreci başlatılırken CGI betiklerine ve SSI
- sayfalarına kabuktan aktarılabilecek ortam değişkenleri belirtilir.</p>
+ <p><code class="program"><a href="../programs/httpd.html">httpd</a></code> süreci başlatılırken Apache HTTP sunucu
+ modüllerinde, CGI betiklerinde ve SSI sayfalarında dahili ortam
+ değişkenleri olarak kullanılmak üzere bazı sistem ortam değişkenlerini
+ belirtmek için kullanılır.</p>
<div class="example"><h3>Örnek</h3><p><code>
PassEnv LD_LIBRARY_PATH
@@ -78,8 +81,9 @@ müdahale etmek için kullanılır.</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr>
<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_env</td></tr>
</table>
- <p>CGI betiklerine ve SSI sayfalarına aktarılmak üzere bir ortam değişkeni
- tanımlanmasını sağlar.</p>
+ <p>Apache HTTP sunucu modüllerinde kullanılmak ve CGI betiklerine ve SSI
+ sayfalarına aktarılmak üzere bir ortam değişkeni belirtilebilmesini
+ saÄŸlar.</p>
<div class="example"><h3>Örnek</h3><p><code>
SetEnv SPECIAL_PATH /foo/bin
@@ -88,11 +92,15 @@ müdahale etmek için kullanılır.</td></tr>
<div class="note"><p>Bu yönerge ile atanan dahili ortam değişkenleri, erişim denetimi ve
URI'leri dosya isimleri ile eşleştirme gibi daha önceki istek işleme
yönergelerinden <em>sonra</em> atanır. Eğer atayacağınız ortam
- deÄŸikenlerinin <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ deÄŸiÅŸkenlerinin <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
yönergelerindeki gibi erken dönem işlem aşamalarında etkili olmasını
istiyorsanız bu ortam değişkenlerini <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> yönergesi ile atamalısınız.</p>
</div>
+<h3>Ayrıca bakınız:</h3>
+<ul>
+<li><a href="../env.html">Ortam DeÄŸiÅŸkenleri</a></li>
+</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="UnsetEnv" id="UnsetEnv">UnsetEnv</a> <a name="unsetenv" id="unsetenv">Yönergesi</a></h2>
@@ -105,8 +113,8 @@ müdahale etmek için kullanılır.</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr>
<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_env</td></tr>
</table>
- <p>CGI betiklerine ve SSI sayfalarına bir daha aktarılmamak üzere bir ortam
- deÄŸiÅŸkenini ortamdan siler.</p>
+ <p>CGI betiklerine ve SSI sayfalarına bir daha aktarılmamak üzere bir dahili
+ ortam deÄŸiÅŸkenini ortamdan siler.</p>
<div class="example"><h3>Örnek</h3><p><code>
UnsetEnv LD_LIBRARY_PATH
@@ -120,6 +128,6 @@ müdahale etmek için kullanılır.</td></tr>
<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_env.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_example.html.en b/docs/manual/mod/mod_example.html.en
index ce5076c6..917f8cd5 100644
--- a/docs/manual/mod/mod_example.html.en
+++ b/docs/manual/mod/mod_example.html.en
@@ -151,6 +151,6 @@ API</td></tr>
<p><span>Available Languages: </span><a href="../en/mod/mod_example.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/mod_example.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_example.html.ko.euc-kr b/docs/manual/mod/mod_example.html.ko.euc-kr
index d178e4a2..3583c380 100644
--- a/docs/manual/mod/mod_example.html.ko.euc-kr
+++ b/docs/manual/mod/mod_example.html.ko.euc-kr
@@ -150,6 +150,6 @@
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_example.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/mod_example.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_expires.html.en b/docs/manual/mod/mod_expires.html.en
index b16448d9..395f234e 100644
--- a/docs/manual/mod/mod_expires.html.en
+++ b/docs/manual/mod/mod_expires.html.en
@@ -51,6 +51,10 @@ criteria</td></tr>
<code>max-age</code> (see <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">RFC
2616 section 14.9</a>), you can use the <code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code> directive.</p>
+ <p> When the <code>Expires</code> header is already part of the response
+ generated by the server, for example when generated by a CGI script or
+ proxied from an origin server, this module does not change or add
+ an <code>Expires</code> or <code>Cache-Control</code> header.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
@@ -242,6 +246,6 @@ by MIME type</td></tr>
<a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_expires.html.ja.utf8 b/docs/manual/mod/mod_expires.html.ja.utf8
index 45be2aa7..78394bd9 100644
--- a/docs/manual/mod/mod_expires.html.ja.utf8
+++ b/docs/manual/mod/mod_expires.html.ja.utf8
@@ -25,6 +25,8 @@
<a href="../ja/mod/mod_expires.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
+<div class="outofdate">This translation may be out of date. Check the
+ English version for recent changes.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>ユーザã®æŒ‡å®šã—ãŸåŸºæº–ã«åŸºã¥ã„㟠<code>Expires</code> ã¨
<code>Cache-Control</code> HTTP ヘッダã®ç”Ÿæˆ</td></tr>
<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
@@ -228,6 +230,6 @@
<a href="../ja/mod/mod_expires.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_expires.html.ko.euc-kr b/docs/manual/mod/mod_expires.html.ko.euc-kr
index 3315d69b..aba2d9fb 100644
--- a/docs/manual/mod/mod_expires.html.ko.euc-kr
+++ b/docs/manual/mod/mod_expires.html.ko.euc-kr
@@ -25,6 +25,8 @@
<a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_expires.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
+<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
+ ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">¼³¸í:</a></th><td>»ç¿ëÀÚ°¡ ÁöÁ¤ÇÑ ±âÁØ¿¡ µû¶ó <code>Expires</code>¿Í
<code>Cache-Control</code> HTTP Çì´õ¸¦ »ý¼ºÇÑ´Ù</td></tr>
<tr><th><a href="module-dict.html#Status">»óÅÂ:</a></th><td>Extension</td></tr>
@@ -220,6 +222,6 @@
<a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_expires.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_ext_filter.html.en b/docs/manual/mod/mod_ext_filter.html.en
index 0bd54bf0..82e2257b 100644
--- a/docs/manual/mod/mod_ext_filter.html.en
+++ b/docs/manual/mod/mod_ext_filter.html.en
@@ -377,6 +377,6 @@ delivery to the client</td></tr>
<a href="../ja/mod/mod_ext_filter.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_ext_filter.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_ext_filter.html.ja.utf8 b/docs/manual/mod/mod_ext_filter.html.ja.utf8
index 029ed27f..d97550bc 100644
--- a/docs/manual/mod/mod_ext_filter.html.ja.utf8
+++ b/docs/manual/mod/mod_ext_filter.html.ja.utf8
@@ -364,6 +364,6 @@
<a href="../ja/mod/mod_ext_filter.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_ext_filter.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_ext_filter.html.ko.euc-kr b/docs/manual/mod/mod_ext_filter.html.ko.euc-kr
index 2dd121ef..2bb2db9f 100644
--- a/docs/manual/mod/mod_ext_filter.html.ko.euc-kr
+++ b/docs/manual/mod/mod_ext_filter.html.ko.euc-kr
@@ -349,6 +349,6 @@
<a href="../ja/mod/mod_ext_filter.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_ext_filter.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_file_cache.html.en b/docs/manual/mod/mod_file_cache.html.en
index db61691b..b6db8a0d 100644
--- a/docs/manual/mod/mod_file_cache.html.en
+++ b/docs/manual/mod/mod_file_cache.html.en
@@ -205,6 +205,6 @@
<p><span>Available Languages: </span><a href="../en/mod/mod_file_cache.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/mod_file_cache.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_file_cache.html.ko.euc-kr b/docs/manual/mod/mod_file_cache.html.ko.euc-kr
index 7df1a79b..650e10e1 100644
--- a/docs/manual/mod/mod_file_cache.html.ko.euc-kr
+++ b/docs/manual/mod/mod_file_cache.html.ko.euc-kr
@@ -197,6 +197,6 @@
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/mod_file_cache.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_filter.html.en b/docs/manual/mod/mod_filter.html.en
index 6f18cfcd..23742de8 100644
--- a/docs/manual/mod/mod_filter.html.en
+++ b/docs/manual/mod/mod_filter.html.en
@@ -448,6 +448,6 @@
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_filter.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_headers.html.en b/docs/manual/mod/mod_headers.html.en
index a2b068af..02db5483 100644
--- a/docs/manual/mod/mod_headers.html.en
+++ b/docs/manual/mod/mod_headers.html.en
@@ -214,18 +214,32 @@ headers</td></tr>
and output filters are run, allowing outgoing headers to be
modified.</p>
- <p>By default, this directive only affects successful responses (responses
- in the <code>2<var>xx</var></code> range). The optional <var>condition</var>
- can be either <code>onsuccess</code> (default) or <code>always</code> (all
- status codes, including successful responses). A value of <code>always</code>
- may be needed to influence headers set by some internal modules even for
- successful responses, and is always needed to affect non-<code>2<var>xx</var></code>
- responses such as redirects or client errors.</p>
-
- <div class="note"><h3>CGI</h3>
- <p>To manipulate headers set by CGI scripts, it is necessary to specify
- <code>always</code> for the first parameter.</p>
- </div>
+ <p> The optional <var>condition</var> argument determines which internal
+ table of responses headers this directive will operate against. Other
+ components of the server may have stored their response headers in either
+ the table that corresponds to <code>onsuccess</code> or the table that
+ corresponds to <code>always</code>. "Always" in this context refers to
+ whether headers you add will be sent during both a successful and unsucessful
+ response, but if your action is a function of an existing header, you
+ will have to read on for further complications.</p>
+
+ <p> The default value of <code>onsuccess</code> may need to be changed to
+ <code>always</code> under the circumstances similar to those listed below.
+ Note also that repeating this directive with both conditions makes sense in
+ some scenarios because <code>always</code> is not a superset of
+ <code>onsuccess</code> with respect to existing headers:</p>
+
+ <ul>
+ <li> You're adding a header to a non-success (non-2xx) response, such
+ as a redirect, in which case only the table corresponding to
+ <code>always</code> is used in the ultimate response.</li>
+ <li> You're modifying or removing a header generated by a CGI script,
+ in which case the CGI scripts are in the table corresponding to
+ <code>always</code> and not in the default table.</li>
+ <li> You're modifying or removing a header generated by some piece of
+ the server but that header is not being found by the default
+ <code>onsuccess</code> condition.</li>
+ </ul>
<p>The action it performs is determined by the first
argument (second argument if a <var>condition</var> is specified).
@@ -451,6 +465,6 @@ headers</td></tr>
<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_headers.html.ja.utf8 b/docs/manual/mod/mod_headers.html.ja.utf8
index df451aef..027b3b42 100644
--- a/docs/manual/mod/mod_headers.html.ja.utf8
+++ b/docs/manual/mod/mod_headers.html.ja.utf8
@@ -342,6 +342,6 @@
<a href="../ja/mod/mod_headers.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_headers.html.ko.euc-kr b/docs/manual/mod/mod_headers.html.ko.euc-kr
index ff81b066..447646a0 100644
--- a/docs/manual/mod/mod_headers.html.ko.euc-kr
+++ b/docs/manual/mod/mod_headers.html.ko.euc-kr
@@ -332,6 +332,6 @@
<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_headers.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_ident.html.en b/docs/manual/mod/mod_ident.html.en
index 19dfdc90..9c46868d 100644
--- a/docs/manual/mod/mod_ident.html.en
+++ b/docs/manual/mod/mod_ident.html.en
@@ -98,6 +98,6 @@ user</td></tr>
<a href="../ja/mod/mod_ident.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_ident.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_ident.html.ja.utf8 b/docs/manual/mod/mod_ident.html.ja.utf8
index 71eb98d3..f4628f3f 100644
--- a/docs/manual/mod/mod_ident.html.ja.utf8
+++ b/docs/manual/mod/mod_ident.html.ja.utf8
@@ -98,6 +98,6 @@
<a href="../ja/mod/mod_ident.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_ident.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_ident.html.ko.euc-kr b/docs/manual/mod/mod_ident.html.ko.euc-kr
index 6d90d77d..b4d41500 100644
--- a/docs/manual/mod/mod_ident.html.ko.euc-kr
+++ b/docs/manual/mod/mod_ident.html.ko.euc-kr
@@ -95,6 +95,6 @@
<a href="../ja/mod/mod_ident.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_ident.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_imagemap.html.en b/docs/manual/mod/mod_imagemap.html.en
index 2ec3ca25..cb8ec837 100644
--- a/docs/manual/mod/mod_imagemap.html.en
+++ b/docs/manual/mod/mod_imagemap.html.en
@@ -378,6 +378,6 @@ an imagemap</td></tr>
<p><span>Available Languages: </span><a href="../en/mod/mod_imagemap.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/mod_imagemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_imagemap.html.ko.euc-kr b/docs/manual/mod/mod_imagemap.html.ko.euc-kr
index 492af6ac..51c54c8c 100644
--- a/docs/manual/mod/mod_imagemap.html.ko.euc-kr
+++ b/docs/manual/mod/mod_imagemap.html.ko.euc-kr
@@ -358,6 +358,6 @@
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_imagemap.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/mod_imagemap.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_include.html.en b/docs/manual/mod/mod_include.html.en
index 47c81edf..7bd5b72d 100644
--- a/docs/manual/mod/mod_include.html.en
+++ b/docs/manual/mod/mod_include.html.en
@@ -948,6 +948,6 @@ set</td></tr>
<p><span>Available Languages: </span><a href="../en/mod/mod_include.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_include.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_include.html.ja.utf8 b/docs/manual/mod/mod_include.html.ja.utf8
index 79045f48..21664a95 100644
--- a/docs/manual/mod/mod_include.html.ja.utf8
+++ b/docs/manual/mod/mod_include.html.ja.utf8
@@ -41,8 +41,11 @@
</div>
<div id="quickview"><h3 class="directives">ディレクティブ</h3>
<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#ssienableaccess">SSIEnableAccess</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ssiendtag">SSIEndTag</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ssierrormsg">SSIErrorMsg</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssietag">SSIETag</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssilastmodified">SSILastModified</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ssistarttag">SSIStartTag</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ssitimeformat">SSITimeFormat</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ssiundefinedecho">SSIUndefinedEcho</a></li>
@@ -603,6 +606,18 @@
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SSIEnableAccess" id="SSIEnableAccess">SSIEnableAccess</a> <a name="ssienableaccess" id="ssienableaccess">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Enable the -A flag during conditional flow control processing.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSIEnableAccess on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSIEnableAccess off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="SSIEndTag" id="SSIEndTag">SSIEndTag</a> <a name="ssiendtag" id="ssiendtag">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>include è¦ç´ ã‚’終了ã•ã›ã‚‹æ–‡å­—列</td></tr>
@@ -654,6 +669,33 @@ directive]"</code></td></tr>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SSIETag" id="SSIETag">SSIETag</a> <a name="ssietag" id="ssietag">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Controls whether ETags are generated by the server.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSIETag on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSIETag off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Available in version 2.2.15 and later.</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SSILastModified" id="SSILastModified">SSILastModified</a> <a name="ssilastmodified" id="ssilastmodified">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Controls whether <code>Last-Modified</code> headers are generated by the
+server.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSILastModified on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSILastModified off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Available in version 2.2.15 and later.</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="SSIStartTag" id="SSIStartTag">SSIStartTag</a> <a name="ssistarttag" id="ssistarttag">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>include è¦ç´ ã‚’開始ã™ã‚‹æ–‡å­—列</td></tr>
@@ -786,6 +828,6 @@ directive]"</code></td></tr>
<p><span>Available Languages: </span><a href="../en/mod/mod_include.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_include.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_info.html.en b/docs/manual/mod/mod_info.html.en
index 2374a273..922c4f56 100644
--- a/docs/manual/mod/mod_info.html.en
+++ b/docs/manual/mod/mod_info.html.en
@@ -190,6 +190,6 @@ information displayed by the server-info handler</td></tr>
<a href="../ja/mod/mod_info.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_info.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_info.html.ja.utf8 b/docs/manual/mod/mod_info.html.ja.utf8
index b81064a7..4bd16bd6 100644
--- a/docs/manual/mod/mod_info.html.ja.utf8
+++ b/docs/manual/mod/mod_info.html.ja.utf8
@@ -185,6 +185,6 @@
<a href="../ja/mod/mod_info.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_info.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_info.html.ko.euc-kr b/docs/manual/mod/mod_info.html.ko.euc-kr
index a9f6654b..00e693b0 100644
--- a/docs/manual/mod/mod_info.html.ko.euc-kr
+++ b/docs/manual/mod/mod_info.html.ko.euc-kr
@@ -164,6 +164,6 @@
<a href="../ja/mod/mod_info.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_info.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_isapi.html.en b/docs/manual/mod/mod_isapi.html.en
index 1462f881..be92eaf2 100644
--- a/docs/manual/mod/mod_isapi.html.en
+++ b/docs/manual/mod/mod_isapi.html.en
@@ -338,6 +338,6 @@ extensions</td></tr>
<p><span>Available Languages: </span><a href="../en/mod/mod_isapi.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/mod_isapi.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_isapi.html.ko.euc-kr b/docs/manual/mod/mod_isapi.html.ko.euc-kr
index 9278eece..4736e3ad 100644
--- a/docs/manual/mod/mod_isapi.html.ko.euc-kr
+++ b/docs/manual/mod/mod_isapi.html.ko.euc-kr
@@ -314,6 +314,6 @@
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_isapi.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/mod_isapi.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_ldap.html.en b/docs/manual/mod/mod_ldap.html.en
index 0598a402..69c7ff66 100644
--- a/docs/manual/mod/mod_ldap.html.en
+++ b/docs/manual/mod/mod_ldap.html.en
@@ -634,6 +634,6 @@ Certificate Authority or global client certificates</td></tr>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_ldap.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_log_config.html.en b/docs/manual/mod/mod_log_config.html.en
index 6a6f3eb9..5b6e4986 100644
--- a/docs/manual/mod/mod_log_config.html.en
+++ b/docs/manual/mod/mod_log_config.html.en
@@ -491,6 +491,6 @@
<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_log_config.html.ja.utf8 b/docs/manual/mod/mod_log_config.html.ja.utf8
index df201361..efca9c0b 100644
--- a/docs/manual/mod/mod_log_config.html.ja.utf8
+++ b/docs/manual/mod/mod_log_config.html.ja.utf8
@@ -470,6 +470,6 @@
<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_log_config.html.ko.euc-kr b/docs/manual/mod/mod_log_config.html.ko.euc-kr
index 00367cc9..165223f6 100644
--- a/docs/manual/mod/mod_log_config.html.ko.euc-kr
+++ b/docs/manual/mod/mod_log_config.html.ko.euc-kr
@@ -48,6 +48,7 @@
</div>
<div id="quickview"><h3 class="directives">Áö½Ã¾îµé</h3>
<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#bufferedlogs">BufferedLogs</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cookielog">CookieLog</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#customlog">CustomLog</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#logformat">LogFormat</a></li>
@@ -239,6 +240,19 @@
¹®¼­¸¦ Âü°íÇ϶ó.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="BufferedLogs" id="BufferedLogs">BufferedLogs</a> <a name="bufferedlogs" id="bufferedlogs">Áö½Ã¾î</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>Buffer log entries in memory before writing to disk</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">¹®¹ý:</a></th><td><code>BufferedLogs On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">±âº»°ª:</a></th><td><code>BufferedLogs Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">»ç¿ëÀå¼Ò:</a></th><td>ÁÖ¼­¹ö¼³Á¤</td></tr>
+<tr><th><a href="directive-dict.html#Status">»óÅÂ:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">¸ðµâ:</a></th><td>mod_log_config</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Áö¿ø:</a></th><td>Available in versions 2.0.41 and later.</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CookieLog" id="CookieLog">CookieLog</a> <a name="cookielog" id="cookielog">Áö½Ã¾î</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>ÄíÅ°¸¦ ·Î±×¿¡ ³²±â±âÀ§ÇØ »ç¿ëÇÒ ÆÄÀϸíÀ» ¼³Á¤ÇÑ´Ù</td></tr>
@@ -398,6 +412,6 @@
<a href="../ko/mod/mod_log_config.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_log_config.html.tr.utf8 b/docs/manual/mod/mod_log_config.html.tr.utf8
index c65fd388..1c47fecc 100644
--- a/docs/manual/mod/mod_log_config.html.tr.utf8
+++ b/docs/manual/mod/mod_log_config.html.tr.utf8
@@ -476,6 +476,6 @@ kullanılır.</td></tr>
<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_log_config.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_log_forensic.html.en b/docs/manual/mod/mod_log_forensic.html.en
index 7961b0fa..cf62731f 100644
--- a/docs/manual/mod/mod_log_forensic.html.en
+++ b/docs/manual/mod/mod_log_forensic.html.en
@@ -159,6 +159,6 @@ version 2.1</td></tr></table>
<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_log_forensic.html.ja.utf8 b/docs/manual/mod/mod_log_forensic.html.ja.utf8
index f7199d97..75abfdee 100644
--- a/docs/manual/mod/mod_log_forensic.html.ja.utf8
+++ b/docs/manual/mod/mod_log_forensic.html.ja.utf8
@@ -162,6 +162,6 @@
<a href="../ja/mod/mod_log_forensic.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_log_forensic.html.tr.utf8 b/docs/manual/mod/mod_log_forensic.html.tr.utf8
index 86385ea2..b9b72225 100644
--- a/docs/manual/mod/mod_log_forensic.html.tr.utf8
+++ b/docs/manual/mod/mod_log_forensic.html.tr.utf8
@@ -158,6 +158,6 @@
<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/mod_log_forensic.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_logio.html.en b/docs/manual/mod/mod_logio.html.en
index 1c8b3cac..312d0e77 100644
--- a/docs/manual/mod/mod_logio.html.en
+++ b/docs/manual/mod/mod_logio.html.en
@@ -93,6 +93,6 @@
<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_logio.html.ja.utf8 b/docs/manual/mod/mod_logio.html.ja.utf8
index 84183be8..8d4a5044 100644
--- a/docs/manual/mod/mod_logio.html.ja.utf8
+++ b/docs/manual/mod/mod_logio.html.ja.utf8
@@ -90,6 +90,6 @@
<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_logio.html.ko.euc-kr b/docs/manual/mod/mod_logio.html.ko.euc-kr
index 6803859d..d3c3e17c 100644
--- a/docs/manual/mod/mod_logio.html.ko.euc-kr
+++ b/docs/manual/mod/mod_logio.html.ko.euc-kr
@@ -91,6 +91,6 @@
<a href="../ko/mod/mod_logio.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_logio.html.tr.utf8 b/docs/manual/mod/mod_logio.html.tr.utf8
index 07857801..775e9c19 100644
--- a/docs/manual/mod/mod_logio.html.tr.utf8
+++ b/docs/manual/mod/mod_logio.html.tr.utf8
@@ -92,6 +92,6 @@
<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_logio.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_mem_cache.html.en b/docs/manual/mod/mod_mem_cache.html.en
index ec6b736d..1b9a76fd 100644
--- a/docs/manual/mod/mod_mem_cache.html.en
+++ b/docs/manual/mod/mod_mem_cache.html.en
@@ -239,6 +239,6 @@ KBytes</td></tr>
<a href="../ja/mod/mod_mem_cache.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_mem_cache.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_mem_cache.html.ja.utf8 b/docs/manual/mod/mod_mem_cache.html.ja.utf8
index 98bda295..f8b9bb19 100644
--- a/docs/manual/mod/mod_mem_cache.html.ja.utf8
+++ b/docs/manual/mod/mod_mem_cache.html.ja.utf8
@@ -231,6 +231,6 @@
<a href="../ja/mod/mod_mem_cache.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_mem_cache.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_mem_cache.html.ko.euc-kr b/docs/manual/mod/mod_mem_cache.html.ko.euc-kr
index f9a21952..e4e14d2c 100644
--- a/docs/manual/mod/mod_mem_cache.html.ko.euc-kr
+++ b/docs/manual/mod/mod_mem_cache.html.ko.euc-kr
@@ -232,6 +232,6 @@
<a href="../ja/mod/mod_mem_cache.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_mem_cache.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_mime.html.en b/docs/manual/mod/mod_mime.html.en
index a6b36c35..24f93e6c 100644
--- a/docs/manual/mod/mod_mime.html.en
+++ b/docs/manual/mod/mod_mime.html.en
@@ -978,6 +978,6 @@ extensions</td></tr>
<p><span>Available Languages: </span><a href="../en/mod/mod_mime.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_mime.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_mime.html.ja.utf8 b/docs/manual/mod/mod_mime.html.ja.utf8
index a91e24ca..2a2f5baf 100644
--- a/docs/manual/mod/mod_mime.html.ja.utf8
+++ b/docs/manual/mod/mod_mime.html.ja.utf8
@@ -934,6 +934,6 @@
<p><span>Available Languages: </span><a href="../en/mod/mod_mime.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_mime.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_mime_magic.html.en b/docs/manual/mod/mod_mime_magic.html.en
index e50e438d..8d9c1ef0 100644
--- a/docs/manual/mod/mod_mime_magic.html.en
+++ b/docs/manual/mod/mod_mime_magic.html.en
@@ -270,6 +270,6 @@ using the specified magic file</td></tr>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_mime_magic.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_negotiation.html.en b/docs/manual/mod/mod_negotiation.html.en
index a6673471..f411a6c5 100644
--- a/docs/manual/mod/mod_negotiation.html.en
+++ b/docs/manual/mod/mod_negotiation.html.en
@@ -113,8 +113,8 @@ Negotiation</a></li>
0.</dd>
<dt><code>qs</code></dt>
- <dd>a floating-point number with a value in the range 0.0
- to 1.0, indicating the relative 'quality' of this variant
+ <dd>a floating-point number with a value in the range 0[.000]
+ to 1[.000], indicating the relative 'quality' of this variant
compared to the other available variants, independent of
the client's capabilities. For example, a jpeg file is
usually of higher source quality than an ascii file if it
@@ -302,6 +302,6 @@ the client does not express a preference</td></tr>
<p><span>Available Languages: </span><a href="../en/mod/mod_negotiation.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_negotiation.html.ja.utf8 b/docs/manual/mod/mod_negotiation.html.ja.utf8
index c4141fb7..f20df187 100644
--- a/docs/manual/mod/mod_negotiation.html.ja.utf8
+++ b/docs/manual/mod/mod_negotiation.html.ja.utf8
@@ -297,6 +297,6 @@
<p><span>Available Languages: </span><a href="../en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_negotiation.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_nw_ssl.html.en b/docs/manual/mod/mod_nw_ssl.html.en
index fc3994eb..03acea37 100644
--- a/docs/manual/mod/mod_nw_ssl.html.en
+++ b/docs/manual/mod/mod_nw_ssl.html.en
@@ -92,6 +92,6 @@
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_nw_ssl.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy.html b/docs/manual/mod/mod_proxy.html
index 8c05a7a6..3cbe01bc 100644
--- a/docs/manual/mod/mod_proxy.html
+++ b/docs/manual/mod/mod_proxy.html
@@ -4,6 +4,10 @@ URI: mod_proxy.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: mod_proxy.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: mod_proxy.html.ja.utf8
Content-Language: ja
Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/mod/mod_proxy.html.en b/docs/manual/mod/mod_proxy.html.en
index b18b9fc0..d3753a8e 100644
--- a/docs/manual/mod/mod_proxy.html.en
+++ b/docs/manual/mod/mod_proxy.html.en
@@ -22,6 +22,7 @@
<div id="preamble"><h1>Apache Module mod_proxy</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>HTTP/1.1 proxy/gateway server</td></tr>
@@ -662,8 +663,8 @@ response</td></tr>
</table>
<p>The <code class="directive">ProxyBadHeader</code> directive determines the
behaviour of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> if it receives syntactically invalid
- header lines (<em>i.e.</em> containing no colon). The following arguments
- are possible:</p>
+ response header lines (<em>i.e.</em> containing no colon) from the origin
+ server. The following arguments are possible:</p>
<dl>
<dt><code>IsError</code></dt>
@@ -915,23 +916,30 @@ through</td></tr>
</div>
- <p>As of Apache 2.1, the ability to use pooled connections to a backend
- server is available. Using the <code>key=value</code> parameters it is
- possible to tune this connection pooling. The default for a <code>Hard
- Maximum</code> for the number of connections is the number of threads per
- process in the active MPM. In the Prefork MPM, this is always 1, while with
- the Worker MPM it is controlled by the
- <code class="directive">ThreadsPerChild</code>.</p>
-
- <p>Setting <code>min</code> will determine how many connections will always
- be open to the backend server. Upto the Soft Maximum or <code>smax</code>
- number of connections will be created on demand. Any connections above
- <code>smax</code> are subject to a time to live or <code>ttl</code>. Apache
- will never create more than the Hard Maximum or <code>max</code> connections
- to the backend server.</p>
+ <p>In Apache HTTP Server 2.1 and later, mod_proxy supports pooled
+ connections to a backend server. Connections created on demand
+ can be retained in a pool for future use. Limits on the pool size
+ and other settings can be coded on
+ the <code class="directive">ProxyPass</code> directive
+ using <code>key=value</code> parameters, described in the table
+ below.</p>
+
+ <p>By default, mod_proxy will allow and retain the maximum number of
+ connections that could be used simultaneously by that web server child
+ process. Use the <code>max</code> parameter to reduce the number from
+ the default. Use the <code>ttl</code> parameter to set an optional
+ time to live; connections which have been unused for at least
+ <code>ttl</code> seconds will be closed. <code>ttl</code> can be used
+ to avoid using a connection which is subject to closing because of the
+ backend server's keep-alive timeout.</p>
+
+ <p>The pool of connections is maintained per web server child
+ process, and <code>max</code> and other settings are not coordinated
+ among all child processes, except when only one child process is allowed
+ by configuration or MPM design.</p>
- <div class="example"><p><code>
- ProxyPass /example http://backend.example.com smax=5 max=20 ttl=120 retry=300
+ <div class="example"><h3>Example</h3><p><code>
+ ProxyPass /example http://backend.example.com max=20 ttl=120 retry=300
</code></p></div>
<table>
@@ -940,23 +948,27 @@ through</td></tr>
<th>Description</th></tr>
<tr><td>min</td>
<td>0</td>
- <td>Minimum number of connections that will always
- be open to the backend server.</td></tr>
+ <td>Minimum number of connection pool entries, unrelated to the
+ actual number of connections. This only needs to be modified from the
+ default for special circumstances where heap memory associated with the
+ backend connections should be preallocated or retained.</td></tr>
<tr><td>max</td>
<td>1...n</td>
- <td>Hard Maximum number of connections that will be
- allowed to the backend server. The default for a Hard Maximum
- for the number of connections is the number of threads per process in the
- active MPM. In the Prefork MPM, this is always 1, while with the Worker MPM
- it is controlled by the <code class="directive">ThreadsPerChild</code>.
- Apache will never create more than the Hard Maximum connections
- to the backend server.</td></tr>
+ <td>Maximum number of connections that will be allowed to the
+ backend server. The default for this limit is the number of threads
+ per process in the active MPM. In the Prefork MPM, this is always 1,
+ while with other MPMs it is controlled by the
+ <code class="directive">ThreadsPerChild</code> directive.</td></tr>
<tr><td>smax</td>
<td>max</td>
- <td>Upto the Soft Maximum
- number of connections will be created on demand. Any connections above
- <code>smax</code> are subject to a time to live or <code>ttl</code>.
- </td></tr>
+ <td>Retained connection pool entries above this limit are freed
+ during certain operations if they have been unused for longer than
+ the time to live, controlled by the <code>ttl</code> parameter. If
+ the connection pool entry has an associated connection, it will be
+ closed. This only needs to be modified from the default for special
+ circumstances where connection pool entries and any associated
+ connections which have exceeded the time to live need to be freed or
+ closed more aggressively.</td></tr>
<tr><td>acquire</td>
<td>-</td>
<td>If set this will be the maximum time to wait for a free
@@ -998,12 +1010,15 @@ through</td></tr>
</td></tr>
<tr><td>keepalive</td>
<td>Off</td>
- <td>This parameter should be used when you have a firewall between your
+ <td><p>This parameter should be used when you have a firewall between your
Apache and the backend server, who tend to drop inactive connections.
This flag will tell the Operating System to send <code>KEEP_ALIVE</code>
- messages on inactive connections (interval depends on global OS settings,
- generally 120ms), and thus prevent the firewall to drop the connection.
- To enable keepalive set this property value to <code>On</code>.
+ messages on inactive connections and thus prevent the firewall to drop the connection.
+ To enable keepalive set this property value to <code>On</code>. </p>
+ <p>The frequency of initial and subsequent TCP keepalive probes
+ depends on global OS settings, and may be as high as 2 hours. To be useful,
+ the frequency configured in the OS must be smaller than the threshold used
+ by the firewall.</p>
</td></tr>
<tr><td>lbset</td>
<td>0</td>
@@ -1072,9 +1087,10 @@ through</td></tr>
</td></tr>
<tr><td>ttl</td>
<td>-</td>
- <td>Time To Live for the inactive connections above the
- <code>smax</code> connections in seconds. Apache will close all
- connections that has not been used inside that time period.
+ <td>Time to live for inactive connections and associated connection
+ pool entries, in seconds. Once reaching this limit, a
+ connection will not be used again; it will be closed at some
+ later time.
</td></tr>
</table>
@@ -1096,11 +1112,12 @@ through</td></tr>
<td>Balancer load-balance method. Select the load-balancing scheduler
method to use. Either <code>byrequests</code>, to perform weighted
request counting, <code>bytraffic</code>, to perform weighted
- traffic byte count balancing, or <code>bybusyness</code>, to perform
- pending request balancing. Default is <code>byrequests</code>.
+ traffic byte count balancing, or <code>bybusyness</code>
+ (Apache HTTP Server 2.2.10 and later), to perform pending request
+ balancing. Default is <code>byrequests</code>.
</td></tr>
<tr><td>maxattempts</td>
- <td>1</td>
+ <td>One less than the number of workers, or 1 with a single worker.</td>
<td>Maximum number of failover attempts before giving up.
</td></tr>
<tr><td>nofailover</td>
@@ -1144,10 +1161,10 @@ through</td></tr>
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On<br />
&lt;Proxy balancer://mycluster&gt;<br />
<span class="indent">
- BalancerMember http://1.2.3.4:8009<br />
- BalancerMember http://1.2.3.5:8009 smax=10<br />
- # Less powerful server, don't send as many requests there<br />
- BalancerMember http://1.2.3.6:8009 smax=1 loadfactor=20<br />
+ BalancerMember ajp://1.2.3.4:8009<br />
+ BalancerMember ajp://1.2.3.5:8009 loadfactor=20<br />
+ # Less powerful server, don't send as many requests there,<br />
+ BalancerMember ajp://1.2.3.6:8009 loadfactor=5<br />
</span>
&lt;/Proxy&gt;
</code></p></div>
@@ -1158,10 +1175,10 @@ through</td></tr>
ProxyPass / balancer://hotcluster/ <br />
&lt;Proxy balancer://hotcluster&gt;<br />
<span class="indent">
- BalancerMember http://1.2.3.4:8009 loadfactor=1<br />
- BalancerMember http://1.2.3.5:8009 loadfactor=2<br />
+ BalancerMember ajp://1.2.3.4:8009 loadfactor=1<br />
+ BalancerMember ajp://1.2.3.5:8009 loadfactor=2<br />
# The below is the hot standby<br />
- BalancerMember http://1.2.3.6:8009 status=+H<br />
+ BalancerMember ajp://1.2.3.6:8009 status=+H<br />
ProxySet lbmethod=bytraffic
</span>
&lt;/Proxy&gt;
@@ -1189,11 +1206,14 @@ through</td></tr>
<code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> section,
however ProxyPass does not interpret the regexp as such, so it is necessary
to use <code class="directive">ProxyPassMatch</code> in this situation instead.</p>
+
+ <p>This directive is not supported in <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> or <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code> sections.</p>
<p>If you require a more flexible reverse-proxy configuration, see the
<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive with the
<code>[P]</code> flag.</p>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ProxyPassInterpolateEnv" id="ProxyPassInterpolateEnv">ProxyPassInterpolateEnv</a> <a name="proxypassinterpolateenv" id="proxypassinterpolateenv">Directive</a></h2>
@@ -1344,6 +1364,8 @@ proxied server</td></tr>
path; if needed in this situation, specify the ProxyPassReverse outside
the section, or in a separate <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> section.</p>
+ <p>This directive is not supported in <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> or <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code> sections.</p>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ProxyPassReverseCookieDomain" id="ProxyPassReverseCookieDomain">ProxyPassReverseCookieDomain</a> <a name="proxypassreversecookiedomain" id="proxypassreversecookiedomain">Directive</a></h2>
@@ -1535,8 +1557,8 @@ expressions</td></tr>
<div class="example"><p><code>
&lt;Proxy balancer://hotcluster&gt;<br />
<span class="indent">
- BalancerMember http://www2.example.com:8009 loadfactor=1<br />
- BalancerMember http://www3.example.com:8009 loadfactor=2<br />
+ BalancerMember http://www2.example.com:8080 loadfactor=1<br />
+ BalancerMember http://www3.example.com:8080 loadfactor=2<br />
ProxySet lbmethod=bytraffic<br />
</span>
&lt;/Proxy&gt;
@@ -1640,8 +1662,9 @@ header for proxied requests</td></tr>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy.html.fr b/docs/manual/mod/mod_proxy.html.fr
new file mode 100644
index 00000000..fa0b9e4a
--- /dev/null
+++ b/docs/manual/mod/mod_proxy.html.fr
@@ -0,0 +1,1869 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_proxy - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_proxy</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Serveur mandataire/passerelle HTTP/1.1</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy.c</td></tr></table>
+<h3>Sommaire</h3>
+
+ <div class="warning"><h3>Avertissement</h3>
+ <p>N'activez pas la fonctionnalité de mandataire avec la directive
+ <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> avant
+ d'avoir <a href="#access">sécurisé votre serveur</a>. Les serveurs
+ mandataires ouverts sont dangereux pour votre réseau,
+ mais aussi pour l'Internet au sens large.</p>
+ </div>
+
+ <p>Ce module implémente un mandataire/passerelle pour Apache. Il
+ implémente la fonctionnalité de mandataire pour <code>AJP13</code>
+ (Apache JServe Protocol version 1.3), <code>FTP</code>,
+ <code>CONNECT</code> (pour SSL), <code>HTTP/0.9</code>,
+ <code>HTTP/1.0</code>, et <code>HTTP/1.1</code>. Le module peut être
+ configuré pour se connecter aux autres modules mandataires qui
+ gèrent ces protocoles.</p>
+
+ <p>Les diverses fonctionnalités de
+ mandataire d'Apache sont réparties entre plusieurs modules
+ complémentaires de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> :
+ <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>, <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code>,
+ <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>, <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>,
+ et <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code>. Ainsi, si vous voulez
+ utiliser une ou plusieurs fonctionnalités de mandataire
+ particulières, chargez <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> <em>et</em> le(s)
+ module(s) approprié(s) dans le serveur (soit statiquement à la
+ compilation, soit dynamiquement via la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>).</p>
+
+ <p>En outre, d'autres modules fournissent des fonctionnalités
+ étendues. <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> et ses modules associés
+ fournissent la mise en cache. Les directives <code>SSLProxy*</code>
+ du module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> permettent de contacter des
+ serveurs distants en utilisant le protocole SSL/TLS. Ces modules
+ additionnels devront être chargés et configurés pour pouvoir
+ disposer de ces fonctionnalités.</p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#allowconnect">AllowCONNECT</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#balancermember">BalancerMember</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#noproxy">NoProxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxy">&lt;Proxy&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxybadheader">ProxyBadHeader</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyblock">ProxyBlock</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxydomain">ProxyDomain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyerroroverride">ProxyErrorOverride</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyftpdircharset">ProxyFtpDirCharset</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyiobuffersize">ProxyIOBufferSize</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxymatch">&lt;ProxyMatch&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxymaxforwards">ProxyMaxForwards</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypass">ProxyPass</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassmatch">ProxyPassMatch</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreverse">ProxyPassReverse</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypreservehost">ProxyPreserveHost</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyremote">ProxyRemote</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyremotematch">ProxyRemoteMatch</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyrequests">ProxyRequests</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyset">ProxySet</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxystatus">ProxyStatus</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxytimeout">ProxyTimeout</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyvia">ProxyVia</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#forwardreverse">Mandataires directs et
+ mandataires/passerelles inverses</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples simples</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#workers">Gestionnaires de serveurs (workers)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#access">Contrôler l'accès à votre
+ mandataire</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#startup">Ralentissement au démarragep</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#intranet">Mandataire d'Intranet</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#envsettings">Ajustements relatifs au
+ protocole</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#request-bodies">Corps de requêtes</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#x-headers">En-têtes de requête du mandataire
+ inverse</a></li>
+</ul><h3>Voir aussi</h3>
+<ul class="seealso">
+<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li>
+<li><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="forwardreverse" id="forwardreverse">Mandataires directs et
+ mandataires/passerelles inverses</a></h2>
+ <p>Apache peut être configuré dans les deux modes mandataire
+ <dfn>direct</dfn> et mandataire <dfn>inverse</dfn> (aussi nommé
+ mode <dfn>passerelle</dfn>).</p>
+
+ <p>Un <dfn>mandataire direct</dfn> standard est un serveur
+ intermédiaire qui s'intercale entre le client et le <em>serveur
+ demandé</em>. Pour obtenir un contenu hébergé par
+ le serveur demandé, le client envoie une requête au
+ mandataire en nommant le serveur demandé comme
+ cible, puis le mandataire extrait le contenu depuis le
+ serveur demandé et le renvoie enfin au client. Le client doit être
+ configuré de manière appropriée pour pouvoir utiliser le mandataire
+ direct afin d'accéder à d'autres sites.</p>
+
+ <p>L'accès à Internet depuis des clients situés derrière un
+ pare-feu est une utilisation typique du mandataire direct. Le
+ mandataire direct peut aussi utiliser la mise en cache (fournie
+ par <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>) pour réduire la charge du
+ réseau.</p>
+
+ <p>La fonctionnalité de mandataire direct est activée via la
+ directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code>.
+ Comme les mandataires directs permettent aux clients d'accéder à
+ des sites quelconques via votre serveur et de dissimuler leur
+ véritable origine, il est indispensable de <a href="#access">sécuriser votre serveur</a> de façon à ce que seuls
+ les clients autorisés puissent accéder à votre serveur avant
+ d'activer la fonctionnalité de mandataire direct.</p>
+
+ <p>Un <dfn>mandataire inverse</dfn> (ou <dfn>passerelle</dfn>),
+ quant à lui, apparaît au client comme un serveur web standard.
+ Aucune configuration particulière du client n'est nécessaire. Le
+ client adresse ses demandes de contenus ordinaires dans l'espace
+ de nommage du mandataire inverse. Ce dernier décide alors où
+ envoyer ces requêtes, et renvoie le contenu au client comme s'il
+ l'hébergeait lui-même.</p>
+
+ <p>L'accès des utilisateurs à Internet pour un serveur situé
+ derrière un pare-feu est une utilisation typique du mandataire
+ inverse. On peut aussi utiliser les mandataires inverses pour
+ mettre en oeuvre une répartition de charge entre plusieurs
+ serveurs en arrière-plan, ou fournir un cache pour un serveur
+ d'arrière-plan plus lent. Les mandataires inverses peuvent aussi
+ tout simplement servir à rassembler plusieurs serveurs dans le
+ même espace de nommage d'URLs.</p>
+
+ <p>La fonctionnalité de mandataire inverse est activée via la
+ directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> ou
+ le drapeau <code>[P]</code> de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. Il n'est
+ <strong>pas</strong> nécessaire de définir <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> à on pour configurer
+ un mandataire inverse.</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="examples" id="examples">Exemples simples</a></h2>
+
+ <p>Les exemples ci-dessous illustrent de manière très basique la
+ mise en oeuvre de la fonctionnalité de mandataire et ne sont là que
+ pour vous aider à démarrer. Reportez-vous à la documentation de
+ chaque directive.</p>
+
+ <p>Si en outre, vous désirez activer la mise en cache, consultez la
+ documentation de <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>
+
+ <div class="example"><h3>Mandataire inverse</h3><p><code>
+ ProxyPass /foo http://foo.example.com/bar<br />
+ ProxyPassReverse /foo http://foo.example.com/bar
+ </code></p></div>
+
+ <div class="example"><h3>Mandataire direct</h3><p><code>
+ ProxyRequests On<br />
+ ProxyVia On<br />
+ <br />
+ &lt;Proxy *&gt;<br />
+ <span class="indent">
+ Order deny,allow<br />
+ Deny from all<br />
+ Allow from interne.example.com<br />
+ </span>
+ &lt;/Proxy&gt;
+ </code></p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="workers" id="workers">Gestionnaires de serveurs (workers)</a></h2>
+ <p>Le mandataire gère la configuration des serveurs originaux,
+ ainsi que leurs paramètres de communication dans des objets
+ appelés <dfn>workers</dfn> ou Gestionnaires de serveur. Deux
+ workers intégrés par défaut sont disponibles : le worker de
+ mandataire direct et le worker de mandataire inverse. Des workers
+ supplémentaires peuvent être configurés explicitement.</p>
+
+ <p>Les deux workers par défaut ont une configuration fixe et
+ seront utilisés si aucun autre worker ne correspond à la requête.
+ Ils n'utilisent ni les connexions HTTP persistantes, ni les jeux
+ de connexions. Les connexions TCP vers le serveur original seront
+ donc ouvertes et fermées pour chaque requête.</p>
+
+ <p>Les workers configurés explicitement sont identifiés par leur
+ URL. Dans le cas d'un mandataire inverse, ils sont généralement
+ créés et configurés via les directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> :</p>
+
+ <div class="example"><p><code>
+ ProxyPass /example http://backend.example.com connectiontimeout=5 timeout=30
+ </code></p></div>
+
+ <p>Cet exemple crée un worker associé à l'URL du serveur original
+ <code>http://backend.example.com</code>, et utilisant les délais
+ spécifiés. Dans le cas d'un mandataire direct, les workers sont
+ généralement définis via la directive <code class="directive"><a href="#proxyset">ProxySet</a></code> directive :</p>
+
+ <div class="example"><p><code>
+ ProxySet http://backend.example.com connectiontimeout=5 timeout=30
+ </code></p></div>
+
+ <p>ou encore via une combinaison des directives <code class="directive"><a href="#proxy">Proxy</a></code> et <code class="directive"><a href="#proxyset">ProxySet</a></code> :</p>
+
+ <div class="example"><p><code>
+ &lt;Proxy http://backend.example.com&gt;<br />
+ <span class="indent">
+ ProxySet connectiontimeout=5 timeout=30
+ </span>
+ &lt;/Proxy&gt;
+ </code></p></div>
+
+ <p>L'utilisation de workers configurés explicitement dans le mode
+ direct n'est pas très courante, car les mandataires directs
+ communiquent avec de nombreux serveurs originaux. Il est cependant
+ intéressant de créer des workers explicites pour certains serveurs
+ originaux si ces derniers sont utilisés très souvent. Les workers
+ configurés explicitement n'ont en eux-mêmes aucun concept de
+ mandataire direct ou inverse. Ils encapsulent un concept de
+ communication commun avec les serveurs originaux. Un worker créé
+ via la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> pour être utilisé avec un
+ mandataire inverse, sera aussi utilisé pour les requêtes mandatées
+ en direct chaque fois que l'URL du serveur original correspondra à
+ l'URL du worker, et vice versa.</p>
+
+ <p>L'URL identifiant un worker direct correspond à l'URL de son
+ serveur original comportant tout élément de chemin éventuel :</p>
+
+ <div class="example"><p><code>
+ ProxyPass /examples http://backend.example.com/examples<br />
+ ProxyPass /docs http://backend.example.com/docs
+ </code></p></div>
+
+ <p>Cet exemple définit deux workers différents, chacun d'entre eux
+ utilisant une configuration et un jeu de connexions séparés.</p>
+
+ <div class="warning"><h3>Partage de worker</h3>
+ <p>Le partage de worker se produit lorsque les URLs des workers
+ se chevauchent, c'est à dire lorsque l'URL d'un worker
+ correspond à une partie du début de l'URL d'un autre worker
+ défini plus loin dans le fichier de configuration. Dans
+ l'exemple suivant,</p>
+
+ <div class="example"><p><code>
+ ProxyPass /apps http://backend.example.com/ timeout=60<br />
+ ProxyPass /examples http://backend.example.com/examples timeout=10
+ </code></p></div>
+
+ <p>le second worker n'est pas vraiment créé. C'est le premier
+ worker qui est utilisé à sa place. L'avantage de ceci réside
+ dans le fait qu'il n'y a plus qu'un jeu de connexions, celles-ci
+ étant donc réutilisées plus souvent. Notez que tous les
+ attributs de configuration définis explicitement pour le second
+ worker et certaines valeurs par défaut vont écraser la
+ configuration définie pour le premier worker, ce qui va
+ provoquer la journalisation d'un avertissement. Dans l'exemple
+ précédent, la valeur de délai finale pour l'URL
+ <code>/apps</code> sera <code>10</code> au lieu de <code>60</code> !</p>
+
+ <p>Pour éviter ce partage, classez vos définitions de workers de
+ l'URL la plus longue à la plus courte. Si au contraire, vous
+ voulez favoriser ce partage, utilisez l'ordre de classement
+ inverse. Voir aussi l'avertissement en rapport à propos de
+ l'ordre de classement des directives <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+
+ </div>
+
+ <p>Les workers configurés explicitement sont de deux sortes :
+ <dfn>workers directs</dfn> et <dfn>workers à répartition (de
+ charge)</dfn>. Ils supportent de nombreux attributs de
+ configuration importants décrits ci-dessous dans la directive
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code>. Tous ces
+ attributs peuvent aussi être définis via la directive <code class="directive"><a href="#proxyset">ProxySet</a></code>.</p>
+
+ <p>Le jeu d'options disponibles pour un worker direct dépend du
+ protocole, qui est spécifié dans l'URL du serveur original. Parmi
+ les protocoles disponibles, on trouve <code>ajp</code>,
+ <code>ftp</code>, <code>http</code> et <code>scgi</code>.</p>
+
+ <p>Les workers à répartition sont des workers virtuels qui
+ utilisent des workers directs considérés comme leurs membres pour
+ le traitement effectif des requêtes. Chaque répartiteur peut
+ posséder plusieurs membres. Pour traiter une requête, il choisit
+ un de ses membres en fonction de l'algorithme de répartition de
+ charge défini.</p>
+
+ <p>Un worker à répartition est créé si son URL utilise
+ <code>balancer</code> comme protocole. L'URL de répartition
+ identifie de manière unique le worker à répartition. On peut
+ ajouter des membres à un répartiteur via la directive <code class="directive"><a href="#balancermember">BalancerMember</a></code>.</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="access" id="access">Contrôler l'accès à votre
+ mandataire</a></h2>
+ <p>Vous pouvez restreindre l'accès à votre mandataire via le bloc
+ de contrôle <code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code> comme dans
+ l'exemple suivant :</p>
+
+ <div class="example"><p><code>
+ &lt;Proxy *&gt;<br />
+ <span class="indent">
+ Order Deny,Allow<br />
+ Deny from all<br />
+ Allow from 192.168.0<br />
+ </span>
+ &lt;/Proxy&gt;
+ </code></p></div>
+
+ <p>Pour plus de détails sur les directives de contrôle d'accès,
+ voir la documentation du module
+ <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>.</p>
+
+ <p>Restreindre l'accès de manière stricte est essentiel si vous
+ mettez en oeuvre un mandataire direct (en définissant la directive
+ <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> à "on").
+ Dans le cas contraire, votre serveur pourrait être utilisé par
+ n'importe quel client pour accéder à des serveurs quelconques,
+ tout en masquant sa véritable identité. Ceci représente un danger
+ non seulement pour votre réseau, mais aussi pour l'Internet au
+ sens large. Dans le cas de la mise en oeuvre d'un mandataire
+ inverse (en définissant la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> à "off"), le contrôle
+ d'accès est moins critique car les clients ne peuvent contacter
+ que les serveurs que vous avez spécifiés.</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="startup" id="startup">Ralentissement au démarragep</a></h2>
+ <p>Si vous utilisez la directive <code class="directive"><a href="#proxyblock">ProxyBlock</a></code>, les noms d'hôtes sont résolus en adresses
+ IP puis ces dernières mises en cache au cours du démarrage
+ à des fins de tests de comparaisons ultérieurs. Ce processus peut
+ durer plusieurs secondes (ou d'avantage) en fonction de la vitesse
+ à laquelle s'effectue la résolution des noms d'hôtes.</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="intranet" id="intranet">Mandataire d'Intranet</a></h2>
+ <p>Un serveur mandataire Apache situé à l'intérieur d'un Intranet
+ doit faire suivre les requêtes destinées à un serveur externe à
+ travers le pare-feu de l'entreprise (pour ce faire, définissez la
+ directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> de
+ façon à ce qu'elle fasse suivre le <var>protocole</var> concerné
+ vers le mandataire du pare-feu). Cependant, lorsqu'il doit accéder
+ à des ressources situées dans l'Intranet, il peut se passer du
+ pare-feu pour accéder aux serveurs. A cet effet, la directive
+ <code class="directive"><a href="#noproxy">NoProxy</a></code> permet de
+ spécifier quels hôtes appartiennent à l'Intranet et peuvent donc
+ être accédés directement.</p>
+
+ <p>Les utilisateurs d'un Intranet ont tendance à oublier le nom du
+ domaine local dans leurs requêtes WWW, et demandent par exemple
+ "http://un-serveur/" au lieu de
+ <code>http://un-serveur.example.com/</code>. Certains serveurs
+ mandataires commerciaux acceptent ce genre de requête et les
+ traitent simplement en utilisant un nom de domaine local
+ implicite. Lorsque la directive <code class="directive"><a href="#proxydomain">ProxyDomain</a></code> est utilisée et si le
+ serveur est <a href="#proxyrequests">configuré comme
+ mandataire</a>, Apache peut renvoyer une réponse de redirection et
+ ainsi fournir au client l'adresse de serveur correcte,
+ entièrement qualifiée. C'est la méthode à privilégier car le
+ fichier des marque-pages de l'utilisateur contiendra alors des
+ noms de serveurs entièrement qualifiés.</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="envsettings" id="envsettings">Ajustements relatifs au
+ protocole</a></h2>
+ <p>Pour les cas où <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> envoie des requêtes
+ vers un serveur qui n'implémente pas correctement les connexions
+ persistantes ou le protocole HTTP/1.1, il existe deux variables
+ d'environnement qui permettent de forcer les requêtes à utiliser
+ le protocole HTTP/1.0 avec connexions non persistantes. Elles
+ peuvent être définies via la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>.</p>
+
+ <p>Il s'agit des variables <code>force-proxy-request-1.0</code> et
+ <code>proxy-nokeepalive</code>.</p>
+
+ <div class="example"><p><code>
+ &lt;Location /serveur-non-conforme/&gt;<br />
+ <span class="indent">
+ ProxyPass http://serveur-non-conforme:7001/foo/<br />
+ SetEnv force-proxy-request-1.0 1<br />
+ SetEnv proxy-nokeepalive 1<br />
+ </span>
+ &lt;/Location&gt;
+ </code></p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="request-bodies" id="request-bodies">Corps de requêtes</a></h2>
+
+ <p>Certaines méthodes de requêtes comme POST comportent un corps de
+ requête. Le protocole HTTP stipule que les requêtes qui comportent
+ un corps doivent soit utiliser un codage de transmission
+ fractionnée, soit envoyer un en-tête de requête
+ <code>Content-Length</code>. Lorsqu'il fait suivre ce genre de
+ requête vers le serveur demandé, <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>
+ s'efforce toujours d'envoyer l'en-tête <code>Content-Length</code>.
+ Par contre, si la taille du corps est importante, et si la requête
+ originale utilise un codage à fractionnement, ce dernier peut aussi
+ être utilisé dans la requête montante. Ce comportement peut être
+ contrôlé à l'aide de <a href="../env.html">variables
+ d'environnement</a>. Ainsi, si elle est définie, la variable
+ <code>proxy-sendcl</code> assure une compatibilité maximale avec les
+ serveurs demandés en imposant l'envoi de l'en-tête
+ <code>Content-Length</code>, alors que
+ <code>proxy-sendchunked</code> diminue la consommation de ressources
+ en imposant l'utilisation d'un codage à fractionnement.</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="x-headers" id="x-headers">En-têtes de requête du mandataire
+ inverse</a></h2>
+
+ <p>Lorsqu'il est configuré en mode mandataire inverse (en utilisant
+ par exemple la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>),
+ <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> ajoute plusieurs en-têtes de requête
+ afin de transmettre des informations au serveur demandé. Ces
+ en-têtes sont les suivants :</p>
+
+ <dl>
+ <dt><code>X-Forwarded-For</code></dt>
+ <dd>L'adresse IP du client.</dd>
+ <dt><code>X-Forwarded-Host</code></dt>
+ <dd>L'hôte d'origine demandé par le client dans l'en-tête de
+ requête HTTP <code>Host</code>.</dd>
+ <dt><code>X-Forwarded-Server</code></dt>
+ <dd>Le nom d'hôte du serveur mandataire.</dd>
+ </dl>
+
+ <p>Ces en-têtes doivent être utilisés avec précautions sur le
+ serveur demandé, car ils contiendront plus d'une valeur (séparées
+ par des virgules) si la requête original contenait déjà un de ces
+ en-têtes. Par exemple, vous pouvez utiliser
+ <code>%{X-Forwarded-For}i</code> dans la chaîne de format du journal
+ du serveur demandé pour enregistrer les adresses IP des clients
+ originaux, mais il est possible que vous obteniez plusieurs adresses
+ si la requête passe à travers plusieurs mandataires.</p>
+
+ <p>Voir aussi les directives <code class="directive"><a href="#proxypreservehost">ProxyPreserveHost</a></code> et <code class="directive"><a href="#proxyvia">ProxyVia</a></code> directives, qui permettent
+ de contrôler d'autres en-têtes de requête.</p>
+
+ </div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AllowCONNECT" id="AllowCONNECT">AllowCONNECT</a> <a name="allowconnect" id="allowconnect">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ports autorisés à se <code>CONNECT</code>er à travers le
+mandataire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowCONNECT <var>port</var> [<var>port</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowCONNECT 443 563</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>La directive <code class="directive">AllowCONNECT</code> permet de
+ spécifier une liste de numéros de ports auxquels la méthode de
+ mandataire <code>CONNECT</code> pourra se connecter. Les navigateurs
+ d'aujourd'hui utilisent cette méthode dans le cas où une connexion
+ <code>https</code> est requise et où le tunneling mandataire sur
+ HTTP est en service.</p>
+
+ <p>Par défaut, seuls les ports par défauts https (<code>443</code>)
+ et snews (<code>563</code>) sont pris en compte. Vous pouvez
+ utiliser la directive <code class="directive">AllowCONNECT</code> pour
+ outrepasser ces valeurs par défaut et n'autoriser les connexions que
+ vers les ports spécifiés.</p>
+
+ <p>Notez que le module <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> doit être
+ chargé dans le serveur pour pouvoir accéder au support de
+ <code>CONNECT</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="BalancerMember" id="BalancerMember">BalancerMember</a> <a name="balancermember" id="balancermember">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un membre à un groupe de répartition de
+charge</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>clé=valeur [clé=valeur ...]]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2 d'Apache.</td></tr>
+</table>
+ <p>Cette directive parmet d'ajouter un membre à un groupe de
+ répartition de charge. Elle peut se trouver dans un conteneur
+ <code>&lt;Proxy <var>balancer://</var>...&gt;</code>, et accepte
+ tous les paramètres de paires clé/valeur que supporte la directive
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+ <p>L'argument balancerurl n'est requis que s'il ne se trouve pas
+ dèjà dans la directive de conteneur <code>&lt;Proxy
+ <var>balancer://</var>...&gt;</code>. Il correspond à l'URL d'un
+ répartiteur de charge défini par une directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="NoProxy" id="NoProxy">NoProxy</a> <a name="noproxy" id="noproxy">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Serveurs, domaines ou réseaux auquels on se connectera
+directement</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NoProxy <var>domaine</var> [<var>domaine</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive n'a d'utilité que pour les serveurs mandataires
+ Apache au sein d'Intranets. La directive
+ <code class="directive">NoProxy</code> permet de spécifier une liste de
+ sous-réseaux, d'adresses IP, de serveurs et/ou de domaines séparés
+ par des espaces. Une requête pour un serveur qui correspond à un ou
+ plusieurs critères sera toujours servie par ce serveur directement,
+ sans être redirigée vers le(s) serveur(s) mandataire(s) défini(s) par
+ la directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code>.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ ProxyRemote * http://pare-feu.example.com:81<br />
+ NoProxy .example.com 192.168.112.0/21
+ </code></p></div>
+
+ <p>Le type des arguments <var>serveur</var> de la directive
+ <code class="directive">NoProxy</code> appartiennent à la liste suivante
+ :</p>
+
+ <dl>
+
+ <dt><var><a name="domain" id="domain">Domaine</a></var></dt>
+ <dd>
+ <p>Un <dfn>domaine</dfn> est ici un nom de domaine DNS partiellement
+ qualifié précédé d'un point. Il représente une liste de serveurs qui
+ appartiennent logiquement au même domaine ou à la même zonz DNS
+ (en d'autres termes, les nom des serveurs se terminent tous par
+ <var>domaine</var>).</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ .com .apache.org.
+ </code></p></div>
+
+ <p>Pour faire la distinction entre <var>domaine</var>s et <var><a href="#hostname">nom d'hôte</a></var>s (des points de vue à la fois
+ syntaxique et
+ sémantique, un domaine DNS pouvant aussi avoir un enregistrement DNS
+ de type A !), les <var>domaine</var>s sont toujours spécifiés en les
+ préfixant par un point.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>Les comparaisons de noms de domaines s'effectuent sans tenir
+ compte de la casse, et les parties droites des <var>Domaine</var>s
+ sont toujours censées correspondre à la racine de l'arborescence
+ DNS, si bien que les domaines <code>.ExEmple.com</code> et
+ <code>.example.com.</code> (notez le point à la fin du nom) sont
+ considérés comme identiques. Comme une comparaison de domaines ne
+ nécessite pas de recherche DNS, elle est beaucoup plus efficace
+ qu'une comparaison de sous-réseaux.</p>
+ </div></dd>
+
+
+ <dt><var><a name="subnet" id="subnet">Sous-réseau</a></var></dt>
+ <dd>
+ <p>Un <dfn>Sous-réseau</dfn> est une adresse internet partiellement
+ qualifiée sous forme numérique (quatre nombres séparés par des
+ points), optionnellement suivie d'un slash et du masque de
+ sous-réseau spécifiant le nombre de bits significatifs dans le
+ <var>Sous-réseau</var>. Il représente un sous-réseau de serveurs qui
+ peuvent être atteints depuis la même interface réseau. En l'absence
+ de masque de sous-réseau explicite, il est sous-entendu que les
+ digits manquants (ou caractères 0) de fin spécifient le masque de
+ sous-réseau (Dans ce cas, le masque de sous-réseau ne peut être
+ qu'un multiple de 8). Voici quelques exemples :</p>
+
+ <dl>
+ <dt><code>192.168</code> ou <code>192.168.0.0</code></dt>
+ <dd>le sous-réseau 192.168.0.0 avec un masque de sous-réseau
+ implicite de 16 bits significatifs (parfois exprimé sous la forme
+ <code>255.255.0.0</code>)</dd>
+ <dt><code>192.168.112.0/21</code></dt>
+ <dd>le sous-réseau <code>192.168.112.0/21</code> avec un masque de
+ sous-réseau implicite de 21 bits significatifs (parfois exprimé
+ sous la forme<code>255.255.248.0</code>)</dd>
+ </dl>
+
+ <p>Comme cas extrèmes, un <em>Sous-réseau</em> avec un masque de
+ sous-réseau de 32 bits significatifs est équivalent à une <var><a href="#ipadr">adresse IP</a></var>, alors qu'un <em>Sous-réseau</em> avec un masque de
+ sous-réseau de 0 bit significatif (c'est à dire 0.0.0.0/0) est
+ identique à la constante <var>_Default_</var>, et peut correspondre
+ à toute adresse IP.</p></dd>
+
+
+ <dt><var><a name="ipaddr" id="ipaddr">Adresse IP</a></var></dt>
+ <dd>
+ <p>Une <dfn>Adresse IP</dfn> est une adresse internet pleinement
+ qualifiée sous forme numérique (quatre nombres séparés par des
+ points). En général, cette adresse représente un serveur, mais elle
+ ne doit pas nécessairement correspondre à un nom de domaine DNS.</p>
+ <div class="example"><h3>Exemple</h3><p><code>
+ 192.168.123.7
+ </code></p></div>
+
+ <div class="note"><h3>Note</h3>
+ <p>Une <dfn>Adresse IP</dfn> ne nécessite pas de résolution DNS,
+ et peut ainsi s'avérer plus efficace quant aux performances
+ d'Apache.</p>
+ </div></dd>
+
+
+ <dt><var><a name="hostname" id="hostname">Nom de serveur</a></var></dt>
+ <dd>
+ <p>Un <dfn>Nom de serveur</dfn> est un nom de domaine DNS pleinement
+ qualifié qui peut être résolu en une ou plusieurs adresses IP par le
+ service de noms de domaines DNS. Il représente un hôte logique (par
+ opposition aux <var><a href="#domain">Domaine</a></var>s, voir
+ ci-dessus), et doit pouvoir être résolu en une ou plusieurs <var><a href="#ipaddr">adresses IP</a></var> (ou souvent en une liste
+ d'hôtes avec différentes <var><a href="#ipaddr">adresses
+ IP</a></var>).</p>
+
+ <div class="example"><h3>Exemples</h3><p><code>
+ prep.ai.example.com<br />
+ www.apache.org
+ </code></p></div>
+
+ <div class="note"><h3>Note</h3>
+ <p>Dans de nombreuses situations, il est plus efficace de
+ spécifier une <var><a href="#ipaddr">adresse IP</a></var> qu'un
+ <var>Nom de serveur</var> car cela évite d'avoir à effectuer une
+ recherche DNS. La résolution de nom dans Apache peut prendre un
+ temps très long lorsque la connexion avec le serveur de noms
+ utilise une liaison PPP lente.</p>
+ <p>Les comparaisons de <var>Nom de serveur</var> s'effectuent sans tenir
+ compte de la casse, et les parties droites des <var>Noms de serveur</var>
+ sont toujours censées correspondre à la racine de l'arborescence
+ DNS, si bien que les domaines <code>WWW.ExEmple.com</code> et
+ <code>www.example.com.</code> (notez le point à la fin du nom) sont
+ considérés comme identiques.</p>
+ </div></dd>
+ </dl>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../dns-caveats.html">Problèmes liés au DNS</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Proxy" id="Proxy">&lt;Proxy&gt;</a> <a name="proxy" id="proxy">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant à des ressources
+mandatées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;Proxy <var>url-avec-jokers</var>&gt; ...&lt;/Proxy&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Les directives situées dans une section <code class="directive">&lt;Proxy&gt;</code> ne s'appliquent qu'au contenu
+ mandaté concerné. Les jokers de style shell sont autorisés.</p>
+
+ <p>Par eexemple, les lignes suivantes n'autoriseront à accéder à un
+ contenu via votre serveur mandataire que les hôtes appartenant à
+ <code>votre-reseau.example.com</code> :</p>
+
+ <div class="example"><p><code>
+ &lt;Proxy *&gt;<br />
+ <span class="indent">
+ Order Deny,Allow<br />
+ Deny from all<br />
+ Allow from votre-reseau.example.com<br />
+ </span>
+ &lt;/Proxy&gt;
+ </code></p></div>
+
+ <p>Dans l'exemple suivant, tous les fichiers du répertoire
+ <code>foo</code> de <code>example.com</code> seront traités par le
+ filtre <code>INCLUDES</code> lorsqu'ils seront envoyés par
+ l'intermédiaire du serveur mandataire :</p>
+
+ <div class="example"><p><code>
+ &lt;Proxy http://example.com/foo/*&gt;<br />
+ <span class="indent">
+ SetOutputFilter INCLUDES<br />
+ </span>
+ &lt;/Proxy&gt;
+ </code></p></div>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#proxymatch">&lt;ProxyMatch&gt;</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyBadHeader" id="ProxyBadHeader">ProxyBadHeader</a> <a name="proxybadheader" id="proxybadheader">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la manière de traiter les lignes d'en-tête
+incorrectes d'une réponse</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBadHeader IsError|Ignore|StartBody</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyBadHeader IsError</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.0.44 d'Apache</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyBadHeader</code> permet de
+ déterminer le comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> lorsqu'il
+ reçoit des lignes d'en-tête de réponse dont la syntaxe n'est pas valide (c'est
+ à dire ne contenant pas de caractère ':') en provenance du serveur
+ original. Les arguments disponibles sont :</p>
+
+ <dl>
+ <dt><code>IsError</code></dt>
+ <dd>Annule la requête et renvoie une réponse de code 502 (mauvaise
+ passerelle). C'est le comportement par défaut.</dd>
+
+ <dt><code>Ignore</code></dt>
+ <dd>Traite les lignes d'en-tête incorrectes comme si elles n'avaient
+ pas été envoyées.</dd>
+
+ <dt><code>StartBody</code></dt>
+ <dd>A la réception de la première ligne d'en-tête incorrecte, les
+ autres en-têtes sont lus et ce qui reste est traité en tant que
+ corps. Ceci facilite la prise en compte des serveurs d'arrière-plan
+ bogués qui oublient d'insérer une ligne vide entre les
+ en-têtes et le corps.</dd>
+ </dl>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyBlock" id="ProxyBlock">ProxyBlock</a> <a name="proxyblock" id="proxyblock">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Termes, serveurs ou domaines bloqués par le
+mandataire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBlock *|<var>terme</var>|<var>serveur</var>|<var>domaine</var>
+[<var>terme</var>|<var>serveur</var>|<var>domaine</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyBlock</code> permet de
+ spécifier une liste de termes, serveurs et/ou domaines, séparés par
+ des espaces. Les requêtes de documents HTTP, HTTPS, FTP vers des
+ sites dont les noms contiennent des termes, noms de serveur ou
+ domaine correspondants seront <em>bloqués</em> par le serveur
+ mandataire. La module proxy va aussi tenter de déterminer les
+ adresses IP des items de la liste qui peuvent correspondre à des
+ noms d'hôtes au cours du démarrage, et les mettra en cache à des
+ fins de comparaisons ultérieures. Ceci peut ralentir le démarrage du
+ serveur.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ ProxyBlock joes-garage.com some-host.co.uk rocky.wotsamattau.edu
+ </code></p></div>
+
+ <p><code>rocky.wotsamattau.edu</code> aurait aussi correspondu s'il
+ avait été spécifié par son adresse IP.</p>
+
+ <p>Notez que <code>wotsamattau</code> aurait suffi pour correspondre
+ à <code>wotsamattau.edu</code>.</p>
+
+ <p>Notez aussi que</p>
+
+ <div class="example"><p><code>
+ ProxyBlock *
+ </code></p></div>
+
+ <p>bloque les connexions vers tous les sites.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyDomain" id="ProxyDomain">ProxyDomain</a> <a name="proxydomain" id="proxydomain">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de domaine par défaut pour les requêtes
+mandatées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyDomain <var>Domaine</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive n'a d'utilité que pour les serveurs mandataires
+ Apache au sein d'un Intranet. La directive
+ <code class="directive">ProxyDomain</code> permet de spécifier le domaine
+ par défaut auquel le serveur mandataire apache appartient. Si le
+ serveur reçoit une requête pour un hôte sans nom de domaine, il va
+ générer une réponse de redirection vers le même hôte suffixé par le
+ <var>Domaine</var> spécifié.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ ProxyRemote * http://firewall.example.com:81<br />
+ NoProxy .example.com 192.168.112.0/21<br />
+ ProxyDomain .example.com
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyErrorOverride" id="ProxyErrorOverride">ProxyErrorOverride</a> <a name="proxyerroroverride" id="proxyerroroverride">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Outrepasser les pages d'erreur pour les contenus
+mandatés</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyErrorOverride On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyErrorOverride Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.0 d'Apache</td></tr>
+</table>
+ <p>Cette directive est utile pour les configurations de mandataires
+ inverses, lorsque vous souhaitez que les pages d'erreur envoyées
+ aux utilisateurs finaux présentent un aspect homogène. Elle permet
+ aussi l'inclusion de fichiers (via les SSI de
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>) pour obtenir le code d'erreur et agir
+ en conséquence (le comportement par défaut afficherait la page
+ d'erreur du serveur mandaté, alors que c'est le message d'erreur SSI
+ qui sera affiché si cette directive est à "on").</p>
+
+ <p>Cette directive n'affecte pas le traitement des réponses
+ informatives (1xx), de type succès normal (2xx), ou de redirection
+ (3xx).</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyFtpDirCharset" id="ProxyFtpDirCharset">ProxyFtpDirCharset</a> <a name="proxyftpdircharset" id="proxyftpdircharset">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le jeu de caractères des listings FTP
+mandatés</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFtpDirCharset <var>jeu-caractères</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyFtpDirCharset ISO-8859-1</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.7 d'Apache</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyFtpDirCharset</code> permet de
+ définir le jeu de caractères à utiliser pour les listings FTP en
+ HTML générés par <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyIOBufferSize" id="ProxyIOBufferSize">ProxyIOBufferSize</a> <a name="proxyiobuffersize" id="proxyiobuffersize">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la taille du tampon interne de transfert de
+données</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyIOBufferSize <var>octets</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyIOBufferSize 8192</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyIOBufferSize</code> permet
+ d'ajuster la taille du tampon interne utilisé comme bloc-note pour
+ les transferts de données entre entrée et sortie. La taille doit
+ être inférieure ou égale à <code>8192</code> octets.</p>
+
+ <p>Dans la plupart des cas, il n'y a aucune raison de modifier cette
+ valeur.</p>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyMatch" id="ProxyMatch">&lt;ProxyMatch&gt;</a> <a name="proxymatch" id="proxymatch">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant à des ressources
+mandatées correspondant à une expression rationnelle</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;ProxyMatch <var>regex</var>&gt; ...&lt;/ProxyMatch&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>La directive <code class="directive">&lt;ProxyMatch&gt;</code> est
+ identique à la directive <code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code>, à l'exception qu'elle définit
+ les URLs auxquelles elle s'applique en utilisant une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyMaxForwards" id="ProxyMaxForwards">ProxyMaxForwards</a> <a name="proxymaxforwards" id="proxymaxforwards">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de mandataires à travers lesquelles une
+requête peut être redirigée</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyMaxForwards <var>nombre</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyMaxForwards -1</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis Apache 2.0 ; comportement par défaut
+modifié dans 2.2.7</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyMaxForwards</code> permet de
+ spécifier le nombre maximum de mandataires à travers lesquels une
+ requête peut passer dans le cas où la la requête ne contient pas
+ d'en-tête <code>Max-Forwards</code>. Ceci permet de se prémunir
+ contre les boucles infinies de mandataires ou contre les attaques de
+ type déni de service.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ ProxyMaxForwards 15
+ </code></p></div>
+
+ <p>Notez que la définition de la directive
+ <code class="directive">ProxyMaxForwards</code> constitue une violation du
+ protocole HTTP/1.1 (RFC2616), qui interdit à un mandataire de
+ définir <code>Max-Forwards</code> si le client ne l'a pas fait
+ lui-même. Les versions précédentes d'Apache la définissaient
+ systématiquement. Une valeur négative de
+ <code class="directive">ProxyMaxForwards</code>, y compris la valeur par
+ défaut -1, implique un comportement compatible avec le protocole,
+ mais vous expose aux bouclages infinis.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyPass" id="ProxyPass">ProxyPass</a> <a name="proxypass" id="proxypass">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Référencer des serveurs distants depuis
+l'espace d'URLs du serveur local</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPass [<var>chemin</var>] !|<var>url</var> [<var>clé=valeur</var>
+ <var>[clé=valeur</var> ...]] [nocanon] [interpolate]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive permet référencer des serveurs distants depuis
+ l'espace d'URLs du serveur local ; le serveur
+ local n'agit pas en tant que mandataire au sens conventionnel, mais
+ plutôt comme miroir du serveur distant. Le serveur local est
+ souvent nommé <dfn>mandataire inverse</dfn> ou
+ <dfn>passerelle</dfn>. L'argument <var>chemin</var> est le nom d'un
+ chemin virtuel local ; <var>url</var> est une URL partielle pour le
+ serveur distant et ne doit pas contenir de chaîne d'arguments.</p>
+
+ <div class="warning">En général, la directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> doit être définie à
+ <strong>off</strong> lorsqu'on utilise la directive
+ <code class="directive">ProxyPass</code>.</div>
+
+ <p>Supposons que le serveur local a pour adresse
+ <code>http://example.com/</code> ; alors la ligne</p>
+
+ <div class="example"><p><code>
+ ProxyPass /miroir/foo/ http://backend.example.com/
+ </code></p></div>
+
+ <p>va convertir en interne toute requête pour
+ <code>http://example.com/miroir/foo/bar</code> en une requête
+ mandatée pour <code>http://backend.example.com/bar</code>.</p>
+
+ <div class="warning">
+ <p>Si le premier argument se termine par un slash
+ <strong>/</strong>, il doit en être de même pour le second argument
+ et vice versa. Dans le cas contraire, il risque de manquer des
+ slashes nécessaires dans la requête résultante vers le serveur
+ d'arrière-plan et les résulats ne seront pas ceux attendus.
+ </p>
+ </div>
+
+ <p>Le drapeau <code>!</code> permet de soustraire un sous-répertoire
+ du mandat inverse, comme dans l'exemple suivant :</p>
+
+ <div class="example"><p><code>
+ ProxyPass /miroir/foo/i !<br />
+ ProxyPass /miroir/foo http://backend.example.com
+ </code></p></div>
+
+ <p>va mandater toutes les requêtes pour <code>/miroir/foo</code>
+ vers <code>backend.example.com</code>, <em>sauf</em> les requêtes
+ pour <code>/miroir/foo/i</code>.</p>
+
+ <div class="warning"><h3>Ordre de classement des directives
+ ProxyPass</h3>
+ <p>Les directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> et <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> sont traitées selon
+ leur ordre d'apparition dans le fichier de configuration. La
+ première qui correspond s'applique. Ainsi, vous devez classer les
+ directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> qui
+ peuvent entrer en conflit, de l'URL la plus longue à la plus
+ courte. Dans le cas contraire, les directives dont l'URL
+ constitue une partie du début de l'URL de directives
+ apparaissant plus loin dans la configuration vont occulter ces
+ dernières. Notez que tout ceci est en relation avec le partage de
+ worker.</p>
+
+ <p>Pour les mêmes raisons, les exclusions doivent apparaître
+ <em>avant</em> les directives <code class="directive">ProxyPass</code>
+ générales.</p>
+
+ </div>
+
+ <p>Depuis la version 2.1 du serveur HTTP Apache, mod_proxy supporte
+ les jeux de connexions vers un serveur d'arrière-plan. Ainsi, les
+ connexions créées à la demande peuvent être conservées dans un
+ jeu pour une utilisation ultérieure. Les limites de la taille
+ du jeu de connexions et d'autres paramètres peuvent être définis au
+ niveau de la directive <code class="directive">ProxyPass</code> via des
+ arguments <code>clé=valeur</code> décrits dans la table ci-dessous.</p>
+
+ <p>Par défaut, mod_proxy permettra de conserver le nombre maximum de
+ connexions pouvant être utilisées simultanément par le processus
+ enfant concerné du serveur web. Vous pouvez utiliser le paramètre
+ <code>max</code> pour réduire ce nombre par rapport à la valeur par
+ défaut. Vous pouvez aussi utiliser le paramètre <code>ttl</code>
+ pour définir une durée de vie optionnelle ; ainsi, les connections
+ qui n'ont pas été utilisées au bout de <code>ttl</code> secondes
+ seront fermées. Le paramètre <code>ttl</code> permet aussi
+ d'empêcher l'utilisation d'une connexion susceptible d'être fermée
+ suite à l'expiration de la durée de vie des connexions persistantes
+ sur le serveur d'arrière-plan.</p>
+
+ <p>Le jeu de connexions est maintenu au niveau de chaque processus
+ enfant du serveur web, et <code>max</code> et les autres paramètres
+ ne font l'objet d'aucune coordination entre les différents processus
+ enfants, sauf bien sur dans le cas où un seul processus enfant est
+ permis par la configuration du module multiprocessus.</p>
+
+ <div class="example"><p><code>
+ ProxyPass /example http://backend.example.com max=20 ttl=120 retry=300
+ </code></p></div>
+
+ <table>
+ <tr><th>Paramètre</th>
+ <th>Défaut</th>
+ <th>Description</th></tr>
+ <tr><td>min</td>
+ <td>0</td>
+ <td>Nombre minimum d'entrées dans le jeu de connexions, sans
+ rapport avec le nombre réel de connexions. Ne doit être modifié
+ par rapport à la valeur par défaut que dans des circonstances
+ spéciales où la mémoire du tas associée aux connexions
+ d'arrière-plan doit être préallouée ou conservée.</td></tr>
+ <tr><td>max</td>
+ <td>1...n</td>
+ <td>Nombre maximum de connexions permises vers le serveur
+ d'arrière-plan. La valeur par défaut pour cette limite est le
+ nombre de threads par processus pour le module multiprocessus
+ actif. Pour le MPM Prefork, la valeur est toujours 1, alors que
+ pour les autres, on peut la contrôler via la directive
+ <code class="directive">ThreadsPerChild</code>.</td></tr>
+ <tr><td>smax</td>
+ <td>max</td>
+ <td>Les entrées conservées du jeu de connexions au dessus de
+ cette limite sont libérées au cours de certaines opérations si
+ elles n'ont pas été utilisées au bout de leur durée de vie
+ définie par le paramètre <code>ttl</code>. Si l'entrée du jeu de
+ connexions est associée à une connexion, cette dernière sera
+ alors fermée. Ce paramètre ne doit être modifié par rapport à la
+ valeur par défaut que dans des circonstances spéciales où les
+ entrées du jeu de connexions, et toutes connexions associées qui
+ ont dépassé leur durée de vie doivent être respectivement
+ libérées ou fermées plus impérativement.</td></tr>
+ <tr><td>acquire</td>
+ <td>-</td>
+ <td>Cette clé permet de définir le délai maximum d'attente pour
+ une connexion libre dans le jeu de connexions, en millisecondes.
+ S'il n'y a pas de connexion libre dans le jeu, Apache renverra
+ l'état <code>SERVER_BUSY</code> au client.
+ </td></tr>
+ <tr><td>connectiontimeout</td>
+ <td>timeout</td>
+ <td>Délai d'attente d'une connexion en secondes.
+ La durée en secondes pendant laquelle Apache va attendre pour
+ l'établissement d'une connexion vers le serveur d'arrière-plan.
+ Le délai peut être spécifié en millisecondes en ajoutant le
+ suffixe ms.
+ </td></tr>
+ <tr><td>disablereuse</td>
+ <td>Off</td>
+ <td>Vous pouvez utiliser cette clé pour forcer mod_proxy à
+ fermer immédiatement une connexion vers le serveur
+ d'arrière-plan après utilisation, et ainsi désactiver le jeu de
+ connexions permanentes vers ce serveur. Ceci peut s'avérer utile
+ dans des situations où un pare-feu situé entre Apache et le
+ serveur d'arrière-plan (quelque soit le protocole) interrompt
+ des connexions de manière silencieuse, ou lorsque le serveur
+ d'arrière-plan lui-même est accessible par rotation de DNS
+ (round-robin DNS). Pour désactiver la réutilisation du jeu de
+ connexions, définissez cette clé à <code>On</code>.
+ </td></tr>
+ <tr><td>flushpackets</td>
+ <td>off</td>
+ <td>Permet de définir si le module mandataire doit vider
+ automatiquement le tampon de sortie après chaque tronçon de
+ données. 'off' signifie que le tampon sera vidé si nécessaire,
+ 'on' que le tampon sera vidé après chaque envoi d'un
+ tronçon de données, et 'auto' que le tampon sera vidé après un
+ délai de 'flushwait' millisecondes si aucune entrée n'est reçue.
+ Actuellement, cette clé n'est supportée que par AJP.
+ </td></tr>
+ <tr><td>flushwait</td>
+ <td>10</td>
+ <td>Le délai d'attente pour une entrée additionnelle, en
+ millisecondes, avant le vidage du tampon en sortie dans le cas
+ où 'flushpackets' est à 'auto'.
+ </td></tr>
+ <tr><td>keepalive</td>
+ <td>Off</td>
+ <td><p>Cette clé doit être utilisée lorsque vous avez un pare-feu
+ entre Apache httpd et le serveur d'arrière-plan, et si ce dernier tend
+ à interrompre les connexions inactives. Cette clé va faire en
+ sorte que le système d'exploitation envoie des messages
+ <code>KEEP_ALIVE</code> sur chacune des connexions inactives et
+ ainsi éviter la fermeture de la connexion par le pare-feu.
+ Pour conserver les connexions persistantes, definissez cette
+ propriété à <code>On</code>.</p>
+ <p>La fréquence de vérification des connexions TCP persistantes
+ initiale et subséquentes dépend de la configuration globale de l'OS,
+ et peut atteindre 2 heures. Pour être utile, la fréquence configurée
+ dans l'OS doit être inférieure au seuil utilisé par le pare-feu.</p>
+ </td></tr>
+ <tr><td>lbset</td>
+ <td>0</td>
+ <td>Définit le groupe de répartition de charge dont le serveur cible
+ est membre. Le répartiteur de charge va essayer tous les membres
+ d'un groupe de répartition de charge de numéro inférieur avant
+ d'essayer ceux dont le groupe possède un numéro supérieur.
+ </td></tr>
+ <tr><td>ping</td>
+ <td>0</td>
+ <td>Avec la clé ping, le serveur web envoie une requête
+ <code>CPING</code> sur la connexion ajp13 avant de rediriger une
+ requête. La valeur correspond au délai d'attente de la réponse
+ <code>CPONG</code>. Cette fonctionnalité a été ajoutée afin de
+ pallier aux problèmes de blocage et de surcharge des serveurs
+ Tomcat, et nécessite le support de ping/pong ajp13 qui a été
+ implémenté dans Tomcat 3.3.2+, 4.1.28+ et 5.0.13+. Le trafic
+ réseau peut s'en trouver augmenté en fonctionnement normal, ce
+ qui peut poser problème, mais peut s'en trouver diminué dans les
+ cas où les noeuds de cluster sont arrêtés ou surchargés. Cette
+ clé n'est actuellement utilisable qu'avec AJP. Le délai peut
+ aussi être défini en millisecondes en ajoutant le suffixe
+ ms.
+ </td></tr>
+ <tr><td>loadfactor</td>
+ <td>1</td>
+ <td>Facteur de charge du serveur cible à utiliser avec les
+ membres d'un groupe de répartition de charge. Il s'agit d'un
+ nombre entre 1 et 100 définissant le facteur de charge appliqué
+ au serveur cible.
+ </td></tr>
+ <tr><td>redirect</td>
+ <td>-</td>
+ <td>Route pour la redirection du serveur cible. Cette valeur est en
+ général définie dynamiquement pour permettre une suppression
+ sécurisée du noeud du cluster. Si cette clé est définie, toutes
+ les requêtes sans identifiant de session seront redirigées vers
+ le membre de groupe de répartition de charge dont la route
+ correspond à la valeur de la clé.
+ </td></tr>
+ <tr><td>retry</td>
+ <td>60</td>
+ <td>Délai entre deux essais du serveur cible du jeu de connexions en
+ secondes. Si le serveur cible du jeu de connexions vers le serveur
+ d'arrière-plan est dans un état d'erreur, Apache ne redirigera
+ pas de requête vers ce serveur avant l'expiration du délai
+ spécifié. Ceci permet d'arrêter le serveur d'arrière-plan pour
+ maintenance, et de le remettre en ligne plus tard. Une valeur de
+ 0 signifie toujours essayer les serveurs cibles dans un état d'erreur
+ sans délai.
+ </td></tr>
+ <tr><td>route</td>
+ <td>-</td>
+ <td>La route du serveur cible lorsqu'il est utilisé au sein d'un
+ répartiteur de charge. La route est une valeur ajoutée à
+ l'identifiant de session.
+ </td></tr>
+ <tr><td>status</td>
+ <td>-</td>
+ <td>Valeur constituée d'une simple lettre et définissant l'état
+ initial de ce serveur cible : 'D' correspond à "désactivé", 'S' à
+ "arrêté", 'I' à "erreurs ignorées", 'H' à "interruption à chaud"
+ et 'E' à "erreur". Une valeur d'état peut être définie (ce qui
+ correspond au comportement par défaut) en préfixant la valeur
+ par '+', ou annulée en préfixant la valeur par '-'. Ainsi, la
+ valeur 'S-E' définit l'état de ce serveur cible à "arrêté" et supprime
+ le drapeau "en-erreur".
+ </td></tr>
+ <tr><td>timeout</td>
+ <td><code class="directive"><a href="#proxytimeout">ProxyTimeout</a></code></td>
+ <td>Délai d'attente de la connexion en secondes. Le nombre de
+ secondes pendant lesquelles Apache attend l'envoi de
+ données vers le serveur d'arrière-plan.
+ </td></tr>
+ <tr><td>ttl</td>
+ <td>-</td>
+ <td>Durée de vie des connexions inactives et des entrées
+ associées du jeu de connexions. Lorsque cette limite est
+ atteinte, la connexion concernée ne sera plus utilisée ; elle
+ sera ensuite fermée au bout d'un certain temps.
+ </td></tr>
+
+ </table>
+
+ <p>Si l'URL de la directive Proxy débute par
+ <code>balancer://</code> (par exemple:
+ <code>balancer://cluster/</code>, toute information relative au
+ chemin est ignorée), alors un serveur cible virtuel ne communiquant pas
+ réellement avec le serveur d'arrière-plan sera créé. Celui-ci sera
+ en fait responsable de la gestion de plusieurs serveurs cibles "réels". Dans
+ ce cas, un jeu de paramètres particuliers s'applique à ce serveur cible
+ virtuel. Voir <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> pour plus
+ d'informations à propos du fonctionnement du répartiteur de
+ charge.
+ </p>
+ <table>
+ <tr><th>Paramètre</th>
+ <th>Défaut</th>
+ <th>Description</th></tr>
+ <tr><td>lbmethod</td>
+ <td>byrequests</td>
+ <td>Méthode de répartition de charge utilisée. Permet de
+ sélectionner la méthode de planification de la répartition de
+ charge à utiliser. La valeur est soit <code>byrequests</code>,
+ pour effectuer un décompte de requêtes pondérées, soit
+ <code>bytraffic</code>, pour effectuer une répartition en
+ fonction du décompte des octets transmis, soit
+ <code>bybusyness</code> (à partir de la version 2.2.10 du
+ serveur HTTP Apache), pour effectuer une répartition en
+ fonction des requêtes en attente. La valeur par défaut est
+ <code>byrequests</code>.
+ </td></tr>
+ <tr><td>maxattempts</td>
+ <td>1 de moins que le nombre de workers, ou 1 avec un seul
+ worker</td>
+ <td>Nombre maximum d'échecs avant abandon.
+ </td></tr>
+ <tr><td>nofailover</td>
+ <td>Off</td>
+ <td>Si ce paramètre est défini à <code>On</code>, la session va
+ s'interrompre si le serveur cible est dans un état d'erreur ou
+ désactivé. Définissez ce paramètre à On si le serveur
+ d'arrière-plan ne supporte pas la réplication de session.
+ </td></tr>
+ <tr><td>stickysession</td>
+ <td>-</td>
+ <td>Nom de session persistant du répartiteur. La valeur est
+ généralement du style <code>JSESSIONID</code> ou
+ <code>PHPSESSIONID</code>, et dépend du serveur d'application
+ d'arrière-plan qui supporte les sessions. Si le serveur
+ d'application d'arrière-plan utilise des noms différents pour
+ les cookies et les identifiants codés d'URL (comme les
+ conteneurs de servlet), séparez-les par le caractère '|'. La
+ première partie contient le cookie et la seconde le chemin.
+ </td></tr>
+ <tr><td>scolonpathdelim</td>
+ <td>Off</td>
+ <td>Si ce paramètre est défini à <code>On</code>, le caractère
+ ';' sera utilisé comme séparateur de chemin de session
+ persistante additionnel. Ceci permet principalement de simuler
+ le comportement de mod_jk lorsqu'on utilise des chemins du style
+ <code>JSESSIONID=6736bcf34;foo=aabfa</code>.
+ </td></tr>
+ <tr><td>timeout</td>
+ <td>0</td>
+ <td>Délai du répartiteur en secondes. Si ce paramètre est
+ défini, sa valeur correspond à la durée maximale d'attente pour
+ un serveur cible libre. Le comportement par défaut est de ne pas
+ attendre.
+ </td></tr>
+ <tr><td>failonstatus</td>
+ <td>-</td>
+ <td>Un code ou une liste de codes d'état HTTP séparés par des
+ virgules. S'il est défini, ce paramètre va forcer le worker dans
+ un état d'erreur lorsque le serveur d'arrière-plan retounera un
+ code d'état spécifié dans la liste. Le rétablissement du worker
+ est le même qu'avec les autres erreurs de worker.
+ </td></tr>
+ </table>
+ <p>Exemple de configuration d'un répartiteur</p>
+ <div class="example"><p><code>
+ ProxyPass /zone-speciale http://special.example.com smax=5 max=10<br />
+ ProxyPass / balancer://mon-cluster/ stickysession=JSESSIONID|jsessionid nofailover=On<br />
+ &lt;Proxy balancer://mon-cluster&gt;<br />
+ <span class="indent">
+ BalancerMember ajp://1.2.3.4:8009<br />
+ BalancerMember ajp://1.2.3.5:8009 loadfactor=20<br />
+ # Serveur moins puissant ; faites-lui traiter moins de requêtes,<br />
+ BalancerMember ajp://1.2.3.6:8009 loadfactor=5<br />
+ </span>
+ &lt;/Proxy&gt;
+ </code></p></div>
+
+ <p>Configuration d'un serveur cible de réserve qui ne sera utilisé que si
+ aucun autre serveur cible n'est disponible</p>
+ <div class="example"><p><code>
+ ProxyPass / balancer://hotcluster/ <br />
+ &lt;Proxy balancer://hotcluster&gt;<br />
+ <span class="indent">
+ BalancerMember ajp://1.2.3.4:8009 loadfactor=1<br />
+ BalancerMember ajp://1.2.3.5:8009 loadfactor=2<br />
+ # La ligne suivante configure le serveur cible de réserve<br />
+ BalancerMember ajp://1.2.3.6:8009 status=+H<br />
+ ProxySet lbmethod=bytraffic
+ </span>
+ &lt;/Proxy&gt;
+ </code></p></div>
+
+ <p>Normalement, mod_proxy va mettre sous leur forme canonique les
+ URLs traitées par ProxyPass. Mais ceci peut être incompatible avec
+ certains serveurs d'arrière-plan, et en particulier avec ceux qui
+ utilisent <var>PATH_INFO</var>. Le mot-clé optionnel
+ <var>nocanon</var> modifie ce comportement et permet de transmettre
+ le chemin d'URL sous sa forme brute au serveur d'arrière-plan. Notez
+ que ceci peut affecter la sécurité de votre serveur d'arrière-plan,
+ car la protection limitée contre les attaques à base d'URL que
+ fournit le mandataire est alors supprimée.</p>
+
+ <p>Le mot-clé optionnel <var>interpolate</var> (disponible depuis
+ httpd 2.2.9), en combinaison avec la directive
+ <code class="directive">ProxyPassInterpolateEnv</code>, permet à ProxyPass
+ d'interpoler les variables d'environnement à l'aide de la syntaxe
+ <var>${VARNAME}</var>. Notez que de nombreuses variables
+ d'environnement standard dérivées de CGI n'existeront pas lorsque
+ l'interpolation se produit ; vous devrez alors encore avoir avoir
+ recours à <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour des règles
+ complexes.</p>
+
+ <p>Lorsque la directive ProxyPass est utilisée à l'intérieur d'une
+ section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>, le premier argument est omis et le répertoire
+ local est obtenu à partir de la section <code class="directive">&lt;module="core"&gt;Location&gt;</code>. Il en est de même à l'intérieur
+ d'une section <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> ; cependant, ProxyPass
+ n'interprète pas les expressions rationnelles, et dans ce cas, il
+ est nécessaire d'utiliser la directive
+ <code class="directive">ProxyPassMatch</code>.
+ </p>
+
+ <p>Cette directive ne peut pas être placée dans une section
+ <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> ou
+ <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>.</p>
+
+ <p>Si vous avez besoin d'un configuration de mandataire inverse plus
+ souple, reportez-vous à la documentaion de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> et son drapeau
+ <code>[P]</code>.</p>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyPassInterpolateEnv" id="ProxyPassInterpolateEnv">ProxyPassInterpolateEnv</a> <a name="proxypassinterpolateenv" id="proxypassinterpolateenv">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'interpolation des variables d'environnement dans
+les configurations de mandataires inverses</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassInterpolateEnv On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPassInterpolateEnv Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.9 d'Apache</td></tr>
+</table>
+ <p>Cette directive, ainsi que l'argument <var>interpolate</var> des
+ directives <code class="directive">ProxyPass</code>,
+ <code class="directive">ProxyPassReverse</code>,
+ <code class="directive">ProxyPassReverseCookieDomain</code> et
+ <code class="directive">ProxyPassReverseCookiePath</code>, permet de
+ configurer dynamiquement un mandataire inverse à l'aide de
+ variables d'environnement, ces dernières pouvant être définies par un
+ autre module comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Elle affecte les
+ directives <code class="directive">ProxyPass</code>,
+ <code class="directive">ProxyPassReverse</code>,
+ <code class="directive">ProxyPassReverseCookieDomain</code>, et
+ <code class="directive">ProxyPassReverseCookiePath</code>, en leur indiquant
+ de remplacer la chaîne <code>${nom_var}</code> dans les directives
+ de configuration par la valeur de la variable d'environnement
+ <code>nom_var</code>.</p>
+ <p>Conservez cette directive à off (pour les performances du
+ serveur), sauf si vous en avez réellement besoin.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyPassMatch" id="ProxyPassMatch">ProxyPassMatch</a> <a name="proxypassmatch" id="proxypassmatch">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre des serveurs distants dans l'espace d'URL
+du serveur local en utilisant des expressions rationnelles</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassMatch [<var>regex</var>] !|<var>url</var>
+[<var>clé=valeur</var>
+ <var>[clé=valeur</var> ...]]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.5
+d'Apache</td></tr>
+</table>
+ <p>Cette directive est identique à la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>, mais fait usage des
+ expressions rationnelles, au lieu d'une simple comparaison de
+ préfixes. L'expression rationnelle spécifiée est comparée à
+ l'<var>url</var>, et si elle correspond, le serveur va substituer
+ toute correspondance entre parenthèses dans la chaîne donnée et
+ l'utiliser comme nouvelle <var>url</var>.</p>
+
+ <p>Supposons que le serveur local a pour adresse
+ <code>http://example.com/</code> ; alors</p>
+
+ <div class="example"><p><code>
+ ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com$1
+ </code></p></div>
+
+ <p>va provoquer la conversion interne de la requête locale
+ <code>http://example.com/foo/bar.gif</code> en une requête mandatée
+ pour <code>http://backend.example.com/foo/bar.gif</code>.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>L'argument URL doit pouvoir être interprété en tant qu'URL
+ <em>avant</em> les substitutions d'expressions rationnelles (et
+ doit aussi l'être après). Ceci limite les correspondances que vous
+ pouvez utiliser. Par exemple, si l'on avait utilisé</p>
+ <div class="example"><p><code>
+ ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com:8000$1
+ </code></p></div>
+ <p>dans l'exemple précédent, nous aurions provoqué une erreur de
+ syntaxe au démarrage du serveur. C'est une bogue (PR 46665 dans
+ ASF bugzilla), et il est possible de la contourner en reformulant
+ la correspondance :</p>
+ <div class="example"><p><code>
+ ProxyPassMatch ^/(.*\.gif)$ http://backend.example.com:8000/$1
+ </code></p></div>
+ </div>
+
+ <p>Le drapeau <code>!</code> vous permet de ne pas mandater un
+ sous-répertoire donné.</p>
+
+ <p>Lorsque cette directive se situe à l'intérieur d'une section
+ <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>,
+ le premier argument est omis et l'expression rationnelle est obtenue
+ à partir de la directive <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>.</p>
+
+ <p>Si vous avez besoin d'une configuration de mandataire inverse
+ plus flexible, reportez-vous à la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> avec le drapeau
+ <code>[P]</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyPassReverse" id="ProxyPassReverse">ProxyPassReverse</a> <a name="proxypassreverse" id="proxypassreverse">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste l'URL dans les en-têtes de la réponse HTTP envoyée
+par un serveur mandaté en inverse</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverse [<var>chemin</var>] <var>url</var>
+[<var>interpolate</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive permet de faire en sorte qu'Apache ajuste l'URL
+ dans les en-têtes <code>Location</code>,
+ <code>Content-Location</code> et <code>URI</code> des réponses de
+ redirection HTTP. Ceci est essentiel lorsqu'Apache est utilisé en
+ tant que mandataire inverse (ou passerelle), afin d'éviter de
+ court-circuiter le mandataire inverse suite aux redirections HTTP
+ sur le serveur d'arrière-plan qui restent derrière le mandataire
+ inverse.</p>
+
+ <p>Seuls les en-têtes de réponse HTTP spécialement mentionnés
+ ci-dessus seront réécrits. Apache ne réécrira ni les autres en-têtes
+ de réponse, ni les références d'URLs dans les pages HTML. Cela
+ signifie que dans le cas où un contenu mandaté contient des
+ références à des URLs absolues, elles court-circuiteront le
+ mandataire. Le module <a href="http://apache.webthing.com/mod_proxy_html/">mod_proxy_html</a>
+ de Nick Kew est un module tiers qui parcourt le code HTML et réécrit
+ les références d'URL.</p>
+
+ <p><var>chemin</var> est le nom d'un chemin virtuel local.
+ <var>url</var> est une URL partielle pour le serveur distant - ils
+ sont utilisés de la même façon qu'avec la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+
+ <p>Supposons par exemple que le serveur local a pour adresse
+ <code>http://example.com/</code> ; alors</p>
+
+ <div class="example"><p><code>
+ ProxyPass /miroir/foo/ http://backend.example.com/<br />
+ ProxyPassReverse /miroir/foo/ http://backend.example.com/<br />
+ ProxyPassReverseCookieDomain backend.example.com public.example.com<br />
+ ProxyPassReverseCookiePath / /miroir/foo/
+ </code></p></div>
+
+ <p>ne va pas seulement provoquer la conversion interne d'une requête
+ locale pour <code>http://example.com/miroir/foo/bar</code> en une
+ requête mandatée pour <code>http://backend.example.com/bar</code>
+ (la fonctionnalité fournie par <code>ProxyPass</code>). Il va
+ aussi s'occuper des redirections que le serveur
+ <code>backend.example.com</code> envoie : lorsque
+ <code>http://backend.example.com/bar</code> est redirigé par
+ celui-ci vers <code>http://backend.example.com/quux</code>, Apache
+ corrige ceci en <code>http://example.com/miroir/foo/quux</code>
+ avant de faire suivre la redirection HTTP au client. Notez que le
+ nom d'hôte utilisé pour construire l'URL est choisi en respectant la
+ définition de la directive <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>.</p>
+
+ <p>Notez que la directive <code class="directive">ProxyPassReverse</code>
+ peut aussi être utilisée en conjonction avec la fonctionnalité
+ pass-through (<code>RewriteRule ... [P]</code>) du module
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, car elle ne dépend pas d'une directive
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code>
+ correspondante.</p>
+
+ <p>Le mot-clé optionnel <var>interpolate</var> (disponible depuis
+ httpd 2.2.9), utilisé en combinaison avec la directive
+ <code class="directive">ProxyPassInterpolateEnv</code>, permet
+ l'interpolation des variables d'environnement spécifiées en
+ utilisant le format <var>${VARNAME}</var>.
+ </p>
+
+ <p>Lorsque cette directive est utilisée dans une section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>, le premier
+ argument est omis et le répertoire local est obtenu à partir de
+ l'argument de la directive <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>. Il en est de même à l'intérieur
+ d'une section <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>, mais le résultat ne
+ correspondra probablement pas à ce que vous attendez, car
+ ProxyPassReverse interprète l'expression rationnelle littéralement
+ comme un chemin ; si nécessaire dans cette situation, spécifiez la
+ directive ProxyPassReverse en dehors de la section, ou dans une
+ section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>
+ séparée.
+ </p>
+
+ <p>Cette directive ne peut pas être placée dans une section
+ <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> ou
+ <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyPassReverseCookieDomain" id="ProxyPassReverseCookieDomain">ProxyPassReverseCookieDomain</a> <a name="proxypassreversecookiedomain" id="proxypassreversecookiedomain">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste la chaîne correspondant au domaine dans les en-têtes
+Set-Cookie en provenance d'un serveur mandaté</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverseCookieDomain <var>domaine-interne</var>
+<var>domaine-public</var> [<var>interpolate</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+<p>L'utilisation de cette directive est similaire à celle de la
+directive <code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>,
+mais au lieu de réécrire des en-têtes qui contiennent des URLs, elle
+réécrit la chaîne correspondant au domaine dans les en-têtes
+<code>Set-Cookie</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyPassReverseCookiePath" id="ProxyPassReverseCookiePath">ProxyPassReverseCookiePath</a> <a name="proxypassreversecookiepath" id="proxypassreversecookiepath">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste la chaîne correspondant au chemin dans les en-têtes
+Set-Cookie en provenance d'un serveur mandaté</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverseCookiePath <var>chemin-interne</var>
+<var>chemin-public</var> [<var>interpolate</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+<p>L'utilisation de cette directive est similaire à celle de la
+directive <code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>,
+mais au lieu de réécrire des en-têtes qui contiennent des URLs, elle
+réécrit la chaîne correspondant au <code>chemin</code> dans les en-têtes
+<code>Set-Cookie</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyPreserveHost" id="ProxyPreserveHost">ProxyPreserveHost</a> <a name="proxypreservehost" id="proxypreservehost">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise l'en-tête de requête entrante Host pour la requête
+du mandataire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPreserveHost On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPreserveHost Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.0.31 d'Apache.</td></tr>
+</table>
+ <p>Lorsqu'elle est activée, cette directive va transmettre l'en-tête
+ Host: de la requête entrante vers le serveur mandaté, au lieu du nom
+ d'hôte spécifié par la directive <code class="directive">ProxyPass</code>.</p>
+
+ <p>Cette directive est habituellement définie à <code>Off</code>.
+ Elle est principalement utile dans les configurations particulières
+ comme l'hébergement virtuel mandaté en masse à base de nom, où
+ l'en-tête Host d'origine doit être évalué par le serveur
+ d'arrière-plan.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyReceiveBufferSize" id="ProxyReceiveBufferSize">ProxyReceiveBufferSize</a> <a name="proxyreceivebuffersize" id="proxyreceivebuffersize">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon réseau pour les connexions mandatées HTTP
+et FTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyReceiveBufferSize <var>octets</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyReceiveBufferSize 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyReceiveBufferSize</code> permet
+ de spécifier une taille de tampon réseau explicite (TCP/IP) pour les
+ connexions mandatées HTTP et FTP, afin d'améliorer le débit de
+ données. Elle doit être supérieure à <code>512</code> ou définie à
+ <code>0</code> pour indiquer que la taille de tampon par défaut du
+ système doit être utilisée.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ ProxyReceiveBufferSize 2048
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyRemote" id="ProxyRemote">ProxyRemote</a> <a name="proxyremote" id="proxyremote">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mandataire distant à utiliser pour traiter certaines
+requêtes</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRemote <var>comparaison</var> <var>serveur-distant</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive permet de définir des mandataires distants pour
+ ce mandataire. <var>comparaison</var> est soit le nom d'un protocole
+ que supporte le serveur distant, soit une URL partielle pour
+ laquelle le serveur distant devra être utilisé, soit <code>*</code>
+ pour indiquer que le serveur distant doit être utilisé pour toutes
+ les requêtes. <var>serveur-distant</var> est une URL partielle
+ correspondant au serveur distant. Syntaxe : </p>
+
+ <div class="example"><p><code>
+ <dfn>serveur-distant</dfn> =
+ <var>protocole</var>://<var>nom-serveur</var>[:<var>port</var>]
+ </code></p></div>
+
+ <p><var>protocole</var> est effectivement le protocole à utiliser
+ pour communiquer avec le serveur distant ; ce module ne supporte que
+ <code>http</code> et <code>https</code>. Avec <code>https</code>,
+ les requêtes sont transmises par le mandataire distant via la
+ méthode HTTP CONNECT.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ ProxyRemote http://bons-gars.example.com/ http://gars-mirroirs.example.com:8000<br />
+ ProxyRemote * http://mandataire-intelligent.localdomain<br />
+ ProxyRemote ftp http://mandataire-ftp.mon-domaine:8080
+ </code></p></div>
+
+ <p>Dans la dernière ligne de l'exemple, le mandataire va faire
+ suivre les requêtes FTP, encapsulées dans une autre requête mandatée
+ HTTP, vers un autre mandataire capable de les traiter.</p>
+
+ <p>Cette directive supporte aussi les configurations de mandataire
+ inverse - un serveur web d'arrière-plan peut être intégré dans
+ l'espace d'URL d'un serveur virtuel, même si ce serveur est caché
+ par un autre mandataire direct.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyRemoteMatch" id="ProxyRemoteMatch">ProxyRemoteMatch</a> <a name="proxyremotematch" id="proxyremotematch">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le mandataire distant à utiliser pour traiter les requêtes
+correspondant à une expression rationnelle</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRemoteMatch <var>regex</var> <var>serveur-distant</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyRemoteMatch</code> est
+ identique à la directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code>, à l'exception que le
+ premier argument est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression
+ rationnelle</a> à mettre en correspondance avec l'URL de la
+ requête.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyRequests" id="ProxyRequests">ProxyRequests</a> <a name="proxyrequests" id="proxyrequests">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la fonctionnalité (standard) de mandataire
+direct</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRequests On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyRequests Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive permet d'activer/désactiver la fonctionnalité de
+ serveur mandataire direct d'Apache. Définir ProxyRequests à
+ <code>Off</code> n'interdit pas l'utilisation de la directive
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+
+ <p>Pour une configuration typique de mandataire inverse ou
+ passerelle, cette directive doit être définie à
+ <code>Off</code>.</p>
+
+ <p>Afin d'activer la fonctionnalité de mandataire pour des sites
+ HTTP et/ou FTP, les modules <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> et/ou
+ <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> doivent aussi être chargés dans le
+ serveur.</p>
+
+ <div class="warning"><h3>Avertissement</h3>
+ <p>N'activez pas la fonctionnalité de mandataire avec la directive
+ <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> avant
+ d'avoir <a href="#access">sécurisé votre serveur</a>. Les serveurs
+ mandataires ouverts sont dangereux non seulement pour votre
+ réseau, mais aussi pour l'Internet au sens large.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="#forwardreverse">Mandataires/Passerelles directs et
+inverses</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxySet" id="ProxySet">ProxySet</a> <a name="proxyset" id="proxyset">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit différents paramètres relatifs à la répartition de
+charge des mandataires et aux membres des groupes de répartition de
+charge</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySet <var>url</var> <var>clé=valeur [clé=valeur ...]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>ProxySet n'est disponible que depuis la version 2.2
+d'Apache.</td></tr>
+</table>
+ <p>Cette directive propose une méthode alternative pour définir tout
+ paramètre relatif aux répartiteurs de charge et serveurs cibles de
+ mandataires normalement défini via la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>. Si elle se trouve dans un
+ conteneur <code>&lt;Proxy <var>url de répartiteur|url de
+ serveur cible</var>&gt;</code>, l'argument <var>url</var> n'est pas
+ nécessaire. Comme effet de bord, le répartiteur ou serveur cible respectif
+ est créé. Ceci peut s'avérer utile pour la mise en oeuvre d'un
+ mandataire inverse via une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> au lieu de <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+
+ <div class="example"><p><code>
+ &lt;Proxy balancer://hotcluster&gt;<br />
+ <span class="indent">
+ BalancerMember http://www2.example.com:8080 loadfactor=1<br />
+ BalancerMember http://www3.example.com:8080 loadfactor=2<br />
+ ProxySet lbmethod=bytraffic<br />
+ </span>
+ &lt;/Proxy&gt;
+ </code></p></div>
+
+ <div class="example"><p><code>
+ &lt;Proxy http://backend&gt;<br />
+ <span class="indent">
+ ProxySet keepalive=On<br />
+ </span>
+ &lt;/Proxy&gt;
+ </code></p></div>
+
+ <div class="example"><p><code>
+ ProxySet balancer://foo lbmethod=bytraffic timeout=15
+ </code></p></div>
+
+ <div class="example"><p><code>
+ ProxySet ajp://backend:7001 timeout=15
+ </code></p></div>
+
+ <div class="warning"><h3>Avertissement</h3>
+ <p>Gardez à l'esprit qu'une même clé de paramètre peut avoir
+ différentes significations selon qu'elle s'applique à un
+ répartiteur ou à un serveur cible, et ceci est illustré par les deux
+ exemples précédents où il est question d'un timeout.</p>
+ </div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyStatus" id="ProxyStatus">ProxyStatus</a> <a name="proxystatus" id="proxystatus">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Affiche l'état du répartiteur de charge du mandataire dans
+mod_status</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyStatus Off|On|Full</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyStatus Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2 d'Apache</td></tr>
+</table>
+ <p>Cette directive permet de spécifier si les données d'état du
+ répartiteur de charge du mandataire doivent être affichées via la
+ page d'état du serveur du module <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>.</p>
+ <div class="note"><h3>Note</h3>
+ <p>L'argument <strong>Full</strong> produit le même effet que
+ l'argument <strong>On</strong>.</p>
+ </div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyTimeout" id="ProxyTimeout">ProxyTimeout</a> <a name="proxytimeout" id="proxytimeout">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Délai d'attente réseau pour les requêtes
+mandatées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyTimeout <var>secondes</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Valeur de la directive <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.0.31 d'Apache</td></tr>
+</table>
+ <p>Cette directive permet à l'utilisateur de spécifier un délai pour
+ les requêtes mandatées. Ceci s'avère utile dans le cas d'un serveur
+ d'applications lent et bogué qui a tendance à se bloquer, et si vous
+ préférez simplement renvoyer une erreur timeout et abandonner la
+ connexion en douceur plutôt que d'attendre jusqu'à ce que le serveur
+ veuille bien répondre.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyVia" id="ProxyVia">ProxyVia</a> <a name="proxyvia" id="proxyvia">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Information fourni dans l'en-tête de réponse HTTP
+<code>Via</code> pour les requêtes mandatées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyVia On|Off|Full|Block</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyVia Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive permet de contrôler l'utilisation de l'en-tête
+ HTTP <code>Via:</code> par le mandataire. Le but recherché est de
+ contrôler le flux des requêtes mandatées tout au long d'une chaîne
+ de serveurs mandataires. Voir <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> (HTTP/1.1),
+ section 14.45 pour une description des lignes d'en-tête
+ <code>Via:</code>.</p>
+
+ <ul>
+ <li>Si elle est définie à <code>Off</code>, valeur par défaut, cette
+ directive n'effectue aucun traitement particulier. Si une requête ou
+ une réponse contient un en-tête <code>Via:</code>, il est transmis
+ sans modification.</li>
+
+ <li>Si elle est définie à <code>On</code>, chaque requête ou réponse
+ se verra ajouter une ligne d'en-tête <code>Via:</code> pour le
+ serveur courant.</li>
+
+ <li>Si elle est définie à <code>Full</code>, chaque ligne d'en-tête
+ <code>Via:</code> se verra ajouter la version du serveur Apache sous
+ la forme d'un champ de commentaire <code>Via:</code>.</li>
+
+ <li>Si elle est définie à <code>Block</code>, chaque requête
+ mandatée verra ses lignes d'en-tête <code>Via:</code> supprimées.
+ Aucun nouvel en-tête <code>Via:</code> ne sera généré.</li>
+ </ul>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy.html.ja.utf8 b/docs/manual/mod/mod_proxy.html.ja.utf8
index 9c68d5b7..b38060c2 100644
--- a/docs/manual/mod/mod_proxy.html.ja.utf8
+++ b/docs/manual/mod/mod_proxy.html.ja.utf8
@@ -22,6 +22,7 @@
<div id="preamble"><h1>Apache モジュール mod_proxy</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_proxy.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div>
<div class="outofdate">This translation may be out of date. Check the
@@ -65,16 +66,20 @@
<div id="quickview"><h3 class="directives">ディレクティブ</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#allowconnect">AllowCONNECT</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#balancermember">BalancerMember</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#noproxy">NoProxy</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxy">&lt;Proxy&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxybadheader">ProxyBadHeader</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyblock">ProxyBlock</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxydomain">ProxyDomain</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyerroroverride">ProxyErrorOverride</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyftpdircharset">ProxyFtpDirCharset</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyiobuffersize">ProxyIOBufferSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxymatch">&lt;ProxyMatch&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxymaxforwards">ProxyMaxForwards</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxypass">ProxyPass</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassmatch">ProxyPassMatch</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreverse">ProxyPassReverse</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li>
@@ -83,6 +88,8 @@
<li><img alt="" src="../images/down.gif" /> <a href="#proxyremote">ProxyRemote</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyremotematch">ProxyRemoteMatch</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyrequests">ProxyRequests</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyset">ProxySet</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxystatus">ProxyStatus</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxytimeout">ProxyTimeout</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyvia">ProxyVia</a></li>
</ul>
@@ -320,6 +327,19 @@
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="BalancerMember" id="BalancerMember">BalancerMember</a> <a name="balancermember" id="balancermember">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Add a member to a load balancing group</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>BalancerMember is only available in Apache 2.2
+ and later.</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="NoProxy" id="NoProxy">NoProxy</a> <a name="noproxy" id="noproxy">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>直接接続ã™ã‚‹ ホストã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯</td></tr>
@@ -598,6 +618,19 @@
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyFtpDirCharset" id="ProxyFtpDirCharset">ProxyFtpDirCharset</a> <a name="proxyftpdircharset" id="proxyftpdircharset">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Define the character set for proxied FTP listings</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyFtpDirCharset <var>character set</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyFtpDirCharset ISO-8859-1</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Available in Apache 2.2.7 and later</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ProxyIOBufferSize" id="ProxyIOBufferSize">ProxyIOBufferSize</a> <a name="proxyiobuffersize" id="proxyiobuffersize">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>内部データスループットãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’決定ã™ã‚‹</td></tr>
@@ -861,6 +894,32 @@
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyPassInterpolateEnv" id="ProxyPassInterpolateEnv">ProxyPassInterpolateEnv</a> <a name="proxypassinterpolateenv" id="proxypassinterpolateenv">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyPassInterpolateEnv On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyPassInterpolateEnv Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Available in httpd 2.2.9 and later</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyPassMatch" id="ProxyPassMatch">ProxyPassMatch</a> <a name="proxypassmatch" id="proxypassmatch">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Maps remote servers into the local server URL-space using regular expressions</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var>
+ <var>[key=value</var> ...]]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>available in Apache 2.2.5 and later</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ProxyPassReverse" id="ProxyPassReverse">ProxyPassReverse</a> <a name="proxypassreverse" id="proxypassreverse">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リãƒãƒ¼ã‚¹ãƒ—ロキシã•ã‚ŒãŸã‚µãƒ¼ãƒã‹ã‚‰é€ã‚‰ã‚ŒãŸ HTTP 応答ヘッダã®
@@ -1070,6 +1129,32 @@ URL を調整ã™ã‚‹</td></tr>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxySet" id="ProxySet">ProxySet</a> <a name="proxyset" id="proxyset">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Set various Proxy balancer or member parameters</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxySet <var>url</var> <var>key=value [key=value ...]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>ProxySet is only available in Apache 2.2
+ and later.</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyStatus" id="ProxyStatus">ProxyStatus</a> <a name="proxystatus" id="proxystatus">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Show Proxy LoadBalancer status in mod_status</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyStatus Off|On|Full</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyStatus Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Available in version 2.2 and later</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ProxyTimeout" id="ProxyTimeout">ProxyTimeout</a> <a name="proxytimeout" id="proxytimeout">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ</td></tr>
@@ -1124,8 +1209,9 @@ URL を調整ã™ã‚‹</td></tr>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_proxy.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy_ajp.html.en b/docs/manual/mod/mod_proxy_ajp.html.en
index 4d336c72..7651dcfb 100644
--- a/docs/manual/mod/mod_proxy_ajp.html.en
+++ b/docs/manual/mod/mod_proxy_ajp.html.en
@@ -51,6 +51,7 @@
directives.</p>
<h3>Topics</h3>
<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#env">Environment Variables</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#overviewprotocol">Overview of the protocol</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#basppacketstruct">Basic Packet Structure</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rpacetstruct">Request Packet Structure</a></li>
@@ -58,9 +59,16 @@
</ul><h3>See also</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
+<li><a href="../env.html">Environment Variable documentation</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
+<h2><a name="env" id="env">Environment Variables</a></h2>
+ <p>Environment variables whose names have the prefix <code>AJP_</code>
+ are forwarded to the origin server as AJP request attributes
+ (with the AJP_ prefix removed from the name of the key).</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
<h2><a name="overviewprotocol" id="overviewprotocol">Overview of the protocol</a></h2>
<p>The <code>AJP13</code> protocol is packet-oriented. A binary format
was presumably chosen over the more readable plain text for reasons of
@@ -551,6 +559,6 @@ AJP13_GET_BODY_CHUNK :=
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_ajp.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_proxy_ajp.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy_ajp.html.ja.utf8 b/docs/manual/mod/mod_proxy_ajp.html.ja.utf8
index 0038bdb5..45b8ba1e 100644
--- a/docs/manual/mod/mod_proxy_ajp.html.ja.utf8
+++ b/docs/manual/mod/mod_proxy_ajp.html.ja.utf8
@@ -539,6 +539,6 @@ AJP13_GET_BODY_CHUNK :=
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_ajp.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_proxy_ajp.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy_balancer.html.en b/docs/manual/mod/mod_proxy_balancer.html.en
index 3c3d9f04..ab50fdd7 100644
--- a/docs/manual/mod/mod_proxy_balancer.html.en
+++ b/docs/manual/mod/mod_proxy_balancer.html.en
@@ -346,6 +346,8 @@ candidate lbstatus -= total factor</code></pre></div>
tie. Over time, the distribution of work will come to resemble that
characteristic of <code>byrequests</code>.</p>
+ <p>This algorithm is available in Apache HTTP Server 2.2.10 and later.</p>
+
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="environment" id="environment">Exported Environment Variables</a></h2>
@@ -538,6 +540,6 @@ candidate lbstatus -= total factor</code></pre></div>
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_balancer.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_proxy_balancer.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy_balancer.html.ja.utf8 b/docs/manual/mod/mod_proxy_balancer.html.ja.utf8
index 8ddd65e8..42718dd7 100644
--- a/docs/manual/mod/mod_proxy_balancer.html.ja.utf8
+++ b/docs/manual/mod/mod_proxy_balancer.html.ja.utf8
@@ -314,6 +314,6 @@ candidate lbstatus -= total factor</code></pre></div>
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_balancer.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_proxy_balancer.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy_connect.html.en b/docs/manual/mod/mod_proxy_connect.html.en
index 4aeee0e5..1cdb2d94 100644
--- a/docs/manual/mod/mod_proxy_connect.html.en
+++ b/docs/manual/mod/mod_proxy_connect.html.en
@@ -64,6 +64,6 @@
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_connect.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_proxy_connect.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy_connect.html.ja.utf8 b/docs/manual/mod/mod_proxy_connect.html.ja.utf8
index aaec99d7..3b04b225 100644
--- a/docs/manual/mod/mod_proxy_connect.html.ja.utf8
+++ b/docs/manual/mod/mod_proxy_connect.html.ja.utf8
@@ -61,6 +61,6 @@
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_connect.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_proxy_connect.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy_ftp.html.en b/docs/manual/mod/mod_proxy_ftp.html.en
index 4a1185c0..d0e95129 100644
--- a/docs/manual/mod/mod_proxy_ftp.html.en
+++ b/docs/manual/mod/mod_proxy_ftp.html.en
@@ -158,6 +158,6 @@
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_ftp.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy_http.html b/docs/manual/mod/mod_proxy_http.html
index 156c5d8b..feb9d289 100644
--- a/docs/manual/mod/mod_proxy_http.html
+++ b/docs/manual/mod/mod_proxy_http.html
@@ -3,3 +3,7 @@
URI: mod_proxy_http.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: mod_proxy_http.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/mod/mod_proxy_http.html.en b/docs/manual/mod/mod_proxy_http.html.en
index 867d5d0e..9a156584 100644
--- a/docs/manual/mod/mod_proxy_http.html.en
+++ b/docs/manual/mod/mod_proxy_http.html.en
@@ -21,7 +21,8 @@
<div id="page-content">
<div id="preamble"><h1>Apache Module mod_proxy_http</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_http.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_http.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy_http.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>HTTP support module for
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr>
@@ -123,8 +124,9 @@
</div>
</div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_http.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_http.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy_http.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy_http.html.fr b/docs/manual/mod/mod_proxy_http.html.fr
new file mode 100644
index 00000000..8419a91c
--- /dev/null
+++ b/docs/manual/mod/mod_proxy_http.html.fr
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_proxy_http - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_proxy_http</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_http.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy_http.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support HTTP à
+<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_http_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_http.c</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Pour pouvoir fonctionner, ce module <em>requiert</em> le
+ chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du
+ mandatement des requêtes HTTP et HTTPS. <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>
+ supporte HTTP/0.9, HTTP/1.0 et HTTP/1.1. Il ne fournit
+ <em>aucune</em> fonctionnalité de mise en cache. Si vous souhaitez
+ mettre en oeuvre un mandataire qui assure aussi les fonctions de
+ mise en cache, vous devez utiliser les services du module
+ <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>
+
+ <p>Ainsi, pour pouvoir traiter les requêtes HTTP mandatées,
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, et <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>
+ doivent être chargés dans le serveur.</p>
+
+ <div class="warning"><h3>Avertissement</h3>
+ <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
+ serveurs mandataires ouverts sont dangereux non seulement pour
+ votre réseau, mais aussi pour l'Internet au sens large.</p>
+ </div>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<p>Ce module ne fournit aucune directive.</p>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#env">Variables d'environnement</a></li>
+</ul><h3>Voir aussi</h3>
+<ul class="seealso">
+<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="env" id="env">Variables d'environnement</a></h2>
+ <p>Outre les directives de configuration qui contrôlent le
+ comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, plusieurs <dfn>variables
+ d'environnement</dfn> permettent de contrôler le fournisseur du
+ protocole HTTP :</p>
+ <dl>
+ <dt>proxy-sendextracrlf</dt>
+ <dd>Provoque l'envoi par le mandataire d'une nouvelle ligne
+ CR-LF supplémentaire à la fin de la requête. Cei constitue un
+ moyen de contournement d'une bogue de certains
+ navigateurs.</dd>
+ <dt>force-proxy-request-1.0</dt>
+ <dd>Force le mandataire à envoyer des requêtes vers le serveur
+ cible selon le protocole HTTP/1.0 et désactive les
+ fonctionnalités propres à HTTP/1.1.</dd>
+ <dt>proxy-nokeepalive</dt>
+ <dd>Force le mandataire à fermer la connexion avec le serveur
+ cible après chaque requête.</dd>
+ <dt>proxy-chain-auth</dt>
+ <dd>Si le mandataire requiert une authentification, il va lire
+ et exploiter les données d'authentification pour mandataire
+ envoyées par le client. Si <var>proxy-chain-auth</var> est
+ définie, il va <em>aussi</em> faire suivre ces données vers le
+ mandataire suivant dans la chaîne. Ceci peut s'avérer nécessaire
+ si une chaîne de mandataires partagent les informations
+ d'authentification.
+ <strong>Avertissement concernant la sécurité :</strong>
+ Ne définissez cette variable que si vous êtes sûr d'en avoir
+ besoin, car elle peut provoquer la divulgation d'informations
+ sensibles !</dd>
+ <dt>proxy-sendcl</dt>
+ <dd>Avec HTTP/1.0, toutes les requêtes qui possèdent un corps
+ (par exemple les requêtes POST) doivent comporter un en-tête
+ <var>Content-Length</var>. Cette variable d'environnement force
+ le mandataire Apache à envoyer cet en-tête au serveur cible,
+ sans tenir compte de ce que lui a envoyé le client. Ceci permet
+ d'assurer la compatibilité lorsqu'on mandate un serveur cible
+ mettant en oeuvre un protocole de type HTTP/1.0 ou inconnu. Elle
+ peut cependant nécessiter la mise en tampon de l'intégralité de
+ la requête par le mandataire, ce qui s'avère très inefficace
+ pour les requêtes de grande taille.</dd>
+ <dt>proxy-sendchunks ou proxy-sendchunked</dt>
+ <dd>Cette variable constitue l'opposé de
+ <var>proxy-sendcl</var>. Elle permet la transmission des corps
+ de requêtes vers le serveur cible en utilisant un codage de
+ transfert fractionné. Ceci permet une transmission des requêtes
+ plus efficace, mais nécessite que le serveur cible supporte le
+ protocole HTTP/1.1.</dd>
+ <dt>proxy-interim-response</dt>
+ <dd>Cette variable peut prendre les valeurs <code>RFC</code> ou
+ <code>Suppress</code>. Les versions précédentes de httpd
+ supprimaient les réponses intermédiaires HTTP (1xx) envoyées par
+ le serveur cible. En pratique, si un serveur cible envoie une
+ réponse intermédiaire, il se peut qu'il étende lui-même le
+ protocole d'une manière dont nous n'avons pas connaissance, ou
+ tout simplement non conforme. Le comportement du mandataire est
+ donc maintenant configurable : définissez
+ <code>proxy-interim-response RFC</code> pour être totalement
+ compatible avec le protocole, ou <code>proxy-interim-response
+ Suppress</code> pour supprimer les réponses intermédiaires.</dd>
+ <dt>proxy-initial-not-pooled</dt>
+ <dd>Si cette variable est définie, aucune connexion faisant
+ partie d'un jeu ne sera réutilisée si la connexion client est
+ une connexion initiale. Ceci permet d'éviter le message d'erreur
+ "proxy: error reading status line from remote server" causé par
+ la situation de compétition au cours de laquelle le serveur
+ cible ferme la connexion du jeu après la vérification de la
+ connexion par le mandataire, et avant que les données envoyées
+ par le mandataire n'atteignent le serveur cible. Il faut
+ cependant garder à l'esprit que la définition de cette variable
+ dégrade les performances, particulièrement avec les clients
+ HTTP/1.0.
+ </dd>
+ </dl>
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_http.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy_http.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy_scgi.html.en b/docs/manual/mod/mod_proxy_scgi.html.en
index ad7304bd..6877382f 100644
--- a/docs/manual/mod/mod_proxy_scgi.html.en
+++ b/docs/manual/mod/mod_proxy_scgi.html.en
@@ -134,7 +134,7 @@ header</td></tr>
<dd>The gateway looks for a backend response header called
<code>X-Sendfile</code> and interprets the value as filename to serve. The
header is removed from the final response headers. This is equivalent to
- <code>ProxySCGIRequest X-Sendfile</code>.</dd>
+ <code>ProxySCGISendfile X-Sendfile</code>.</dd>
<dt>anything else</dt>
<dd>Similar to <code>On</code>, but instead of the hardcoded header name
@@ -154,6 +154,6 @@ header</td></tr>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_scgi.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_reqtimeout.html.en b/docs/manual/mod/mod_reqtimeout.html.en
index bce62d12..40c1e048 100644
--- a/docs/manual/mod/mod_reqtimeout.html.en
+++ b/docs/manual/mod/mod_reqtimeout.html.en
@@ -25,7 +25,7 @@
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Set timeout and minimum data rate for receiving requests
</td></tr>
-<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr>
+<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>reqtimeout_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_reqtimeout.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.2.15 and later</td></tr></table>
@@ -75,6 +75,16 @@
</code></p></div>
</li>
+ <li>
+ Usually, a server should have both header and body timeouts configured.
+ If a common configuration is used for http and https virtual hosts, the
+ timeouts should not be set too low:
+
+ <div class="example"><p><code>
+ RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
+ </code></p></div>
+ </li>
+
</ol>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -88,7 +98,7 @@
</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Unset; no limit</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
-<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_reqtimeout</td></tr>
</table>
<p>This directive can set various timeouts for receiving the request headers
@@ -97,8 +107,13 @@
is sent.</p>
<p>For SSL virtual hosts, the header timeout values include the time needed
- to do the initial SSL handshake. The body timeout values include the time
- needed for SSL renegotiation (if necessary).</p>
+ to do the initial SSL handshake. If the user's browser is configured to
+ query certificate revocation lists and the CRL server is not reachable, the
+ initial SSL handshake may take a significant time until the browser gives up
+ waiting for the CRL. Therefore the header timeout values should not be set
+ to very low values for SSL virtual hosts.
+ The body timeout values include the time needed for SSL renegotiation
+ (if necessary).</p>
<p>When an <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> is in use
(usually the case on Linux and FreeBSD), the socket is not sent to the
@@ -150,6 +165,6 @@
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_reqtimeout.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_rewrite.html b/docs/manual/mod/mod_rewrite.html
index 1a7045b6..04588836 100644
--- a/docs/manual/mod/mod_rewrite.html
+++ b/docs/manual/mod/mod_rewrite.html
@@ -3,3 +3,7 @@
URI: mod_rewrite.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: mod_rewrite.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/mod/mod_rewrite.html.en b/docs/manual/mod/mod_rewrite.html.en
index 95d8d7e9..4d050494 100644
--- a/docs/manual/mod/mod_rewrite.html.en
+++ b/docs/manual/mod/mod_rewrite.html.en
@@ -21,7 +21,8 @@
<div id="page-content">
<div id="preamble"><h1>Apache Module mod_rewrite</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/mod/mod_rewrite.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/mod/mod_rewrite.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_rewrite.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides a rule-based rewriting engine to rewrite requested
URLs on the fly</td></tr>
@@ -130,9 +131,8 @@ SCRIPT_URI=http://en1.engelschall.com/u/rse/
<h2><a name="Solutions" id="Solutions">Practical Solutions</a></h2>
<p>For numerous examples of common, and not-so-common, uses for
- mod_rewrite, see the <a href="../rewrite/rewrite_guide.html">Rewrite
- Guide</a>, and the <a href="../rewrite/rewrite_guide_advanced.html">Advanced Rewrite
- Guide</a> documents.</p>
+ mod_rewrite, see the <a href="../rewrite/">extended rewrite
+ documentation.</a></p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -216,7 +216,7 @@ Result:
per-directory rewriting comes late in the
process, the rewritten request
has to be re-injected into the Apache kernel, as if it
- were a new request. (See <a href="../rewrite/rewrite_tech.html">mod_rewrite technical
+ were a new request. (See <a href="../rewrite/tech.html">mod_rewrite technical
details</a>.)
This is not the serious overhead it may seem to be -
this re-injection is completely internal to the
@@ -353,8 +353,14 @@ Result:
MIME-headers, C variables of the Apache server or
<code>struct tm</code> fields of the Unix system.
Most are documented elsewhere in the Manual or in
- the CGI specification. Those that are special to
- mod_rewrite include those below.</p>
+ the CGI specification.</p>
+
+ <p>SERVER_NAME and SERVER_PORT depend on the values of
+ <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> and
+ <code class="directive"><a href="../mod/core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code>
+ respectively.</p>
+
+ <p>Those that are special to mod_rewrite include those below.</p>
<div class="note">
<dl>
<dt><code>IS_SUBREQ</code></dt>
@@ -382,7 +388,8 @@ Result:
browser to the server (e.g., "<code>GET
/index.html HTTP/1.1</code>"). This does not
include any additional headers sent by the
- browser.</dd>
+ browser. This value has not been unescaped
+ (decoded), unlike most other variables below.</dd>
<dt><code>REQUEST_URI</code></dt>
@@ -613,9 +620,9 @@ Result:
instead of the implicit AND. Typical example:
<div class="example"><pre>
-RewriteCond %{REMOTE_HOST} ^host1.* [OR]
-RewriteCond %{REMOTE_HOST} ^host2.* [OR]
-RewriteCond %{REMOTE_HOST} ^host3.*
+RewriteCond %{REMOTE_HOST} =host1 [OR]
+RewriteCond %{REMOTE_HOST} =host2 [OR]
+RewriteCond %{REMOTE_HOST} =host3
RewriteRule ...some special stuff for any of these hosts...
</pre></div>
@@ -643,10 +650,10 @@ RewriteRule ...some special stuff for any of these hosts...
use the following: </p>
<div class="example"><pre>
-RewriteCond %{HTTP_USER_AGENT} ^Mozilla.*
+RewriteCond %{HTTP_USER_AGENT} ^Mozilla
RewriteRule ^/$ /homepage.max.html [L]
-RewriteCond %{HTTP_USER_AGENT} ^Lynx.*
+RewriteCond %{HTTP_USER_AGENT} ^Lynx
RewriteRule ^/$ /homepage.min.html [L]
RewriteRule ^/$ /homepage.std.html [L]
@@ -743,6 +750,23 @@ processing</td></tr>
directive or use <code>RewriteLogLevel 0</code>!
</div>
+ <p>The <code class="directive">RewriteLog</code> log file format is as
+ follows:</p>
+
+<table>
+<tr><th>Description</th><th> Example</th></tr>
+<tr>
+<td>Remote host IP address</td>
+<td>192.168.200.166</td></tr>
+<tr><td>Remote login name</td><td>Will usually be "-"</td></tr>
+<tr><td>HTTP user auth name</td><td>Username, or "-" if no auth</td></tr>
+<tr><td>Date and time of request</td><td>[28/Aug/2009:13:09:09 --0400]</td></tr>
+<tr><td>Virtualhost and virtualhost ID</td><td>[www.example.com/sid#84a650]</td></tr>
+<tr><td>Request ID, and whether it's a subrequest</td><td>[rid#9f0e58/subreq]</td></tr>
+<tr><td>Log entry severity level</td><td>(2)</td></tr>
+<tr><td>Text error message</td><td>forcing proxy-throughput with http://127.0.0.1:8080/index.html</td></tr>
+</table>
+
<div class="note"><h3>Security</h3>
See the <a href="../misc/security_tips.html">Apache Security Tips</a>
@@ -825,7 +849,9 @@ Apache 2.0.41 and later</td></tr>
key is found, the map-function construct is substituted by
<em>SubstValue</em>. If the key is not found then it is
substituted by <em>DefaultValue</em> or by the empty string
- if no <em>DefaultValue</em> was specified.</p>
+ if no <em>DefaultValue</em> was specified. Empty values
+ behave as if the key was absent, therefore it is not possible
+ to distinguish between empty-valued keys and absent keys.</p>
<p>For example, you might define a
<code class="directive">RewriteMap</code> as:</p>
@@ -937,8 +963,10 @@ $ httxt2dbm -i mapfile.txt -o mapfile.map
function
<p>Here, the source is an internal Apache function.
- Currently you cannot create your own, but the following
- functions already exist:</p>
+ Module authors can provide additional internal functions by registering
+ them with the <code>ap_register_rewrite_mapfunc</code> API.
+ The functions that are provided by default are:
+ </p>
<ul>
<li><strong>toupper</strong>:<br />
@@ -1050,12 +1078,21 @@ later</td></tr>
<dl>
<dt><code>inherit</code></dt>
- <dd>This forces the current configuration to inherit the
+ <dd>
+
+ <p>This forces the current configuration to inherit the
configuration of the parent. In per-virtual-server context,
this means that the maps, conditions and rules of the main
server are inherited. In per-directory context this means
that conditions and rules of the parent directory's
- <code>.htaccess</code> configuration are inherited.</dd>
+ <code>.htaccess</code> configuration are inherited.</p>
+
+ <div class="warning">
+ Rules inherited from the parent scope are applied
+ <strong>after</strong> rules specified in the child scope.
+ </div>
+
+ </dd>
</dl>
</div>
@@ -1071,40 +1108,84 @@ later</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
</table>
<p>The <code class="directive">RewriteRule</code> directive is the real
- rewriting workhorse. The directive can occur more than once,
+ rewriting workhorse. The directive can occur more than once,
with each instance defining a single rewrite rule. The
order in which these rules are defined is important - this is the order
in which they will be applied at run-time.</p>
<p><a id="patterns" name="patterns"><em>Pattern</em></a> is
a perl compatible <a id="regexp" name="regexp">regular
- expression</a>. On the first RewriteRule it is applied to the
+ expression</a>. On the first RewriteRule it is applied to the (%-decoded)
<a href="./directive-dict.html#Syntax">URL-path</a> of the request;
subsequent patterns are applied to the output of the last matched
RewriteRule.</p>
<div class="note"><h3>What is matched?</h3>
- <p>The <em>Pattern</em> will initially be matched against the part of the
- URL after the hostname and port, and before the query string. If you wish
- to match against the hostname, port, or query string, use a
+ <p>In <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> context,
+ The <em>Pattern</em> will initially be matched against the part of the
+ URL after the hostname and port, and before the query string (e.g. "/app1/index.html").</p>
+
+ <p>In <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> and htaccess context,
+ the <em>Pattern</em> will initially be matched against the
+ <em>filesystem</em> path, after removing the prefix that lead the server
+ to the current <code class="directive">RewriteRule</code> (e.g. "app1/index.html"
+ or "index.html" depending on where the directives are defined).</p>
+
+ <p>If you wish to match against the hostname, port, or query string, use a
<code class="directive"><a href="#rewritecond">RewriteCond</a></code> with the
<code>%{HTTP_HOST}</code>, <code>%{SERVER_PORT}</code>, or
<code>%{QUERY_STRING}</code> variables respectively.</p>
+
+</div>
+
+<div class="note"><h3>Per-directory Rewrites</h3>
+<ul>
+<li>The rewrite engine may be used in <a href="../howto/htaccess.html">.htaccess</a> files and in <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> sections, with some additional
+complexity.</li>
+
+<li>To enable the rewrite engine in this context, you need to set
+"<code>RewriteEngine On</code>" <strong>and</strong>
+"<code>Options FollowSymLinks</code>" must be enabled. If your
+administrator has disabled override of <code>FollowSymLinks</code> for
+a user's directory, then you cannot use the rewrite engine. This
+restriction is required for security reasons.</li>
+
+<li>When using the rewrite engine in <code>.htaccess</code> files the
+per-directory prefix (which always is the same for a specific
+directory) is automatically <em>removed</em> for the RewriteRule pattern matching
+and automatically <em>added</em> after any relative (not starting with a
+slash or protocol name) substitution encounters the end of a rule set.
+See the <code class="directive"><a href="#rewritebase">RewriteBase</a></code>
+directive for more information regarding what prefix will be added back to
+relative substutions.</li>
+
+<li> If you wish to match against the full URL-path in a per-directory
+(htaccess) RewriteRule, use the <code>%{REQUEST_URI}</code> variable in
+a <code class="directive">RewriteCond</code>.</li>
+
+<li>The removed prefix always ends with a slash, meaning the matching occurs against a string which
+<em>never</em> has a leading slash. Therefore, a <em>Pattern</em> with <code>^/</code> never
+matches in per-directory context.</li>
+
+<li>Although rewrite rules are syntactically permitted in <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> and <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code> sections, this
+should never be necessary and is unsupported.</li>
+</ul>
</div>
<p>For some hints on <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular
expressions</a>, see
- the <a href="../rewrite/rewrite_intro.html#regex">mod_rewrite
+ the <a href="../rewrite/intro.html#regex">mod_rewrite
Introduction</a>.</p>
- <p>In mod_rewrite, the NOT character
- ('<code>!</code>') is also available as a possible pattern
+ <p>In mod_rewrite, the NOT character
+ ('<code>!</code>') is also available as a possible pattern
prefix. This enables you to negate a pattern; to say, for instance:
``<em>if the current URL does <strong>NOT</strong> match this
pattern</em>''. This can be used for exceptional cases, where
it is easier to match the negative pattern, or as a last
default rule.</p>
+
<div class="note"><h3>Note</h3>
When using the NOT character to negate a pattern, you cannot include
grouped wildcard parts in that pattern. This is because, when the
@@ -1206,312 +1287,122 @@ cannot use <code>$N</code> in the substitution string!
<code>[QSA]</code> flag.</p>
</div>
-
- <p>Additionally you can set special <a name="rewriteflags" id="rewriteflags">actions</a> to be performed by
+ <p>Additionally you can set special <a name="rewriteflags" id="rewriteflags">actions</a> to be performed by
appending <strong><code>[</code><em>flags</em><code>]</code></strong>
as the third argument to the <code>RewriteRule</code>
- directive. <em>Flags</em> is a comma-separated list, surround by square
- brackets, of any of the following flags: </p>
-
- <dl>
- <dt>'<code>B</code>' (escape backreferences)</dt>
- <dd><p>Apache has to unescape URLs before mapping them,
- so backreferences will be unescaped at the time they are applied.
- Using the B flag, non-alphanumeric characters in backreferences
- will be escaped. For example, consider the rule:</p>
- <pre><code> RewriteRule ^(.*)$ index.php?show=$1 </code></pre>
- <p>This will map <code>/C++</code> to <code>index.php?show=/C++</code>.
- But it will also map <code>/C%2b%2b</code> to
- <code>index.php?show=/C++</code>, because the <code>%2b</code>
- has been unescaped. With the B flag, it will instead map to
- <code>index.php?show=/C%2b%2b</code>.</p>
- <p>This escaping is particularly necessary in a proxy situation,
- when the backend may break if presented with an unescaped URL.</p>
- </dd>
-
- <dt>'<code>chain|C</code>'
- (chained with next rule)</dt><dd>
- This flag chains the current rule with the next rule
- (which itself can be chained with the following rule,
- and so on). This has the following effect: if a rule
- matches, then processing continues as usual -
- the flag has no effect. If the rule does
- <strong>not</strong> match, then all following chained
- rules are skipped. For instance, it can be used to remove the
- ``<code>.www</code>'' part, inside a per-directory rule set,
- when you let an external redirect happen (where the
- ``<code>.www</code>'' part should not occur!).</dd>
-
- <dt>'<code>cookie|CO=</code><em>NAME</em>:<em>VAL</em>:<em>domain</em>[:<em>lifetime</em>[:<em>path</em>[:<em>secure</em>[:<em>httponly</em>]]]]'
- (set cookie)</dt><dd>
- This sets a cookie in the client's browser. The cookie's name
- is specified by <em>NAME</em> and the value is
- <em>VAL</em>. The <em>domain</em> field is the domain of the
- cookie, such as '.apache.org', the optional <em>lifetime</em>
- is the lifetime of the cookie in minutes, and the optional
- <em>path</em> is the path of the cookie. If <em>secure</em>
- is set to 'secure', 'true' or '1', the cookie is only transmitted via secured
- connections. If <em>httponly</em> is set to 'HttpOnly', 'true' or '1', the
- <code>HttpOnly</code> flag is used, making the cookie not accessible
- to JavaScript code on browsers that support this feature.</dd>
-
- <dt>'<code>discardpathinfo|DPI'
- (discard PATH_INFO)</code></dt><dd>
- <p>In per-directory context, the URI each <code class="directive">RewriteRule</code>
- compares against is the concatenation of the current values of the URI
- and PATH_INFO.</p>
-
- <p>The current URI can be the initial URI as requested by the client, the
- result of a previous round of mod_rewrite processing, or the result of
- a prior rule in the current round of mod_rewrite processing.</p>
-
- <p>In contrast, the PATH_INFO that is appended to the URI before each
- rule reflects only the value of PATH_INFO before this round of
- mod_rewrite processing. As a consequence, if large portions
- of the URI are matched and copied into a substitution in multiple
- <code class="directive">RewriteRule</code> directives, without regard for
- which parts of the URI came from the current PATH_INFO, the final
- URI may have multiple copies of PATH_INFO appended to it.</p>
-
- <p>Use this flag on any substitution where the PATH_INFO that resulted
- from the previous mapping of this request to the filesystem is not of
- interest. This flag permanently forgets the PATH_INFO established
- before this round of mod_rewrite processing began. PATH_INFO will
- not be recalculated until the current round of mod_rewrite processing
- completes. Subsequent rules during this round of processing will see
- only the direct result of substitutions, without any PATH_INFO
- appended.</p></dd>
-
- <dt>
- '<code>env|E=</code><em>VAR</em>[:<em>VAL</em>]'
- (set environment variable)</dt><dd>
- This forces an environment variable named <em>VAR</em> to
- be set. The value will be <em>VAL</em> if provided, where <em>VAL</em>
- can contain regexp backreferences (<code>$N</code> and
- <code>%N</code>) which will be expanded. You can use this
- flag more than once, to set more than one variable. The
- variables can later be dereferenced in many situations, most commonly
- from within XSSI (via <code>&lt;!--#echo
- var="VAR"--&gt;</code>) or CGI (<code>$ENV{'VAR'}</code>).
- You can also dereference the variable in a later RewriteCond pattern, using
- <code>%{ENV:VAR}</code>. Use this to strip
- information from URLs, while maintaining a record of that information.</dd>
-
- <dt>'<code>forbidden|F</code>' (force URL
- to be forbidden)</dt><dd>
- This forces the current URL to be forbidden - it immediately
- sends back a HTTP response of 403 (FORBIDDEN).
- Use this flag in conjunction with
- appropriate RewriteConds to conditionally block some
- URLs.</dd>
-
- <dt>'<code>gone|G</code>' (force URL to be
- gone)</dt><dd>
- This forces the current URL to be gone - it
- immediately sends back a HTTP response of 410 (GONE). Use
- this flag to mark pages which no longer exist as gone.</dd>
-
- <dt>
- '<code>handler|H</code>=<em>Content-handler</em>'
- (force Content handler)</dt><dd>
- Force the Content-handler of the target file to be
- <em>Content-handler</em>. For instance, this can be used to
- simulate the <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> directive
- <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>,
- which internally forces all files
- inside the mapped directory to have a handler of
- ``<code>cgi-script</code>''.</dd>
-
- <dt>'<code>last|L</code>'
- (last rule)</dt><dd> Stop the rewriting process
- here and don't apply any more rewrite rules. This corresponds
- to the Perl <code>last</code> command or the
- <code>break</code> command in C. Use this flag to prevent the
- currently rewritten URL from being rewritten further by
- following rules. Remember, however, that if the
- <code class="directive">RewriteRule</code> generates an internal
- redirect (which frequently occurs when rewriting in a
- per-directory context), this will reinject the request and
- will cause processing to be repeated starting from the first
- <code class="directive">RewriteRule</code>.</dd>
-
- <dt>'<code>next|N</code>'
- (next round)</dt><dd>
- Re-run the rewriting process (starting again with the
- first rewriting rule). This time, the URL to match is no longer
- the original URL, but rather the URL returned by the last rewriting rule.
- This corresponds to the Perl <code>next</code> command or
- the <code>continue</code> command in C. Use
- this flag to restart the rewriting process -
- to immediately go to the top of the loop.
- <strong>Be careful not to create an infinite
- loop!</strong></dd>
-
- <dt>'<code>nocase|NC</code>'
- (no case)</dt><dd>
- This makes the <em>Pattern</em> case-insensitive,
- ignoring difference between 'A-Z' and
- 'a-z' when <em>Pattern</em> is matched against the current
- URL.</dd>
-
- <dt>
- '<code>noescape|NE</code>'
- (no URI escaping of
- output)</dt><dd>
- This flag prevents mod_rewrite from applying the usual URI
- escaping rules to the result of a rewrite. Ordinarily,
- special characters (such as '%', '$', ';', and so on)
- will be escaped into their hexcode equivalents ('%25',
- '%24', and '%3B', respectively); this flag prevents this
- from happening. This allows percent symbols to appear in
- the output, as in
-<div class="example"><p><code>
- RewriteRule /foo/(.*) /bar?arg=P1\%3d$1 [R,NE]
-</code></p></div>
- which would turn '<code>/foo/zed</code>' into a safe
- request for '<code>/bar?arg=P1=zed</code>'.
- </dd>
-
- <dt>
- '<code>nosubreq|NS</code>'
- (not for internal
- sub-requests)</dt><dd>
- <p>This flag forces the rewriting engine to skip a
- rewriting rule if the current request is an internal
- sub-request. For instance, sub-requests occur internally
- in Apache when <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> tries to find out
- information about possible directory default files
- (<code>index.xxx</code> files). On sub-requests it is not
- always useful, and can even cause errors, if
- the complete set of rules are applied. Use this flag to
- exclude some rules.</p>
- <p>To decide whether or not to use this rule: if you
- prefix URLs with CGI-scripts, to force them to be
- processed by the CGI-script, it's likely that you
- will run into problems (or significant overhead) on
- sub-requests. In these cases, use this flag.</p>
- </dd>
-
- <dt>
- '<code>proxy|P</code>' (force
- proxy)</dt><dd>
- This flag forces the substitution part to be internally
- sent as a proxy request and immediately (rewrite
- processing stops here) put through the <a href="mod_proxy.html">proxy module</a>. You must make
- sure that the substitution string is a valid URI
- (typically starting with
- <code>http://</code><em>hostname</em>) which can be
- handled by the Apache proxy module. If not, you will get an
- error from the proxy module. Use this flag to achieve a
- more powerful implementation of the <a href="mod_proxy.html#proxypass">ProxyPass</a> directive,
- to map remote content into the namespace of the local
- server.
-
- <p>Note: <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> must be enabled in order
- to use this flag.</p>
- </dd>
-
- <dt>
- '<code>passthrough|PT</code>'
- (pass through to next
- handler)</dt><dd>
- This flag forces the rewrite engine to set the
- <code>uri</code> field of the internal
- <code>request_rec</code> structure to the value of the
- <code>filename</code> field. This flag is just a hack to
- enable post-processing of the output of
- <code>RewriteRule</code> directives, using
- <code>Alias</code>, <code>ScriptAlias</code>,
- <code>Redirect</code>, and other directives from
- various URI-to-filename translators. For example, to rewrite
- <code>/abc</code> to <code>/def</code> using
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, and then
- <code>/def</code> to <code>/ghi</code> using
- <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>:
-<div class="example"><p><code>
- RewriteRule ^/abc(.*) /def$1 [PT]<br />
- Alias /def /ghi
-</code></p></div>
- If you omit the <code>PT</code> flag,
- <code>mod_rewrite</code> will rewrite
- <code>uri=/abc/...</code> to
- <code>filename=/def/...</code> as a full API-compliant
- URI-to-filename translator should do. Then
- <code>mod_alias</code> will try to do a
- URI-to-filename transition, which will fail.
-
- <p>Note: <strong>You must use this flag if you want to
- mix directives from different modules which allow
- URL-to-filename translators</strong>. The typical example
- is the use of <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> and
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
-
- <p>The <code>PT</code> flag implies the <code>L</code> flag:
- rewriting will be stopped in order to pass the request to
- the next phase of processing.</p>
- </dd>
-
- <dt>'<code>qsappend|QSA</code>'
- (query string
- append)</dt><dd>
- This flag forces the rewrite engine to append a query
- string part of the substitution string to the existing string,
- instead of replacing it. Use this when you want to add more
- data to the query string via a rewrite rule.</dd>
-
- <dt>'<code>redirect|R</code>
- [=<em>code</em>]' (force <a id="redirect" name="redirect">redirect</a>)</dt><dd>
- <p>Prefix <em>Substitution</em> with
- <code>http://thishost[:thisport]/</code> (which makes the
- new URL a URI) to force a external redirection. If no
- <em>code</em> is given, a HTTP response of 302 (MOVED
- TEMPORARILY) will be returned. If you want to use other
- response codes, simply specify the appropriate number or use
- one of the following symbolic names: <code>temp</code>
- (default), <code>permanent</code>,
- <code>seeother</code>. Use this for rules to canonicalize
- the URL and return it to the client - to translate
- ``<code>/~</code>'' into ``<code>/u/</code>'', or to always
- append a slash to <code>/u/</code><em>user</em>, etc.<br />
- <strong>Note:</strong> When you use this flag, make sure
- that the substitution field is a valid URL! Otherwise, you
- will be redirecting to an invalid location. Remember that
- this flag on its own will only prepend
- <code>http://thishost[:thisport]/</code> to the URL, and
- rewriting will continue. Usually, you will want to stop
- rewriting at this point, and redirect immediately. To stop
- rewriting, you should add the 'L' flag.</p>
- <p>While this is typically used for redirects, any valid status
- code can be given here. If the status code is outside the redirect
- range (300-399), then the <em>Substitution</em> string is dropped
- and rewriting is stopped as if the <code>L</code> flag was
- used.</p>
- </dd>
-
- <dt>'<code>skip|S</code>=<em>num</em>'
- (skip next rule(s))</dt><dd>
- This flag forces the rewriting engine to skip the next
- <em>num</em> rules in sequence, if the current rule
- matches. Use this to make pseudo if-then-else constructs:
- The last rule of the then-clause becomes
- <code>skip=N</code>, where N is the number of rules in the
- else-clause. (This is <strong>not</strong> the same as the
- 'chain|C' flag!)</dd>
-
- <dt>
- '<code>type|T</code>=<em>MIME-type</em>'
- (force MIME type)</dt><dd>
- Force the <a class="glossarylink" href="../glossary.html#mime-type" title="see glossary">MIME-type</a> of the target file to be
- <em>MIME-type</em>. This can be used to
- set up the content-type based on some conditions.
- For example, the following snippet allows <code>.php</code> files to
- be <em>displayed</em> by <code>mod_php</code> if they are called with
- the <code>.phps</code> extension:
- <div class="example"><p><code>
- RewriteRule ^(.+\.php)s$ $1 [T=application/x-httpd-php-source]
- </code></p></div>
- </dd>
- </dl>
+ directive. <em>Flags</em> is a comma-separated list, surround by square
+ brackets, of any of the flags in the following table. More
+ details, and examples, for each flag, are available in the <a href="../rewrite/flags.html">Rewrite Flags document</a>.</p>
+
+ <table class="bordered">
+ <tr><th>Flag and syntax</th>
+ <th>Function</th>
+ </tr>
+ <tr>
+ <td>B</td>
+ <td>Escape non-alphanumeric characters <em>before</em> applying
+ the transformation. <em><a href="../rewrite/flags.html#flag_b">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>chain|C</td>
+ <td>Rule is chained to the following rule. If the rule fails,
+ the rule(s) chained to it will be skipped. <em><a href="../rewrite/flags.html#flag_c">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>cookie|CO=<em>NAME</em>:<em>VAL</em></td>
+ <td>Sets a cookie in the client browser. Full syntax is:
+ CO=<em>NAME</em>:<em>VAL</em>:<em>domain</em>[:<em>lifetime</em>[:<em>path</em>[:<em>secure</em>[:<em>httponly</em>]]]] <em><a href="../rewrite/flags.html#flag_co">details ...</a></em>
+ </td>
+ </tr>
+ <tr>
+ <td>discardpath|DPI</td>
+ <td>Causes the PATH_INFO portion of the rewritten URI to be
+ discarded. <em><a href="../rewrite/flags.html#flag_dpi">details
+ ...</a></em></td>
+ </tr>
+ <tr>
+ <td>env|E=[!]<em>VAR</em>[:<em>VAL</em>]</td>
+ <td>Causes an environment variable <em>VAR</em> to be set (to the
+ value <em>VAL</em> if provided). The form !<em>VAR</em> causes
+ the environment variable <em>VAR</em> to be unset.<em><a href="../rewrite/flags.html#flag_e">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>forbidden|F</td>
+ <td>Returns a 403 FORBIDDEN response to the client browser.
+ <em><a href="../rewrite/flags.html#flag_f">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>gone|G</td>
+ <td>Returns a 410 GONE response to the client browser. <em><a href="../rewrite/flags.html#flag_g">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>Handler|H=<em>Content-handler</em></td>
+ <td>Causes the resulting URI to be sent to the specified
+ <em>Content-handler</em> for processing. <em><a href="../rewrite/flags.html#flag_h">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>last|L</td>
+ <td>Stop the rewriting process immediately and don't apply any
+ more rules. Especially note caveats for per-directory and
+ .htaccess context (see also the END flag). <em><a href="../rewrite/flags.html#flag_l">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>next|N</td>
+ <td>Re-run the rewriting process, starting again with the first
+ rule, using the result of the ruleset so far as a starting
+ point. <em><a href="../rewrite/flags.html#flag_n">details
+ ...</a></em></td>
+ </tr>
+ <tr>
+ <td>nocase|NC</td>
+ <td>Makes the pattern pattern comparison case-insensitive.
+ <em><a href="../rewrite/flags.html#flag_nc">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>noescape|NE</td>
+ <td>Prevent mod_rewrite from applying hexcode escaping of
+ special characters in the result of the rewrite. <em><a href="../rewrite/flags.html#flag_ne">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>nosubreq|NS</td>
+ <td>Causes a rule to be skipped if the current request is an
+ internal sub-request. <em><a href="../rewrite/flags.html#flag_ns">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>proxy|P</td>
+ <td>Force the substitution URL to be internally sent as a proxy
+ request. <em><a href="../rewrite/flags.html#flag_p">details
+ ...</a></em></td>
+ </tr>
+ <tr>
+ <td>passthrough|PT</td>
+ <td>Forces the resulting URI to be passed back to the URL
+ mapping engine for processing of other URI-to-filename
+ translators, such as <code>Alias</code> or
+ <code>Redirect</code>. <em><a href="../rewrite/flags.html#flag_pt">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>qsappend|QSA</td>
+ <td>Appends any query string created in the rewrite target to
+ any query string that was in the original request URL. <em><a href="../rewrite/flags.html#flag_qsa">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>redirect|R[=<em>code</em>]</td>
+ <td>Forces an external redirect, optionally with the specified
+ HTTP status code. <em><a href="../rewrite/flags.html#flag_r">details ...</a></em>
+ </td>
+ </tr>
+ <tr>
+ <td>skip|S=<em>num</em></td>
+ <td>Tells the rewriting engine to skip the next <em>num</em>
+ rules if the current rule matches. <em><a href="../rewrite/flags.html#flag_s">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>type|T=<em>MIME-type</em></td>
+ <td>Force the <a class="glossarylink" href="../glossary.html#mime-type" title="see glossary">MIME-type</a> of the target file
+ to be the specified type. <em><a href="../rewrite/flags.html#flag_t">details ...</a></em></td>
+ </tr>
+ </table>
<div class="note"><h3>Home directory expansion</h3>
<p> When the substitution string begins with a string
@@ -1524,40 +1415,6 @@ flag is used on the <code class="directive"><a href="#rewriterule">RewriteRule</
directive.</p>
</div>
-<div class="note"><h3>Per-directory Rewrites</h3>
-
-<p>The rewrite engine may be used in <a href="../howto/htaccess.html">.htaccess</a> files. To enable the
-rewrite engine for these files you need to set
-"<code>RewriteEngine On</code>" <strong>and</strong>
-"<code>Options FollowSymLinks</code>" must be enabled. If your
-administrator has disabled override of <code>FollowSymLinks</code> for
-a user's directory, then you cannot use the rewrite engine. This
-restriction is required for security reasons.</p>
-
-<p>When using the rewrite engine in <code>.htaccess</code> files the
-per-directory prefix (which always is the same for a specific
-directory) is automatically <em>removed</em> for the pattern matching
-and automatically <em>added</em> after the substitution has been
-done. This feature is essential for many sorts of rewriting; without
-this, you would always have to match the parent directory, which is
-not always possible. There is one exception: If a substitution string
-starts with <code>http://</code>, then the directory prefix will
-<strong>not</strong> be added, and an external redirect (or proxy
-throughput, if using flag <strong>P</strong>) is forced. See the
-<code class="directive"><a href="#rewritebase">RewriteBase</a></code> directive for
-more information.</p>
-
-<p>The rewrite engine may also be used in <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> sections with the same
-prefix-matching rules as would be applied to <code>.htaccess</code>
-files. It is usually simpler, however, to avoid the prefix substitution
-complication by putting the rewrite rules in the main server or
-virtual host context, rather than in a <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> section.</p>
-
-<p>Although rewrite rules are syntactically permitted in <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> sections, this
-should never be necessary and is unsupported.</p>
-
-</div>
-
<p>Here are all possible substitution combinations and their
meanings:</p>
@@ -1647,8 +1504,9 @@ should never be necessary and is unsupported.</p>
</div>
</div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/mod/mod_rewrite.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/mod/mod_rewrite.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_rewrite.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_rewrite.html.fr b/docs/manual/mod/mod_rewrite.html.fr
new file mode 100644
index 00000000..939cbe7b
--- /dev/null
+++ b/docs/manual/mod/mod_rewrite.html.fr
@@ -0,0 +1,1642 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_rewrite - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_rewrite</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_rewrite.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_rewrite.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Ce module fournit un moteur de réécriture à base de
+règles permettant de réécrire les URLs des requêtes
+à la volée</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>rewrite_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_rewrite.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 1.3
+d'Apache</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Ce module utilise un moteur de réécriture à base de règles
+ (basé sur un interpréteur d'expressions rationnelles) pour
+ réécrire les URLs des requêtes à la volée. Il accepte un nombre
+ illimité de règles, ainsi q'un nombre illimité de conditions
+ attachées à chaque règle, fournissant ainsi un mécanisme de
+ manipulation d'URL vraiment souple et puissant. Les manipulations
+ d'URL peuvent dépendre de nombreux tests, des variables du
+ serveur, des variables d'environnement, des en-têtes HTTP ou de
+ l'horodatage. On peut même lancer des requêtes vers une base de
+ données externe sous divers formats, afin d'obtenir une
+ sélection d'URL très fine.</p>
+
+ <p>Ce module agit sur l'ensemble de l'URL (la partie concernant
+ le chemin incluse) au niveau du serveur
+ (<code>httpd.conf</code>) mais aussi au niveau du répertoire
+ (<code>.htaccess</code>), et peut générer des parties de chaîne
+ de requête comme résultat. Le résultat de la réécriture peut
+ renvoyer vers un sous-traitement interne, une redirection vers
+ une requête externe, ou même vers le flux d'un proxy interne.</p>
+
+ <p>Vous trouverez d'avantage de détails, discussions et exemples
+ dans la
+ <a href="../rewrite/">documentation détaillée
+ sur mod_rewrite</a>.</p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritebase">RewriteBase</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritecond">RewriteCond</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewriteengine">RewriteEngine</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritelock">RewriteLock</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritelog">RewriteLog</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewriteloglevel">RewriteLogLevel</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritemap">RewriteMap</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewriteoptions">RewriteOptions</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewriterule">RewriteRule</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#quoting">Marquage des caractères spéciaux</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#EnvVar">Variables d'environnement</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#vhosts">Réécriture et hôtes virtuels</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#Solutions">Solutions pratiques</a></li>
+</ul><h3>Voir aussi</h3>
+<ul class="seealso">
+<li><a href="#rewriteflags">Drapeaux des règles de réécriture</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="quoting" id="quoting">Marquage des caractères spéciaux</a></h2>
+
+ <p>Depuis Apache 1.3.20, les caractères spéciaux dans les
+ <em>chaînes de test</em> et les chaînes de <em>Substitution</em>
+ peuvent être échappés (c'est à dire traités comme des caractères
+ normaux sans tenir compte de leur signification en tant que
+ caractère spécial), en les faisant précéder d'un caractère
+ anti-slash ('\'). En d'autres termes, vous pouvez inclure un
+ véritable signe "dollar" dans une chaîne de <em>Substitution</em>
+ en utilisant '<code>\$</code>' ; ceci empêche mod_rewrite de le
+ traiter comme une référence arrière.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="EnvVar" id="EnvVar">Variables d'environnement</a></h2>
+
+ <p>Ce module conserve le contenu de deux variables d'environnement
+ CGI/SSI additionnelles (non standards) nommées
+ <code>SCRIPT_URL</code> et <code>SCRIPT_URI</code>. Celles-ci
+ contiennent l'adresse <em>logique</em> vue du Web
+ de la ressource concernée, tandis que les variables CGI/SSI
+ standards <code>SCRIPT_NAME</code> et
+ <code>SCRIPT_FILENAME</code> contiennent l'adresse
+ <em>physique</em> de la ressource vue du système. </p>
+
+ <p>Note : ces variables conservent l'URI/URL <em>telle qu'elle
+ était à l'arrivée de la requête</em>, c'est à dire
+ <em>avant</em> tout processus de réécriture. Il est important de
+ le savoir car le processus de réécriture est principalement
+ utilisé pour réécrire des URLs logiques en chemins physiques.</p>
+
+<div class="example"><h3>Exemple</h3><pre>
+SCRIPT_NAME=/sw/lib/w3s/tree/global/u/rse/.www/index.html
+SCRIPT_FILENAME=/u/rse/.www/index.html
+SCRIPT_URL=/u/rse/
+SCRIPT_URI=http://en1.engelschall.com/u/rse/
+</pre></div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="vhosts" id="vhosts">Réécriture et hôtes virtuels</a></h2>
+
+ <p>Par défaut, les hôtes virtuels n'héritent pas de la
+ configuration de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> telle qu'elle est
+ définie dans le contexte du serveur principal. Pour que la
+ configuration du serveur principal s'applique aux hôtes virtuels,
+ vous devez insérez les directives suivantes dans chaque section
+ <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> :</p>
+
+ <div class="example"><p><code>
+ RewriteEngine On<br />
+ RewriteOptions Inherit
+ </code></p></div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="Solutions" id="Solutions">Solutions pratiques</a></h2>
+
+ <p>Vous trouverez de nombreux exemples d'utilisation courante (et
+ moins courante) de mod_rewrite dans la <a href="../rewrite/">documentation spécifique à la réécriture.</a></p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RewriteBase" id="RewriteBase">RewriteBase</a> <a name="rewritebase" id="rewritebase">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'URL de base pour les réécritures au niveau
+répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteBase <em>chemin URL</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir utilisation pour plus d'informations.</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
+</table>
+ <p>La directive <code class="directive">RewriteBase</code> définit
+ explicitement l'URL de base pour les réécritures au niveau du
+ répertoire. Comme vous le verrez plus loin, la directive
+ <code class="directive"><a href="#rewriterule">RewriteRule</a></code> peut
+ être utilisée dans les fichiers de configuration au niveau du
+ répertoire (<code>.htaccess</code>). Elle agit alors localement,
+ en amputant le répertoire local de son préfixe avant traitement,
+ et en n'appliquant les règles de réécriture que sur ce qui reste
+ de l'URL. Lorsque le traitement est terminé, le préfixe est
+ automatiquement rajouté à l'URL. La valeur par défaut est
+ <code class="directive">RewriteBase</code>
+ <em>chemin répertoire physique</em></p>
+
+ <p>Lorsqu'une substitution intervient pour une nouvelle URL, ce
+ module doit réinjecté l'URL dans le traitement du serveur. Pour
+ y parvenir, il doit connaître le préfixe de l'URL ou l'URL de
+ base correspondants. Par défaut, le préfixe est le chemin du
+ fichier correspondant lui-même. <strong>Cependant, pour la
+ plupart des sites web, les URLs ne correspondent PAS directement
+ aux chemins des fichiers physiques, cette assertion s'avère
+ ainsi souvent fausse !</strong>. C'est pourquoi vous pouvez
+ utiliser la directive <code>RewriteBase</code> pour spécifier
+ le préfixe correct.</p>
+
+<div class="note"> Si les URLs de votre serveur web ne correspondent
+<strong>pas</strong> directement aux chemins physiques des fichiers,
+vous devrez utiliser <code class="directive">RewriteBase</code> dans chaque
+fichier <code>.htaccess</code> où vous voudrez utiliser des
+directives <code class="directive"><a href="#rewriterule">RewriteRule</a></code>.
+</div>
+
+ <p> Par exemple, considérons le fichier de configuration de
+ répertoire suivant :</p>
+
+<div class="example"><pre>
+#
+# /abc/def/.htaccess -- fichier de configuration pour le répertoire
+/abc/def
+# Rappel : /abc/def est le chemin physique de /xyz,
+# <em>ce qui veut dire</em> que la configuration du serveur comporte
+# une directive du style 'Alias /xyz /abc/def'.
+#
+
+RewriteEngine On
+
+# faisons savoir au serveur qu'on nous a atteint via /xyz et non par
+# le chemin physique /abc/def
+RewriteBase /xyz
+
+# maintenant les règles de réécriture
+RewriteRule ^avant\.html$ après.html
+</pre></div>
+
+ <p>Dans l'exemple précédent, une requête pour
+ <code>/xyz/avant.html</code> sera correctement réécrite sous
+ sous sa forme chemin physique
+ <code>/abc/def/après.html</code>.</p>
+
+<div class="note"><h3>Pour les hackers d'Apache</h3>
+<p>La liste suivante fournit des informations détaillées à propos des
+étapes du traitement interne :</p>
+<pre>
+Requête :
+ /xyz/avant.html
+
+Traitement interne :
+ /xyz/avant.html -&gt; /abc/def/avant.html (Alias au niveau serveur)
+ /abc/def/avant.html -&gt; /abc/def/après.html (RewriteRule au niveau répertoire)
+ /abc/def/après.html -&gt; /xyz/après.html (RewriteBase au niveau répertoire)
+ /xyz/après.html -&gt; /abc/def/après.html (Alias au niveau serveur)
+
+Résultat :
+ /abc/def/après.html
+
+</pre>
+ <p>Tout ceci paraît très compliqué, mais correspond
+ réellement au traitement interne d'Apache. Comme la
+ réécriture au niveau du répertoire intervient plus tard
+ au cours du traitement, la requête de réécriture doit être
+ réinjectée dans le noyau d'Apache, comme s'il s'agissait
+ d'une nouvelle requête (Voir les <a href="../rewrite/tech.html">détails techniques à
+ propos de mod_rewrite</a>). La surcharge
+ correspondante n'est pas aussi importante qu'il n'y
+ paraît, car la réinjection est entièrement prise en charge
+ en interne par Apache (comme c'est d'ailleurs le cas pour
+ de nombreuses autres opérations effectuées à l'intérieur
+ d'Apache).</p>
+</div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RewriteCond" id="RewriteCond">RewriteCond</a> <a name="rewritecond" id="rewritecond">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une condition qui devra être satisfaite pour que
+la réécriture soit effectuée
+</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> RewriteCond
+ <em>chaîne de test</em> <em>expression de comparaison</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
+</table>
+ <p>La directive <code class="directive">RewriteCond</code> définit une
+ condition d'application d'une certaine règle. Une ou plusieurs
+ directives <code class="directive">RewriteCond</code> peuvent précéder
+ une directive
+ <code class="directive"><a href="#rewriterule">RewriteRule</a></code>. La règle
+ qui suit n'est appliquée que si l'état actuel de l'URI
+ correspond à son modèle, <strong>et</strong> si les conditions sont satisfaites.</p>
+
+ <p><em>chaîne de test</em> est une chaîne de caractères qui peut
+ contenir, en plus du plein texte, les constructions étendues
+ suivantes :</p>
+
+ <ul>
+ <li>
+ <strong>références arrières de règle de réécriture</strong> :
+ ce sont des références arrières de la forme
+ <strong><code>$N</code></strong> (0 &lt;= N &lt;= 9), qui
+ donnent accès aux parties groupées (entre parenthèses) du
+ modèle tiré de la <code>RewriteRule</code> assujettie au
+ jeu de conditions concerné.
+ </li>
+ <li>
+ <strong>Références arrières de condition de réécriture
+ </strong> : ce sont des références arrières de la forme
+ <strong><code>%N</code></strong> (1 &lt;= N &lt;= 9), qui
+ donnent accès aux parties groupées (là aussi entre
+ parenthèses) du modèle de la dernière condition satisfaite
+ du jeu de conditions concerné.
+ </li>
+ <li>
+ <strong>extensions de table de réécriture</strong> :
+ ce sont des extensions de la forme <strong><code>${nomTable:clé|défaut}</code></strong>. Voir
+ <a href="#mapfunc">la documentation de
+ RewriteMap</a> pour plus de détails.
+ </li>
+ <li>
+ <strong>Variables du serveur</strong> :
+ ce sont des variables de la forme
+ <strong><code>%{</code> <em>NOM_DE_VARIABLE</em>
+ <code>}</code></strong>
+ <strong><code>%{</code> <em>NOM_DE_VARIABLE</em>
+ <code>}</code></strong> où <em>NOM_DE_VARIABLE</em>
+ peut être une chaîne de caractères faisant partie de la
+ liste suivante :
+
+ <table>
+
+ <tr>
+ <th>En-têtes HTTP :</th> <th>connexion &amp; requête:</th> <th />
+ </tr>
+
+ <tr>
+ <td>
+ HTTP_USER_AGENT<br />
+ HTTP_REFERER<br />
+ HTTP_COOKIE<br />
+ HTTP_FORWARDED<br />
+ HTTP_HOST<br />
+ HTTP_PROXY_CONNECTION<br />
+ HTTP_ACCEPT<br />
+ </td>
+
+ <td>
+ REMOTE_ADDR<br />
+ REMOTE_HOST<br />
+ REMOTE_PORT<br />
+ REMOTE_USER<br />
+ REMOTE_IDENT<br />
+ REQUEST_METHOD<br />
+ SCRIPT_FILENAME<br />
+ PATH_INFO<br />
+ QUERY_STRING<br />
+ AUTH_TYPE<br />
+ </td>
+
+ <td />
+ </tr>
+
+ <tr>
+ <th>variables internes au serveur :</th> <th>date et heure :</th> <th>spéciaux :</th>
+ </tr>
+
+ <tr>
+ <td>
+ DOCUMENT_ROOT<br />
+ SERVER_ADMIN<br />
+ SERVER_NAME<br />
+ SERVER_ADDR<br />
+ SERVER_PORT<br />
+ SERVER_PROTOCOL<br />
+ SERVER_SOFTWARE<br />
+ </td>
+
+ <td>
+ TIME_YEAR<br />
+ TIME_MON<br />
+ TIME_DAY<br />
+ TIME_HOUR<br />
+ TIME_MIN<br />
+ TIME_SEC<br />
+ TIME_WDAY<br />
+ TIME<br />
+ </td>
+
+ <td>
+ API_VERSION<br />
+ THE_REQUEST<br />
+ REQUEST_URI<br />
+ REQUEST_FILENAME<br />
+ IS_SUBREQ<br />
+ HTTPS<br />
+ </td>
+ </tr>
+ </table>
+
+ <p>Toutes ces variables correspondent nom pour nom aux
+ en-têtes MIME HTTP, aux variables C du serveur Apache
+ ou aux champs <code>struct tm</code> du système Unix.
+ La plupart sont documentées dans une autre partie du
+ manuel ou dans la spécification CGI.</p>
+
+ <p>SERVER_NAME et SERVER_PORT dépendent respectivement
+ des valeurs des directives <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> et <code class="directive"><a href="../mod/core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code>.</p>
+
+ <p>Parmi les variables
+ spécifiques à mod_rewrite, ou trouve les suivantes :</p>
+ <div class="note">
+ <dl>
+ <dt><code>IS_SUBREQ</code></dt>
+
+ <dd>Contiendra le texte "true" si la requête en cours
+ de traitement est une sous-requête, "false" dans le
+ cas contraire. Une sous-requête est générée quand un
+ module a besoin de se référer à des fichiers ou URIs
+ addidionnels pour pouvoir mener à bien sa tâche.</dd>
+
+ <dt><code>API_VERSION</code></dt>
+
+ <dd>Il s'agit de la version de l'API des modules
+ Apache (l'interface interne entre le serveur et les
+ modules) dans la construction actuelle de httpd,
+ telle qu'elle est définie dans include/ap_mmn.h. La
+ version de l'API des modules correspond à la version
+ d'Apache utilisée (pour Apache 1.3.14, par exemple,
+ la version de l'API sera 19990320:10), mais cette
+ information intéresse principalement les
+ développeurs de modules.</dd>
+
+ <dt><code>THE_REQUEST</code></dt>
+
+ <dd>La ligne de requête HTTP complète envoyée par le
+ navigateur au serveur (par exemple, "<code>GET
+ /index.html HTTP/1.1</code>"), à l'exclusion de tout
+ en-tête ajouté par le navigateur. Cette
+ valeur n'a pas été déséchappée (décodée), à la
+ différence de la plupart des variables suivantes.</dd>
+
+ <dt><code>REQUEST_URI</code></dt>
+
+ <dd>La ressource demandée dans la ligne de requête
+ HTTP (correspondrait, dans l'exemple précédent, à
+ "/index.html").</dd>
+
+ <dt><code>REQUEST_FILENAME</code></dt>
+
+ <dd>Le chemin complet local au système de fichiers
+ du fichier ou du script correspondant
+ à la requête, s'il a déjà été déterminé par le serveur
+ au moment où on y fait référence. Dans le cas
+ contraire, et en particulier dans le cas d'un serveur
+ virtuel, <code>REQUEST_FILENAME</code> contient la
+ valeur de <code>REQUEST_URI</code>.</dd>
+
+ <dt><code>HTTPS</code></dt>
+
+ <dd>Contiendra le texte "on" si la connexion
+ utilise SSL/TLS, "off" dans le cas contraire
+ (L'utilisation de cette variable est pertinente,
+ indépendamment du fait que <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>
+ soit chargé ou non).</dd>
+
+ </dl>
+</div>
+ </li>
+ </ul>
+
+ <p>Autres points à connaître :</p>
+
+ <ol>
+ <li><p>Les variables SCRIPT_FILENAME et REQUEST_FILENAME ont la
+ même valeur - celle du champ <code>filename</code> de la
+ structure interne du serveur Apache <code>request_rec</code>.
+ Le premier nom est bien connu en tant que variable CGI,
+ alors que le second est équivalent à REQUEST_URI (qui contient
+ la valeur du champ <code>uri</code> de la structure
+ <code>request_rec</code>).</p>
+ <p>Si une substitution survient, et si la réécriture se
+ poursuit, la valeur des deux variables est mise à jour en
+ conséquence.</p>
+ <p>Dans un contexte de serveur principal (c'est à dire avant que
+ la requête n'ait été mise en relation avec le système de
+ fichiers), SCRIPT_FILENAME et REQUEST_FILENAME ne peuvent pas
+ contenir le chemin local entier dans le système de fichiers, car
+ celui-ci n'a pas encore été déterminé à ce stade du traitement.
+ Les deux variables contiennent alors la valeur de REQUEST_URI.
+ Pour obtenir le chemin local entier associé à la requête dans le
+ système de fichiers
+ dans un contexte de serveur principal, utilisez une recherche
+ avant <code>%{LA-U:REQUEST_FILENAME}</code> pour déterminer la
+ valeur finale de REQUEST_FILENAME.</p></li>
+
+
+ <li>On peut aussi utiliser <code>%{ENV:variable}</code>, où
+ <em>variable</em> peut être remplacé par toute variable
+ d'environnement. Ces variables sont recherchées dans les
+ structures internes d'Apache, et (si elles n'y figurent pas)
+ via <code>getenv()</code> depuis le processus du serveur
+ Apache.</li>
+
+ <li>Que <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> soit chargé ou non, on peut
+ utiliser <code>%{SSL:variable}</code>, où <em>variable</em>
+ peut être remplacé par le nom d'une
+ <a href="mod_ssl.html#envvars">variable
+ d'environnement SSL</a>, mais la valeur produite sera toujours
+ une chaîne de caractères vide si <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> n'est
+ pas chargé. Exemple :
+ <code>%{SSL:SSL_CIPHER_USEKEYSIZE}</code> peut correspondre
+ à <code>128</code>.</li>
+
+ <li>Pour obtenir la valeur d'un en-tête contenu dans une requête
+ HTTP, on peut toujours utiliser <code>%{HTTP:header}</code>,
+ où <em>header</em> peut être remplacé par tout nom d'en-tête
+ MIME HTTP. Exemple : <code>%{HTTP:Proxy-Connection}</code> est
+ la valeur de l'en-tête HTTP ``<code>Proxy-Connection:</code>''.
+ <p>Si une condition contient un en-tête HTTP, il est ajouté à
+ l'en-tête Vary de la réponse dans le cas où la condition est
+ évaluée à true pour la requête. Dans le cas contraire, il n'est
+ <strong>pas</strong> ajouté. L'ajout de l'en-tête HTTP à
+ l'en-tête Vary de la réponse s'avère nécessaire pour une mise
+ en cache correcte.</p>
+ <p>Il faut garder à l'esprit que les conditions suivent une
+ logique de court-circuit en cas de présence du drapeau
+ '<strong><code>ornext|OR</code></strong>', si bien que
+ certaines d'entre elles sont susceptibles de ne pas être
+ évaluées du tout.</p></li>
+
+ <li>On peut utiliser <code>%{LA-U:variable}</code> pour les
+ recherches en avant qui effectuent une sous-requête interne
+ (basée sur l'URL), pour déterminer la valeur finale de
+ <em>variable</em>. Cela peut servir à accéder à une variable
+ (nécessaire pour une réécriture) qui n'est pas disponible dans
+ la situation présente, mais le sera dans une phase ultérieure.
+ <p>Par exemple, pour effectuer une réécriture qui tient compte
+ de la variable <code>REMOTE_USER</code> dans un contexte
+ niveau serveur (fichier <code>httpd.conf</code>), vous devez
+ utiliser <code>%{LA-U:REMOTE_USER}</code> ; cette variable est
+ définie au cours des phases d'autorisation, qui interviennent
+ <em>après</em> la phase de traduction de l'URL (pendant
+ laquelle agit mod_rewrite).</p>
+ <p>Par contre, comme mod_rewrite implémente son contexte
+ niveau répertoire (fichier <code>.htaccess</code>) via la
+ phase Fixup de l'API, et comme les phases d'autorisation
+ interviennent <em>avant</em> cette phase, vous ne pouvez
+ utiliser <code>%{REMOTE_USER}</code> que
+ dans le contexte niveau serveur.</p></li>
+
+ <li>On peut utiliser <code>%{LA-F:variable}</code> pour
+ effectuer une sous-requête interne (basée sur un nom de
+ fichier), pour déterminer la valeur finale de
+ <em>variable</em>. La plupart du temps, elle est identique à
+ LA-U vue précédemment.</li>
+ </ol>
+
+ <p><em>expression de comparaison</em> est une expression
+ rationnelle qui est appliquée à l'instance actuelle de
+ <em>chaîne de test</em>. <em>chaîne de test</em> est d'abord
+ évaluée, puis comparée à
+ l'<em>expression de comparaison</em>.</p>
+
+ <p><strong>A savoir :</strong>
+ <em>expression de comparaison</em> est une
+ <em>expression rationnelle compatible perl</em> avec
+ quelques extensions :</p>
+
+ <ol>
+ <li>Vous pouvez préfixer l'expression avec un caractère
+ '<code>!</code>' (point d'exclamation) pour indiquer une
+ expression de <strong>non</strong>-correspondance.</li>
+
+ <li>Il existe certaines variantes spéciales
+ d'<em>expressions de comparaison</em>. A la place d'une
+ expression rationnelle, vous pouvez utiliser :
+
+ <ul>
+ <li>'<strong>&lt;expression</strong>' (inférieur au sens
+ lexicographique)<br />
+ Traite l'<em>expression</em> comme une chaîne de
+ caractères et la compare lexicographiquement à
+ <em>chaîne de test</em>. La condition est satisfaite si
+ <em>chaîne de test</em> est inférieure au sens
+ lexicographique à l'<em>expression</em>.</li>
+
+ <li>'<strong>&gt;expression</strong>' (supérieur au sens
+ lexicographique)<br />
+ Traite l'<em>expression</em> comme une chaîne de
+ caractères et la compare lexicographiquement à
+ <em>chaîne de test</em>. La condition est satisfaite si
+ <em>chaîne de test</em> est supérieure au sens
+ lexicographique à l'<em>expression</em>.</li>
+
+ <li>'<strong>&gt;expression</strong>' (égal au sens
+ lexicographique)<br />
+ Traite l'<em>expression</em> comme une chaîne de
+ caractères et la compare lexicographiquement à
+ <em>chaîne de test</em>. La condition est satisfaite si
+ <em>chaîne de test</em> est égale au sens
+ lexicographique à l'<em>expression</em> (les deux chaînes
+ sont exactement identiques, caractère pour caractère). Si
+ <em>expression</em> est <code>""</code> (deux guillemets),
+ <em>chaîne de test</em> est comparée à la chaîne vide.</li>
+
+ <li>'<strong>-d</strong>' (est un
+ <strong>r</strong>épertoire)<br />
+ Traite <em>chaîne de test</em> comme un chemin et vérifie
+ s'il existe ou pas, et s'il s'agit d'un répertoire.</li>
+
+ <li>'<strong>-f</strong>' (est un
+ <strong>f</strong>ichier régulier)<br />
+ Traite <em>chaîne de test</em> comme un chemin et vérifie
+ s'il existe ou pas, et s'il s'agit d'un fichier régulier.</li>
+
+ <li>'<strong>-s</strong>' (est un fichier régulier d'une
+ certaine <strong>t</strong>aille)<br />
+ Traite <em>chaîne de test</em> comme un chemin et vérifie
+ s'il existe ou pas, et s'il s'agit d'un fichier régulier
+ dont la taille est supérieure à zéro.</li>
+
+ <li>'<strong>-l</strong>' (est un
+ <strong>l</strong>ien symbolique)<br />
+ Traite <em>chaîne de test</em> comme un chemin et vérifie
+ s'il existe ou pas, et s'il s'agit d'un lien
+ symbolique.</li>
+
+ <li>'<strong>-x</strong>' (a le droit
+ d'e<strong>x</strong>écussion)<br />
+ Traite <em>chaîne de test</em> comme un chemin et vérifie
+ s'il existe ou pas, et a le droit d'exécution. Ce droit est
+ déterminé en accord avec le système d'exploitation
+ sous-jacent.</li>
+
+ <li>'<strong>-F</strong>' (test de l'existence d'un fichier
+ via une sous-requête)<br />
+ Vérifie si <em>chaîne de test</em> est un fichier valide,
+ accessible à travers tous les contrôles d'accès du serveur
+ actuellement configurés pour ce chemin. C'est une
+ sous-requête interne qui effectue cette vérification - à
+ utiliser avec précautions car les performances du serveur
+ peuvent s'en trouver affectées !</li>
+
+ <li>'<strong>-U</strong>' (yesy de l'existence d'une URL
+ via une sous-requête)<br />
+ Vérifie si <em>chaîne de test</em> est une URL valide,
+ accessible à travers tous les contrôles d'accès du serveur
+ actuellement configurés pour ce chemin. C'est une
+ sous-requête interne qui effectue cette vérification - à
+ utiliser avec précautions car les performances du serveur
+ peuvent s'en trouver affectées !</li>
+ </ul>
+
+<div class="note"><h3>Note :</h3>
+ Tous ces tests peuvent aussi être préfixés par un point
+ d'exclamation ('!') pour inverser leur signification.
+</div>
+ </li>
+
+ <li>Vous pouvez aussi définir certains drapeaux pour
+ l'<em>expression de comparaison</em> en ajoutant ces
+ <strong><code>[</code><em>drapeaux</em><code>]</code></strong>
+ comme troisième argument de la directive
+ <code>RewriteCond</code>, où <em>drapeaux</em> est un
+ sous-ensemble séparé par des virgules des drapeaux suivants :
+
+ <ul>
+ <li>'<strong><code>nocase|NC</code></strong>'
+ (<strong>n</strong>o <strong>c</strong>ase)<br />
+ Rend le test insensible à la casse - il n'est pas fait de
+ distinction entre majuscules et minuscules, à la fois dans le
+ développement de <em>chaîne de test</em> et dans
+ <em>expression de comparaison</em>. Ce drapeau n'est pris en
+ compte que lors d'une comparaison entre <em>chaîne de test</em>
+ et <em>expression de comparaison</em>. Il ne l'est pas pour les
+ vérification par sous-requêtes ou sur le système de
+ fichiers.</li>
+
+ <li>
+ '<strong><code>ornext|OR</code></strong>'
+ (<strong>ou</strong> condition suivante)<br />
+ Permet de chaîner les conditions de règles avec un OU au
+ lieu du AND implicite. Exemple typique :
+
+<div class="example"><pre>
+RewriteCond %{REMOTE_HOST} ^hote1 [OR]
+RewriteCond %{REMOTE_HOST} ^hote2 [OR]
+RewriteCond %{REMOTE_HOST} ^hote3
+RewriteRule ...règles concernant tous ces hôtes...
+</pre></div>
+
+ Sans ce drapeau, les paires
+ condition/règle devraient être écrites trois fois.
+ </li>
+
+ <li>'<strong><code>novary|NV</code></strong>'
+ (<strong>n</strong>o <strong>v</strong>ary)<br />
+ Si la condition contient un en-tête HTTP, ce drapeau empêche
+ ce dernier d'être ajouté à l'en-tête Vary de la réponse. <br />
+ L'utilisation de ce drapeau peut provoquer une mise en cache
+ incorrecte de la réponse, si la représentation de cette réponse
+ varie avec la valeur de l'en-tête considéré. Ce drapeau ne
+ devrait donc être utilisé que si l'on maîtrise parfaitement le
+ fonctionnement de l'en-tête Vary.
+ </li>
+ </ul>
+ </li>
+ </ol>
+
+ <p><strong>Exemple :</strong></p>
+
+ <p>Pour réécrire la page d'accueil d'un site en fonction de
+ l'en-tête ``<code>User-Agent:</code>'' de la requête, vous
+ pouvez utiliser ce qui suit : </p>
+
+<div class="example"><pre>
+RewriteCond %{HTTP_USER_AGENT} ^Mozilla
+RewriteRule ^/$ /homepage.max.html [L]
+
+RewriteCond %{HTTP_USER_AGENT} ^Lynx
+RewriteRule ^/$ /homepage.min.html [L]
+
+RewriteRule ^/$ /homepage.std.html [L]
+</pre></div>
+
+ <p>Explications : si vous utilisez un navigateur
+ (Netscape Navigator, Mozilla etc) qui s'identifie comme
+ 'Mozilla', vous accèderez à la page d'accueil max (qui
+ peut contenir des frames, ou d'autres ressources
+ particulières).
+ Si vous utilisez le navigateur Lynx (qui est un navigateur
+ basé sur le texte), vous accèderez à une page d'accueil min
+ (qui peut être une version conçue pour une navigation simple
+ basée sur le texte).
+ Si aucune de ces conditions n'est satisfaite (vous utilisez tout
+ autre navigateur, ou votre navigateur s'identifie de manière non
+ standard), vous accèderez à la page d'accueil std
+ (standard).</p>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RewriteEngine" id="RewriteEngine">RewriteEngine</a> <a name="rewriteengine" id="rewriteengine">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive l'exécution du
+moteur de réécriture</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteEngine on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>RewriteEngine off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
+</table>
+
+ <p>La directive <code class="directive">RewriteEngine</code> active ou
+ désactive l'exécution du moteur de réécriture. Si sa valeur est
+ <code>off</code>, ce module n'exécutera aucun traitement et ne
+ mettra pas à jour les variables d'environnement
+ <code>SCRIPT_URx</code>.</p>
+
+ <p>Pour désactiver le module, il vaut mieux utiliser cette
+ directive que commenter toutes les directives <code class="directive"><a href="#rewriterule">RewriteRule</a></code> !</p>
+
+ <p>Notez que les hôtes virtuels n'héritent pas des
+ configurations de réécriture. Ceci implique que vous devez
+ insérer une directive <code>RewriteEngine on</code> dans chaque
+ hôte virtuel pour lequel vous souhaitez utiliser des règles
+ de réécriture.</p>
+
+ <p>Les directives <code class="directive">RewriteMap</code> du type
+ <code>prg</code> ne sont pas prises en compte au cours de
+ l'initialisation du serveur si elle ont été définies dans un
+ contexte où la directive <code class="directive">RewriteEngine</code> n'a
+ pas été définie à <code>on</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RewriteLock" id="RewriteLock">RewriteLock</a> <a name="rewritelock" id="rewritelock">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom du fichier verrou utilisé pour la
+synchronisation de <code class="directive"><a href="#rewritemap">RewriteMap</a></code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteLock <em>chemin du fichier verrou</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
+</table>
+ <p>Cette directive définit le nom du fichier utilisé comme
+ fichier verrou de synchronisation nécessaire à mod_rewrite pour
+ communiquer avec les <em>programmes</em> liés à <code class="directive"><a href="#rewritemap">RewriteMap</a></code>. Définissez ce
+ fichier verrou dans un chemin local (et non sur un montage NFS)
+ si vous voulez utiliser un programme de comparaison pour la
+ réécriture. Il n'est pas nécessaire pour les autres types de
+ comparaison pour la réécriture.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RewriteLog" id="RewriteLog">RewriteLog</a> <a name="rewritelog" id="rewritelog">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom du fichier utilisé pour la journalisation
+des traitements du moteur de réécriture</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteLog <em>chemin du fichier journal</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
+</table>
+ <p>La directive <code class="directive">RewriteLog</code> définit le nom
+ du fichier dans lequel le serveur journalise tout processus de
+ réécriture qu'il effectue. Si le nom&nbsp;ne commence pas par un
+ slash ('<code>/</code>'), il est considéré comme relatif à la
+ <em>Racine du serveur</em>. Cette directive ne doit apparaître
+ qu'une seule fois dans la configuration du serveur.</p>
+
+<div class="note"> Il est déconseillé de positionner
+ <em>chemin du fichier journal</em> à <code>/dev/null</code>
+ pour désactiver la journalisation des processus de réécriture,
+ car même si le moteur de réécriture n'envoie plus sa sortie
+ dans un fichier, il continue à créer un fichier journal en
+ interne, <strong>ce qui va avoir pour effet de ralentir le
+ serveur sans fournir aucun avantage à l'administrateur !
+ </strong> Pour désactiver la journalisation, vous pouvez
+ soit supprimer ou commenter la directive
+ <code class="directive">RewriteLog</code>, soit utiliser
+ <code>RewriteLogLevel 0</code> !
+</div>
+
+ <p>Le format de fichier journal <code class="directive">RewriteLog</code> se
+ présente comme suit :</p>
+
+<table>
+<tr><th>Description</th><th> Exemple</th></tr>
+<tr>
+<td>Adresse IP de l'hôte distant</td>
+<td>192.168.200.166</td></tr>
+<tr><td>Nom de login didtant</td><td>en général "-"</td></tr>
+<tr><td>nom d'authentification de l'utilisateur HTTP</td><td>nom
+d'utilisateur, ou "-" si non authentifié</td></tr>
+<tr><td>Date et heure de la requête</td><td>[28/Aug/2009:13:09:09 --0400]</td></tr>
+<tr><td>Serveur virtuel et son identifiant</td><td>[www.example.com/sid#84a650]</td></tr>
+<tr><td>Identifiant de la requête et indication éventuelle qu'il s'agit
+d'une sous-requête</td><td>[rid#9f0e58/subreq]</td></tr>
+<tr><td>Niveau de sévérité de l'entrée du journal</td><td>(2)</td></tr>
+<tr><td>Message d'erreur au format texte</td><td>forcing proxy-throughput with http://127.0.0.1:8080/index.html</td></tr>
+</table>
+
+
+<div class="note"><h3>Sécurité</h3>
+
+Se référer au document
+<a href="../misc/security_tips.html">Conseils à propos
+de la sécurité dans Apache</a> pour plus de détails sur la manière
+dont votre sécurité pourrait être compromise si le répertoire où se
+trouvent les fichiers journaux est inscriptible par quiconque
+autre que l'utilisateur qui démarre le serveur.
+</div>
+
+<div class="example"><h3>Exemple</h3><p><code>
+RewriteLog "/usr/local/var/apache/logs/rewrite.log"
+</code></p></div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RewriteLogLevel" id="RewriteLogLevel">RewriteLogLevel</a> <a name="rewriteloglevel" id="rewriteloglevel">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la verbosité du fichier journal utilisé
+par le moteur de réécriture</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteLogLevel <em>niveau</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>RewriteLogLevel 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
+</table>
+ <p>La directive <code class="directive">RewriteLogLevel</code> définit
+ le niveau de verbosité du fichier journal de réécriture. Le
+ niveau par défaut 0 signifie aucune journalisation, tandis que
+ 9 ou plus signifie que pratiquement toutes les actions sont
+ journalisées.</p>
+
+ <p>Pour désactiver la journalisation des actions de réécriture,
+ positionnez simplement <em>niveau</em> à 0. Ceci désactive
+ toute journalisation des actions de réécriture.</p>
+
+<div class="note"> Utiliser une valeur élevée pour <em>niveau</em> va ralentir
+ considérablement votre serveur Apache ! N'utilisez une
+ journalisation de la réécriture à un <em>niveau</em>
+ supérieur à 2 qu'à des fins de débogage !
+</div>
+
+<div class="example"><h3>Exemple</h3><p><code>
+RewriteLogLevel 3
+</code></p></div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RewriteMap" id="RewriteMap">RewriteMap</a> <a name="rewritemap" id="rewritemap">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une fonction de mise en correspondance pour la
+recherche de mots-clés</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteMap <em>nom de la correspondance</em> <em>type de
+correspondance</em>:<em>source de la correspondance</em>
+</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Il est possible de choisir entre plusieurs types de
+bases de données depuis la version 2.0.41 d'Apache</td></tr>
+</table>
+ <p>La directive <code class="directive">RewriteMap</code> définit une
+ <em>Table de correspondance pour la réécriture</em> que les
+ fonctions de mise en correspondance
+ peuvent utiliser dans les chaînes de substitution des règles
+ pour insérer/substituer des champs en recherchant des mots-clés.
+ La source utilisée pour cette recherche peut être de plusieurs
+ types.</p>
+
+ <p><a id="mapfunc" name="mapfunc"><em>nom de la
+ correspondance</em></a> est le nom de la table de correspondance
+ et servira à spécifier une fonction de mise en correspondance
+ pour les chaînes de substitution d'une règle de réécriture selon
+ une des constructions suivantes :</p>
+
+ <p class="indent">
+ <strong><code>${</code> <em>nom de la
+ correspondance</em> <code>:</code>
+ <em>mot-clé</em> <code>}</code><br />
+ <code>${</code> <em>nom de la
+ correspondance</em> <code>:</code>
+ <em>mot-clé</em> <code>|</code> <em>valeur par défaut</em>
+ <code>}</code></strong>
+ </p>
+
+ <p>Lorsqu'une telle construction est rencontrée, la table de
+ correspondance <em>Nom de la correspondance</em> est consultée
+ et la clé <em>mot-clé</em> recherchée. Si la clé est trouvée, la
+ construction est remplacée par
+ la <em>valeur de remplacement</em>. Si la clé n'est pas trouvée,
+ elle est remplacée par la <em>valeur par défaut</em>, ou par une
+ chaîne vide si aucune <em>valeur par défaut</em> n'est
+ spécifiée. La valeur vide se comporte comme si la
+ clé était absente ; il est donc impossible de distinguer une
+ valeur vide d'une absence de clé.</p>
+
+ <p>Par exemple, vous pouvez définir une directive
+ <code class="directive">RewriteMap</code> comme suit </p>
+
+ <div class="example"><p><code>
+ RewriteMap map-exemple txt:/chemin/vers/fichier/map.txt
+ </code></p></div>
+
+ <p>Vous pourrez ensuite utiliser cette table dans une
+ directive <code class="directive">RewriteRule</code> comme suit :</p>
+
+ <div class="example"><p><code>
+ RewriteRule ^/ex/(.*) ${map-exemple:$1}
+ </code></p></div>
+
+ <p>Les combinaisons suivantes pour <em>type de correspondance</em>
+ et <em>source de la correspondance</em>
+ peuvent être utilisées :</p>
+
+ <ul>
+ <li>
+ <strong>Format texte standard</strong><br />
+ type de correspondance : <code>txt</code>, source de la
+ correspondance : chemin du système de fichiers Unix vers un
+ fichier régulier valide
+
+ <p>Il s'agit de la mise en oeuvre standard de la table de
+ correspondance pour la réécriture où
+ <em>source de la correspondance</em> est un fichier ASCII
+ dont les différentes lignes sont soit des lignes vides, soit
+ des lignes de commentaires (commençant par un caractère "#"),
+ soit des paires de valeurs (une seule paire
+ par ligne) comme suit :</p>
+
+ <p class="indent">
+ <strong><em>mot-clé</em>
+ <em>valeur de remplacement</em></strong>
+ </p>
+
+<div class="example"><h3>Exemple</h3><pre>
+##
+## map.txt -- table de correspondance pour la réécriture
+##
+
+Ralf.S.Engelschall rse # Bastard Operator From Hell
+(traduction à votre convenance)
+Mr.Joe.Average joe # Mr. Average
+</pre></div>
+
+<div class="example"><p><code>
+RewriteMap real-to-user txt:/chemin/vers/fichier/map.txt
+</code></p></div>
+ </li>
+
+ <li>
+ <strong>Format texte avec valeurs aléatoires</strong><br />
+ type de correspondance: <code>rnd</code>,
+ source de la correspondance : chemin du système de fichiers
+ Unix vers un fichier régulier valide
+
+ <p>Ce format se différencie du format texte standard
+ précédent par l'ajout d'un traitement supplémentaire : en
+ plus de la recherche de clés, le fichier est interprété en
+ tenant compte de la présence éventuelle dans les valeurs de
+ remplacement de caractères ``<code>|</code>'' signifiant
+ ``ou''. En d'autres termes, ces caractères ``<code>|</code>''
+ permettent de spécifier un jeu de valeurs parmi lesquelles
+ la valeur de retour sera choisie aléatoirement. Par exemple,
+ vous pouvez utiliser les fichier de correspondance et
+ directives suivants pour mettre en oeuvre une répartition de
+ charge aléatoire entre plusieurs serveurs en arrière-plan,
+ via un mandataire inverse. Les images sont envoyées à un des
+ serveurs de l'ensemble "statique", tandis que tout le
+ reste est envoyé à un des serveurs de l'ensemble
+ "dynamique".</p>
+ <p>Exemple:</p>
+
+<div class="example"><h3>Fichier de correspondances pour la réécriture</h3><pre>
+##
+## map.txt -- correspondances pour la réécriture
+##
+
+static www1|www2|www3|www4
+dynamic www5|www6
+</pre></div>
+
+<div class="example"><h3>Directives de configuration</h3><p><code>
+RewriteMap serveurs rnd:/chemin/vers/fichier/map.txt<br />
+<br />
+RewriteRule ^/(.*\.(png|gif|jpg)) http://${serveurs:static}/$1
+[NC,P,L]<br />
+RewriteRule ^/(.*) http://${serveurs:dynamic}/$1 [P,L]
+</code></p></div>
+ </li>
+
+ <li>
+ <strong>Fichier à accès direct (Hash file)</strong><br />
+ type de correspondance :
+ <code>dbm[=<em>type</em>]</code>, source de la
+ correspondance : chemin du système de fichiers Unix vers un
+ fichier régulier valide
+
+ <p>Ici, la source de la correspondance est un fichier binaire
+ au format DBM contenant les mêmes données qu'un fichier au
+ format <em>Plein texte</em>, mais selon une représentation
+ particulière optimisée en vue d'une recherche très rapide.
+ Le <em>type</em> peut être sdbm, gdbm, ndbm, ou db selon la
+ configuration à la <a href="../install.html#dbm">compilation
+ </a>. Si <em>type</em> est omis, la valeur retenue
+ sera la valeur par défaut définie à la compilation.</p>
+
+ <p>La création du fichier dbm à partir d'un fichier texte
+ s'effectue à l'aide de l'utilitaire <a href="../programs/httxt2dbm.html">httxt2dbm</a>.</p>
+
+<div class="example"><p><code>
+$ httxt2dbm -i fichier-source.txt -o fichier-dbm.map
+</code></p></div>
+ </li>
+
+ <li>
+ <strong>Fonction interne</strong><br />
+ type de la correspondance : <code>int</code>,
+ source de la correspondance : fonction interne à Apache
+
+ <p>Ici, la source de la correspondance est une fonction
+ interne à Apache. Les développeurs de modules peuvent
+ fournir des fonctions internes supplémentaires en les
+ enregistrant via l'API
+ <code>ap_register_rewrite_mapfunc</code>. Les fonctions
+ fournies par défaut sont :</p>
+
+ <ul>
+ <li><strong>toupper</strong>:<br />
+ Convertit tous les caractères de la clé en majuscules.</li>
+
+ <li><strong>tolower</strong>:<br />
+ Convertit tous les caractères de la clé en minuscules.</li>
+
+ <li><strong>escape</strong>:<br />
+ Traduit les caractères spéciaux que contient la clé en
+ séquences hexadécimales.</li>
+
+ <li><strong>unescape</strong>:<br />
+ Reconvertit les séquences hexadécimales que contient la
+ clé en caractères spéciaux.</li>
+ </ul>
+ </li>
+
+ <li>
+ <strong>Programme de réécriture externe</strong><br />
+ type de la correspondance : <code>prg</code>,
+ source de la correspondance :
+ chemin du système de fichiers Unix vers un
+ fichier régulier valide
+
+ <p>Ici, la source n'est pas un fichier de correspondances,
+ mais un programme. Pour le créer, vous pouvez utiliser le
+ langage de votre choix, mais le programme doit être un
+ exécutable (soit du code objet, soit un script
+ contenant le fameux
+ "<code>#!/chemin/vers/interpréteur</code>" au début de sa
+ première ligne).</p>
+
+ <p>Ce programme est lancé une seule fois au démarrage du
+ serveur Apache, puis communique avec le moteur de réécriture
+ via ses entrée et sortie standards (<code>stdin</code>
+ et <code>stdout</code>). A chaque recherche effectuée par la
+ fonction de correspondance, il reçoit sur son entrée standard
+ la clé à rechercher sous la forme d'une chaîne de caractères
+ terminée par le caractère "nouvelle ligne". Il doit ensuite
+ renvoyer sur sa sortie standard la valeur recherchée sous
+ la forme d'une chaîne de caractères terminée par le caractère
+ "nouvelle ligne", ou la chaîne de quatre
+ caractères ``<code>NULL</code>'' en cas d'échec
+ (<em>c'est à dire</em>
+ si aucune valeur ne correspond à la clé fournie). Voici un
+ exemple de ce pourrait être un programme trivial qui
+ implémenterait une correspondance 1:1 (<em>c'est à dire</em>,
+ clé == valeur) :</p>
+
+ <p>Les programmes de réécriture externes ne seront pas lancés
+ s'ils ont été définis dans un contexte où la directive
+ <code class="directive">RewriteEngine</code> n'a pas été définie à
+ <code>on</code>.</p>
+
+<div class="example"><pre>
+#!/usr/bin/perl
+$| = 1;
+while (&lt;STDIN&gt;) {
+ # ...insérer ici le code de transformation ou de recherche...
+ print $_;
+}
+</pre></div>
+
+ <p>Mais soyez très prudent :</p>
+
+ <ol>
+ <li>``<em>Ce programme doit être simple, basique</em>''
+ (MERCI).
+ Si ce programme se bloque, il bloquera aussi Apache
+ lorsqu'il tentera d'utiliser la règle de réécriture
+ correspondante.</li>
+
+ <li>L'utilisation d'entrées/sorties avec tampon sur
+ <code>stdout</code> est une erreur courante. Ceci est à
+ proscrire sous peine de créer une boucle infernale ! Pour
+ éviter ceci, on utilise ``<code>$|=1</code>'' comme dans
+ l'exemple ci-dessus.</li>
+
+ <li>On peut définir la directive <code class="directive"><a href="#rewritelock">RewriteLock</a></code> pour spécifier
+ un fichier verrou que mod_rewrite pourra utiliser pour
+ synchroniser les communications avec le programme de
+ correspondance. Par défaut, aucune synchronisation de ce
+ type n'est mise en oeuvre.</li>
+ </ol>
+ </li>
+
+
+ </ul>
+ <p>La directive <code class="directive">RewriteMap</code> peut
+ apparaître plusieurs fois. Utilisez une directive
+ <code class="directive">RewriteMap</code> par fonction de correspondance
+ pour déclarer son fichier de correspondance pour la réécriture.
+ Bien que vous ne puissiez pas <strong>déclarer</strong> une
+ table de correspondance dans un contexte de répertoire, vous
+ pouvez bien entendu <strong>utiliser</strong> cette table dans un
+ contexte de répertoire. </p>
+
+<div class="note"><h3>Note</h3> En ce qui concerne les fichiers au format DBM
+et plein texte, les clés de recherches sont mises en cache en interne
+jusqu'à ce que le <code>mtime (date de modification)</code> du fichier
+soit modifié, ou que le serveur soit redémarré. Ainsi, certaines
+fonctions de correspondance dans les règles peuvent être utilisées pour
+<strong>chaque</strong> requête. Cela ne pose pas problème, car la
+recherche externe n'intervient qu'une seule fois !
+</div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RewriteOptions" id="RewriteOptions">RewriteOptions</a> <a name="rewriteoptions" id="rewriteoptions">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure certaines options spéciales
+pour le moteur de réécriture</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteOptions <var>Options</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td><code>MaxRedirects</code> n'est plus disponible depuis
+la version version 2.1</td></tr>
+</table>
+
+ <p>La directive <code class="directive">RewriteOptions</code> définit
+ certaines options spéciales pour la configuration au niveau du
+ serveur ou du répertoire. La chaîne de caractères <em>Option</em>
+ ne peut actuellement prendre qu'une des valeurs suivantes :</p>
+
+ <dl>
+ <dt><code>inherit</code></dt>
+ <dd>
+
+ <p>Ceci force la configuration locale à hériter de la
+ configuration du niveau supérieur. Dans le contexte des hôtes
+ virtuels, cela signifie que les correspondances, conditions et
+ règles du serveur principal sont héritées. Dans le contexte des
+ répertoires, cela signifie que les conditions et règles de la
+ configuration <code>.htaccess</code> du répertoire parent sont
+ héritées.</p>
+
+ <div class="warning">
+ Les règles héritées du niveau parent sont appliquées
+ <strong>after</strong> après les règles spécifiées dans le niveau
+ enfant.
+ </div>
+ </dd>
+ </dl>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RewriteRule" id="RewriteRule">RewriteRule</a> <a name="rewriterule" id="rewriterule">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les règles pour le moteur de réécriture</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteRule
+ <em>Modèle</em> <em>Substitution</em> [<em>drapeaux</em>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
+</table>
+ <p>La directive <code class="directive">RewriteRule</code> est le
+ véritable cheval de trait de la réécriture. La directive peut
+ apparaître plusieurs fois, chaque instance définissant une
+ règle de réécriture particulière. L'ordre dans lequel ces règles
+ sont définies est important - il s'agit de l'ordre dans lequel
+ les règles seront appliquées au cours du processus de
+ réécriture.</p>
+
+ <p><a id="patterns" name="patterns"><em>Modèle</em></a> est une
+ <a id="regexp" name="regexp">expression rationnelle</a>
+ compatible perl. Dans la première règle de réécriture,
+ l'expression est comparée au
+ <a href="./directive-dict.html#Syntax">chemin de l'URL</a> de la
+ requête (%-decoded) ; les expressions suivantes sont comparées à la sortie de
+ la dernière règle de réécriture qui a été appliquée.</p>
+
+<div class="note"><h3>Qu'est-ce qui est comparé ?</h3>
+
+ <p>Dans un contexte de serveur virtuel <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code>, le <em>modèle</em> est tout
+ d'abord comparé à la portion de l'URL située entre le nom d'hôte
+ éventuellement accompagné du port, et la chaîne de paramètres (par
+ exemple "/app1/index.html").</p>
+
+ <p>Dans les contextes de répertoire <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> et htaccess, le
+ <em>modèle</em> est tout d'abord comparé au chemin du <em>système
+ de fichiers</em>, après suppression du préfixe ou chemin de base
+ ayant conduit à la règle <code class="directive">RewriteRule</code> (par
+ exemple "app1/index.html" ou
+ "index.html" selon l'endroit où les directives sont définies).</p>
+
+ <p>Si vous voulez effectuer une comparaison en tenant compte du
+ nom d'hôte, du port ou de la chaîne de paramètres, utilisez une
+ directive <code class="directive"><a href="#rewritecond">RewriteCond</a></code>
+ comportant les variables
+ <code>%{HTTP_HOST}</code>, <code>%{SERVER_PORT}</code>, ou
+ <code>%{QUERY_STRING}</code>.</p>
+
+</div>
+
+<div class="note"><h3>Réécritures dans un contexte de répertoire</h3>
+<ul>
+<li>L'utilisation du moteur de réécriture dans les
+fichiers <a href="../howto/htaccess.html">.htaccess</a> et les sections
+<code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> est un peu plus
+complexe.</li>
+
+<li>Pour activer le moteur de réécriture dans ces contextes, vous devez
+définir "<code>RewriteEngine On</code>" <strong>et</strong>
+"<code>Options FollowSymLinks</code>". Si l'administrateur a désactivé
+la possibilité de modifier l'option <code>FollowSymLinks</code> au
+niveau du répertoire d'un utilisateur, vous ne pouvez pas utiliser le
+moteur de réécriture. Cette restriction a été instaurée à des fins de
+sécurité.</li>
+
+<li>Lorsqu'on utilise le moteur de réécriture dans un fichier
+<code>.htaccess</code>, le chemin de base du répertoire courant (qui est
+toujours le même pour ce même répertoire) est automatiquement
+<em>supprimé</em> au cours de la comparaison avec le modèle de la règle
+de réécriture, et automatiquement <em>ajouté</em> lorsqu'une
+substitution relative (ne débutant pas par un slash ou un nom de
+protocole) arrive à la fin d'un jeu de règles. Voir la directive
+<code class="directive"><a href="#rewritebase">RewriteBase</a></code> pour plus de
+détails à propos de l'ajout du préfixe après les substitutions
+relatives.</li>
+
+<li>Si vous souhaitez effectuer une comparaison en prenant en compte
+l'intégralité du
+chemin de l'URL dans un contexte de répertoire (htaccess), vous devez
+utiliser la variable <code>%{REQUEST_URI}</code> dans la directive
+<code class="directive">RewriteCond</code>.</li>
+
+<li>Le prefixe supprimé se termine toujours par un slash, ce qui
+signifie que la comparaison s'effectue avec une chaîne qui ne comporte
+<em>jamais</em> de slash de début. Ainsi, un <em>modèle</em> contenant
+<code>^/</code> ne correspondra jamais dans un contexte de répertoire.</li>
+
+<li>Bien que les règles de réécriture soient permises du point de vue de
+la syntaxe dans les sections <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> et <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>, elles n'y sont pas prises en compte, et
+n'y sont à priori d'aucune utilité.</li>
+</ul>
+</div>
+
+ <p>Pour quelques conseils à propos des <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, voir le
+ document <a href="../rewrite/intro.html#regex">Introduction à
+ mod_rewrite</a>.</p>
+
+ <p>Dans mod_rewrite, on peut aussi utiliser le caractère NON
+ ('<code>!</code>') comme préfixe de modèle. Ceci vous permet
+ d'inverser la signification d'un modèle, soit pour dire
+ ``<em>si l'URL considérée ne correspond <strong>PAS</strong> à
+ ce modèle</em>''. Le caractère NON peut donc être utilisé à
+ titre exceptionnel, lorsqu'il est plus simple d'effectuer une
+ comparaison avec le modèle inversé, ou dans la dernière règle
+ par défaut.</p>
+
+<div class="note"><h3>Note</h3>
+Si vous utilisez le caractère NON pour inverser la signification d'un
+modèle, vous ne pouvez pas inclure de parties génériques groupées dans
+le modèle. Ceci est dû au fait que, lorsque le modèle ne correspond
+pas (autrement dit, sa négation correspond), les groupes sont vides.
+Ainsi, si vous utilisez des modèles inversés, vous ne pouvez
+pas vous référer aux groupes par <code>$N</code> dans la chaîne de
+substitution !
+</div>
+
+ <p>Dans une règle de réécriture,
+ <a id="rhs" name="rhs"><em>Substitution</em></a> est la chaîne
+ de caractères qui remplace le chemin de l'URL original qui
+ correspondait au <em>Modèle</em>. <em>Substitution</em> peut
+ être :</p>
+
+ <dl>
+
+ <dt>un chemin du système de fichiers</dt>
+
+ <dd>Il indique alors la localisation dans le système de
+ fichiers de la ressource qui doit être envoyée au client.</dd>
+
+ <dt>chemin d'URL</dt>
+
+ <dd>Un chemin relatif à la valeur de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> vers la ressource qui
+ doit être servie. Notez que <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ essaie de deviner si vous avez spécifié un chemin du système
+ de fichiers ou un chemin d'URL en vérifiant si la première
+ partie du chemin existe à la racine du système de fichiers.
+ Par exemple, si vous avez spécifié comme chaîne de
+ <em>Substitution</em> <code>/www/file.html</code>, cette
+ dernière sera traitée comme un chemin d'URL <em>à moins</em>
+ qu'un répertoire nommé <code>www</code> n'existe à la racine
+ de votre système de fichiers, auquel cas la chaîne de
+ substitution sera traitée comme un chemin du système de
+ fichiers. Si vous désirez que d'autres directives de
+ correspondance d'URL (comme la directive <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>) soient appliquées au
+ chemin d'URL résultant, utilisez le drapeau <code>[PT]</code>
+ comme décrit ci-dessous.</dd>
+
+ <dt>URL absolue</dt>
+
+ <dd>Si une URL absolue est spécifiée,
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> vérifie si le nom d'hôte
+ correspond à celui de l'hôte local. Si c'est le cas, le
+ protocole et le nom d'hôte sont supprimés, et ce qui reste est
+ traité comme un chemin d'URL. Dans le cas contraire, une
+ redirection externe vers l'URL indiquée est effectuée. Pour
+ forcer une redirection externe vers l'hôte local, voir le
+ drapeau <code>[R]</code> ci-dessous.</dd>
+
+ <dt><code>-</code> (tiret)</dt>
+
+ <dd>Un tiret indique qu'aucune substitution ne doit être
+ effectuée (le chemin considéré est transmis sans changement).
+ Ceci est utile quand un drapeau doit être appliqué sans
+ modifier le chemin (voir ci-dessous).</dd>
+
+ </dl>
+
+ <p>En plus du texte, la chaîne <em>Substition</em> peut
+ comporter :</p>
+
+ <ol>
+ <li>des références arrières (<code>$N</code>) vers le modèle
+ d'une directive RewriteRule</li>
+
+ <li>des références arrières (<code>%N</code>) vers le dernier
+ modèle d'une directive RewriteCond qui correspondait</li>
+
+ <li>des variables du serveur comme dans les chaînes de test de
+ condition d'une règle (<code>%{VARNAME}</code>)</li>
+
+ <li>des appels de
+ <a href="#mapfunc">fonctions de comparaison</a>
+ (<code>${nom correspondance:clé|défaut}</code>)</li>
+ </ol>
+
+ <p>Les références arrières sont des identificateurs de la forme
+ <code>$</code><strong>N</strong> (<strong>N</strong>=0..9), qui
+ seront remplacés par le contenu du <strong>N</strong>ème groupe
+ du <em>Modèle</em> qui correspondait. Les variables du serveur
+ sont les mêmes que dans la <em>Chaîne de test</em> d'une
+ directive <code>RewriteCond</code>. Les fonctions de comparaison
+ sont issues de la directive <code>RewriteMap</code> dans la
+ section de laquelle elles sont décrites. Ces trois types de
+ variables sont évaluées dans l'ordre ci-dessus.</p>
+
+ <p>Comme mentionné précédemment, toutes les règles de
+ réécriture sont appliquées à la chaîne de <em>Substitution</em>
+ (selon l'ordre dans lequel elles sont définies dans le fichier
+ de configuration). L'URL est <strong>intégralement
+ remplacée</strong> par la chaîne de <em>Substitution</em> et le
+ processus de réécriture se poursuit jusqu'à ce que toutes les
+ règles aient été appliquées, ou qu'il soit explicitement stoppé
+ par un drapeau <code><strong>L</strong></code>.</p>
+
+ <div class="note"><h3>Modifier la chaîne de requête</h3>
+ <p>Par défaut, la chaîne de requête est transmise sans
+ modification. Vous pouvez cependant créer dans la chaîne de
+ substitution des URLs dont une partie constitue une chaîne de
+ requête. Pour cela, ajoutez simplement un point d'interrogation
+ dans la chaîne de substitution pour indiquer que le texte qui
+ suit doit être réinjecté dans la chaîne de requête. Pour
+ supprimer une chaîne de requête, terminez simplement la chaîne de
+ substitution par un point d'interrogation. Pour combiner les
+ nouvelles chaînes de requête avec les anciennes, utilisez le
+ drapeau <code>[QSA]</code>.</p>
+ </div>
+
+ <p>En outre, vous pouvez spécifier des <a name="rewriteflags" id="rewriteflags">actions</a> spéciales à effectuer en ajoutant
+ des
+ <strong><code>[</code><em>drapeaux</em><code>]</code></strong>
+ comme troisième argument de la directive
+ <code>RewriteRule</code>. <em>Flags</em> est une liste de valeurs
+ déparées par des virgules, délimitée par des crochets, choisies
+ parmi les drapeaux de la table suivante. Vous trouverez plus de
+ détails et d'exemples, pour chaque drapeau, dans la <a href="../rewrite/flags.html">documentation sur les drapeaux de
+ réécriture</a>.</p>
+
+<table class="bordered">
+ <tr><th>Flag and syntax</th>
+ <th>Function</th>
+ </tr>
+ <tr>
+ <td>B</td>
+ <td>Escape non-alphanumeric characters <em>before</em> applying
+ the transformation. <em><a href="../rewrite/flags.html#flag_b">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>chain|C</td>
+ <td>Rule is chained to the following rule. If the rule fails,
+ the rule(s) chained to it will be skipped. <em><a href="../rewrite/flags.html#flag_c">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>cookie|CO=<em>NAME</em>:<em>VAL</em></td>
+ <td>Sets a cookie in the client browser. Full syntax is:
+ CO=<em>NAME</em>:<em>VAL</em>:<em>domain</em>[:<em>lifetime</em>[:<em>path</em>[:<em>secure</em>[:<em>httponly</em>]]]] <em><a href="../rewrite/flags.html#flag_co">details ...</a></em>
+ </td>
+ </tr>
+ <tr>
+ <td>discardpath|DPI</td>
+ <td>Causes the PATH_INFO portion of the rewritten URI to be
+ discarded. <em><a href="../rewrite/flags.html#flag_dpi">details
+ ...</a></em></td>
+ </tr>
+ <tr>
+ <td>env|E=[!]<em>VAR</em>[:<em>VAL</em>]</td>
+ <td>Causes an environment variable <em>VAR</em> to be set (to the
+ value <em>VAL</em> if provided). The form !<em>VAR</em> causes
+ the environment variable <em>VAR</em> to be unset.<em><a href="../rewrite/flags.html#flag_e">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>forbidden|F</td>
+ <td>Returns a 403 FORBIDDEN response to the client browser.
+ <em><a href="../rewrite/flags.html#flag_f">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>gone|G</td>
+ <td>Returns a 410 GONE response to the client browser. <em><a href="../rewrite/flags.html#flag_g">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>Handler|H=<em>Content-handler</em></td>
+ <td>Causes the resulting URI to be sent to the specified
+ <em>Content-handler</em> for processing. <em><a href="../rewrite/flags.html#flag_h">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>last|L</td>
+ <td>Stop the rewriting process immediately and don't apply any
+ more rules. Especially note caveats for per-directory and
+ .htaccess context (see also the END flag). <em><a href="../rewrite/flags.html#flag_l">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>next|N</td>
+ <td>Re-run the rewriting process, starting again with the first
+ rule, using the result of the ruleset so far as a starting
+ point. <em><a href="../rewrite/flags.html#flag_n">details
+ ...</a></em></td>
+ </tr>
+ <tr>
+ <td>nocase|NC</td>
+ <td>Makes the pattern pattern comparison case-insensitive.
+ <em><a href="../rewrite/flags.html#flag_nc">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>noescape|NE</td>
+ <td>Prevent mod_rewrite from applying hexcode escaping of
+ special characters in the result of the rewrite. <em><a href="../rewrite/flags.html#flag_ne">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>nosubreq|NS</td>
+ <td>Causes a rule to be skipped if the current request is an
+ internal sub-request. <em><a href="../rewrite/flags.html#flag_ns">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>proxy|P</td>
+ <td>Force the substitution URL to be internally sent as a proxy
+ request. <em><a href="../rewrite/flags.html#flag_p">details
+ ...</a></em></td>
+ </tr>
+ <tr>
+ <td>passthrough|PT</td>
+ <td>Forces the resulting URI to be passed back to the URL
+ mapping engine for processing of other URI-to-filename
+ translators, such as <code>Alias</code> or
+ <code>Redirect</code>. <em><a href="../rewrite/flags.html#flag_pt">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>qsappend|QSA</td>
+ <td>Appends any query string created in the rewrite target to
+ any query string that was in the original request URL. <em><a href="../rewrite/flags.html#flag_qsa">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>redirect|R[=<em>code</em>]</td>
+ <td>Forces an external redirect, optionally with the specified
+ HTTP status code. <em><a href="../rewrite/flags.html#flag_r">details ...</a></em>
+ </td>
+ </tr>
+ <tr>
+ <td>skip|S=<em>num</em></td>
+ <td>Tells the rewriting engine to skip the next <em>num</em>
+ rules if the current rule matches. <em><a href="../rewrite/flags.html#flag_s">details ...</a></em></td>
+ </tr>
+ <tr>
+ <td>type|T=<em>MIME-type</em></td>
+ <td>Force the <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">MIME-type</a> of the target file
+ to be the specified type. <em><a href="../rewrite/flags.html#flag_t">details ...</a></em></td>
+ </tr>
+ </table>
+
+<div class="note"><h3>Développement du répertoire home</h3>
+<p> Quand la chaîne de substitution commence par quelque chose comme
+"/~user" (de manière explicite ou par références arrières), mod_rewrite
+développe le répertoire home sans tenir compte de la présence ou de la
+configuration du module <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code>.</p>
+
+<p> Ce développement n'est pas effectué si le drapeau <em>PT</em> est
+utilisé dans la directive <code class="directive"><a href="#rewriterule">RewriteRule</a></code></p>
+</div>
+
+ <p>Voici toutes les combinaisons de substitution et leurs
+ significations :</p>
+
+ <p><strong>Dans la configuration au niveau du serveur principal
+ (<code>httpd.conf</code>)<br />
+ pour la requête ``<code>GET
+ /chemin/infochemin</code>'':</strong><br />
+ </p>
+
+<div class="note"><pre>
+<strong>Règle</strong> <strong>Résultat de la substitution</strong>
+---------------------------------------------- ----------------------------------
+^/chemin(.*) autre-chemin$1 non valide, non supporté
+
+^/chemin(.*) autre-chemin$1 [R] non valide, non supporté
+
+^/chemin(.*) autre-chemin$1 [P] non valide, non supporté
+---------------------------------------------- ----------------------------------
+^/chemin(.*) /autre-chemin$1 /autre-chemin/infochemin
+
+^/chemin(.*) /autre-chemin$1 [R] http://cet-hôte/autre-chemin/infochemin
+ via redirection externe
+
+^/chemin(.*) /autre-chemin$1 [P] n'a pas lieu d'être, non supporté
+---------------------------------------------- ----------------------------------
+^/chemin(.*) http://cet-hôte/autre-chemin$1 /autre-chemin/infochemin
+
+^/chemin(.*) http://cet-hôte/autre-chemin$1 [R] http://cet-hôte/autre-chemin/infochemin
+ via redirection externe
+
+^/chemin(.*) http://cet-hôte/autre-chemin$1 [P] n'a pas lieu d'être, non supporté
+---------------------------------------------- ----------------------------------
+^/chemin(.*) http://autre hôte/autre-chemin$1 http://autre hôte/autre-chemin/infochemin
+ via redirection externe
+
+^/chemin(.*) http://autre hôte/autre-chemin$1 [R] http://autre hôte/autre-chemin/infochemin
+ via redirection externe
+ (le drapeau [R] est
+ redondant)
+
+^/chemin(.*) http://autre hôte/autre-chemin$1 [P] http://autre hôte/autre-chemin/infochemin
+ via un mandataire interne
+</pre></div>
+
+ <p><strong>Dans une configuration de niveau répertoire pour
+ <code>/chemin</code><br />
+ (<code>/chemin/physique/vers/chemin/.htacccess</code>, avec
+ <code>RewriteBase /chemin</code>)<br />
+ pour la requête ``<code>GET
+ /chemin/chemin-local/infochemin</code>'':</strong><br />
+ </p>
+
+<div class="note"><pre>
+<strong>Règle</strong> <strong>Résultat de la substitution</strong>
+---------------------------------------------- ----------------------------------
+^chemin-local(.*) autre-chemin$1 /chemin/autre-chemin/infochemin
+
+^chemin-local(.*) autre-chemin$1 [R] http://cet-hôte/chemin/autre-chemin/infochemin
+ via redirection externe
+
+^chemin-local(.*) autre-chemin$1 [P] n'a pas lieu d'être, non supporté
+---------------------------------------------- ----------------------------------
+^chemin-local(.*) /autre-chemin$1 /autre-chemin/infochemin
+
+^chemin-local(.*) /autre-chemin$1 [R] http://cet-hôte/autre-chemin/infochemin
+ via redirection externe
+
+^chemin-local(.*) /autre-chemin$1 [P] n'a pas lieu d'être, non supporté
+---------------------------------------------- ----------------------------------
+^chemin-local(.*) http://cet-hôte/autre-chemin$1 /autre-chemin/infochemin
+
+^chemin-local(.*) http://cet-hôte/autre-chemin$1 [R] http://cet-hôte/autre-chemin/infochemin
+ via redirection externe
+
+^chemin-local(.*) http://cet-hôte/autre-chemin$1 [P] n'a pas lieu d'être, non supporté
+---------------------------------------------- ----------------------------------
+^chemin-local(.*) http://autre hôte/autre-chemin$1 http://autre hôte/autre-chemin/infochemin
+ via redirection externe
+
+^chemin-local(.*) http://autre hôte/autre-chemin$1 [R] http://autre hôte/autre-chemin/infochemin
+ via redirection externe
+ (le drapeau [R] est
+ redondant)
+
+^chemin-local(.*) http://autre hôte/autre-chemin$1 [P] http://autre hôte/autre-chemin/infochemin
+ via un mandataire interne
+</pre></div>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_rewrite.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_rewrite.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_setenvif.html.en b/docs/manual/mod/mod_setenvif.html.en
index b693a5b3..11494f70 100644
--- a/docs/manual/mod/mod_setenvif.html.en
+++ b/docs/manual/mod/mod_setenvif.html.en
@@ -35,10 +35,11 @@ on characteristics of the request</td></tr>
<p>The <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> module allows you to set
- environment variables according to whether different aspects of
+ internal environment variables according to whether different aspects of
the request match regular expressions you specify. These
environment variables can be used by other parts of the server
- to make decisions about actions to be taken.</p>
+ to make decisions about actions to be taken, as well as becoming
+ available to CGI scripts and SSI pages.</p>
<p>The directives are considered in the order they appear in
the configuration files. So more complex sequences can be used,
@@ -103,9 +104,6 @@ respect to case</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Apache 1.2 and
- above (in Apache 1.2 this directive was found in the
- now-obsolete mod_browser module)</td></tr>
</table>
<p>The <code class="directive">BrowserMatchNoCase</code> directive is
@@ -260,7 +258,6 @@ without respect to case</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Apache 1.3 and above</td></tr>
</table>
<p>The <code class="directive">SetEnvIfNoCase</code> is semantically identical to
@@ -285,6 +282,6 @@ without respect to case</td></tr>
<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_setenvif.html.ja.utf8 b/docs/manual/mod/mod_setenvif.html.ja.utf8
index ac934345..9f575a5b 100644
--- a/docs/manual/mod/mod_setenvif.html.ja.utf8
+++ b/docs/manual/mod/mod_setenvif.html.ja.utf8
@@ -104,9 +104,6 @@
<tr><th><a href="directive-dict.html#Override">上書ã:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_setenvif</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Apache 1.2 以é™
- (Apache 1.2 ã§ã¯ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚‚ã†ç”¨ã„られã¦ã„ãªã„
- mod_browser モジュールã«ã‚ã‚Šã¾ã—ãŸ)</td></tr>
</table>
<p><code class="directive">BrowserMatchNoCase</code> ディレクティブã¯
@@ -253,7 +250,6 @@
<tr><th><a href="directive-dict.html#Override">上書ã:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_setenvif</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Apache 1.3 以é™</td></tr>
</table>
<p><code class="directive">SetEnvIfNoCase</code> ã¯æ„味的ã«ã¯
@@ -279,6 +275,6 @@
<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_setenvif.html.ko.euc-kr b/docs/manual/mod/mod_setenvif.html.ko.euc-kr
index dedbab04..8e2f8e73 100644
--- a/docs/manual/mod/mod_setenvif.html.ko.euc-kr
+++ b/docs/manual/mod/mod_setenvif.html.ko.euc-kr
@@ -98,8 +98,6 @@
<tr><th><a href="directive-dict.html#Override">Override ¿É¼Ç:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">»óÅÂ:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">¸ðµâ:</a></th><td>mod_setenvif</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Áö¿ø:</a></th><td>¾ÆÆÄÄ¡ 1.2 ÀÌ»ó (¾ÆÆÄÄ¡ 1.2¿¡¼­ ÀÌ Áö½Ã¾î´Â ÇöÀç
- ¾ø¾îÁø mod_browser ¸ðµâ¿¡ ÀÖ¾ú´Ù)</td></tr>
</table>
<p><code class="directive">BrowserMatchNoCase</code> Áö½Ã¾î´Â <code class="directive"><a href="#browsermatch">BrowserMatch</a></code> Áö½Ã¾î¿Í
@@ -235,7 +233,6 @@
<tr><th><a href="directive-dict.html#Override">Override ¿É¼Ç:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">»óÅÂ:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">¸ðµâ:</a></th><td>mod_setenvif</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Áö¿ø:</a></th><td>¾ÆÆÄÄ¡ 1.3 ÀÌÈÄ</td></tr>
</table>
<p><code class="directive">SetEnvIfNoCase</code>´Â Àǹ̻ó <code class="directive"><a href="#setenvif">SetEnvIf</a></code> Áö½Ã¾î¿Í °°Áö¸¸,
@@ -256,6 +253,6 @@
<a href="../ko/mod/mod_setenvif.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_setenvif.html.tr.utf8 b/docs/manual/mod/mod_setenvif.html.tr.utf8
index 1a6e7064..bdc85b8b 100644
--- a/docs/manual/mod/mod_setenvif.html.tr.utf8
+++ b/docs/manual/mod/mod_setenvif.html.tr.utf8
@@ -33,10 +33,12 @@
<h3>Özet</h3>
- <p><code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> modülü ortam değişkenlerinin isteğin
- farklı bileşenlerinin belirttiğiniz düzenli ifade ile eşleşmesine bağlı
- olarak atanmasını mümkün kılar. Bu ortam değişkenleri sunucunun çeşitli
- kısımlarında yapılacak eylemlere karar verirken kullanılır.</p>
+ <p><code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> modülü, dahili ortam değişkenlerinin,
+ isteğin farklı bileşenlerinin belirttiğiniz düzenli ifade ile eşleşmesine
+ bağlı olarak atanmasını mümkün kılar. Bu ortam değişkenleri, CGI
+ betiklerinde ve SSI sayfalarında da kullanılabilir hale gelmenin yanı sıra
+ sunucunun çeşitli kısımlarında yapılacak eylemlere karar verirken
+ kullanılabilirler.</p>
<p>Yönergeler yapılandırma dosyasında yer aldıkları sıraya göre ele
alınırlar. Böylece daha karmaşık dizilimler kullanılabilir, bu örnekteki
@@ -101,8 +103,6 @@ duyarsız eşleşmelerine bağlı olarak belirler.</td></tr>
<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr>
<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_setenvif</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache 1.2 ve sonrasında bulunur (Apache 1.2 sürümünde bu
-yönerge artık atıl olan mod_browser modülüyle sağlanırdı).</td></tr>
</table>
<p><code class="directive">BrowserMatchNoCase</code> yönergesi sözdizimsel ve
@@ -247,7 +247,6 @@ bağlı olmaksızın yapılmış tanımlara göre atar.</td></tr>
<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr>
<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_setenvif</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache 1.3 ve sonrasında mevcuttur.</td></tr>
</table>
<p><code class="directive">SetEnvIfNoCase</code> yönergesi sözdizimsel ve anlamsal
olarak <code class="directive"><a href="#setenvif">SetEnvIf</a></code>
@@ -271,6 +270,6 @@ bağlı olmaksızın yapılmış tanımlara göre atar.</td></tr>
<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_setenvif.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_so.html.en b/docs/manual/mod/mod_so.html.en
index 9812d2b5..287ca159 100644
--- a/docs/manual/mod/mod_so.html.en
+++ b/docs/manual/mod/mod_so.html.en
@@ -187,6 +187,6 @@ of active modules</td></tr>
<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_so.html.ja.utf8 b/docs/manual/mod/mod_so.html.ja.utf8
index e13acd0c..bc618d6f 100644
--- a/docs/manual/mod/mod_so.html.ja.utf8
+++ b/docs/manual/mod/mod_so.html.ja.utf8
@@ -187,6 +187,6 @@
<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_so.html.ko.euc-kr b/docs/manual/mod/mod_so.html.ko.euc-kr
index 30cc07c1..f3af1104 100644
--- a/docs/manual/mod/mod_so.html.ko.euc-kr
+++ b/docs/manual/mod/mod_so.html.ko.euc-kr
@@ -171,6 +171,6 @@
<a href="../ko/mod/mod_so.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_so.html.tr.utf8 b/docs/manual/mod/mod_so.html.tr.utf8
index fb6ef093..d840b5cc 100644
--- a/docs/manual/mod/mod_so.html.tr.utf8
+++ b/docs/manual/mod/mod_so.html.tr.utf8
@@ -191,6 +191,6 @@ ve etkin modül listesine ekler.</td></tr>
<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_so.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_speling.html.en b/docs/manual/mod/mod_speling.html.en
index 4d9c4df5..85e4be3d 100644
--- a/docs/manual/mod/mod_speling.html.en
+++ b/docs/manual/mod/mod_speling.html.en
@@ -140,6 +140,6 @@ of Apache 1.3, it is part of the Apache distribution. Prior to Apache
<a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_speling.html.ja.utf8 b/docs/manual/mod/mod_speling.html.ja.utf8
index 497ab3a3..ca6ee213 100644
--- a/docs/manual/mod/mod_speling.html.ja.utf8
+++ b/docs/manual/mod/mod_speling.html.ja.utf8
@@ -66,11 +66,25 @@
</div>
<div id="quickview"><h3 class="directives">ディレクティブ</h3>
<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#checkcaseonly">CheckCaseOnly</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#checkspelling">CheckSpelling</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CheckCaseOnly" id="CheckCaseOnly">CheckCaseOnly</a> <a name="checkcaseonly" id="checkcaseonly">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Limits the action of the speling module to case corrections</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CheckCaseOnly on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CheckCaseOnly Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">上書ã:</a></th><td>Options</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_speling</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CheckSpelling" id="CheckSpelling">CheckSpelling</a> <a name="checkspelling" id="checkspelling">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>spelling モジュールを使用ã™ã‚‹ã‚ˆã†ã«ã™ã‚‹</td></tr>
@@ -124,6 +138,6 @@
<a href="../ja/mod/mod_speling.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_speling.html.ko.euc-kr b/docs/manual/mod/mod_speling.html.ko.euc-kr
index bb1da400..c86520c8 100644
--- a/docs/manual/mod/mod_speling.html.ko.euc-kr
+++ b/docs/manual/mod/mod_speling.html.ko.euc-kr
@@ -59,11 +59,25 @@
</div>
<div id="quickview"><h3 class="directives">Áö½Ã¾îµé</h3>
<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#checkcaseonly">CheckCaseOnly</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#checkspelling">CheckSpelling</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CheckCaseOnly" id="CheckCaseOnly">CheckCaseOnly</a> <a name="checkcaseonly" id="checkcaseonly">Áö½Ã¾î</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>Limits the action of the speling module to case corrections</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">¹®¹ý:</a></th><td><code>CheckCaseOnly on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">±âº»°ª:</a></th><td><code>CheckCaseOnly Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">»ç¿ëÀå¼Ò:</a></th><td>ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Override ¿É¼Ç:</a></th><td>Options</td></tr>
+<tr><th><a href="directive-dict.html#Status">»óÅÂ:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">¸ðµâ:</a></th><td>mod_speling</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CheckSpelling" id="CheckSpelling">CheckSpelling</a> <a name="checkspelling" id="checkspelling">Áö½Ã¾î</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>¸ÂÃã¹ý ¸ðµâÀ» »ç¿ëÇÑ´Ù</td></tr>
@@ -115,6 +129,6 @@
<a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_speling.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_ssl.html.en b/docs/manual/mod/mod_ssl.html.en
index 501999c7..9558cb63 100644
--- a/docs/manual/mod/mod_ssl.html.en
+++ b/docs/manual/mod/mod_ssl.html.en
@@ -94,9 +94,11 @@ to provide the cryptography engine.</p>
<div class="section">
<h2><a name="envvars" id="envvars">Environment Variables</a></h2>
-<p>This module provides a lot of SSL information as additional environment
-variables to the SSI and CGI namespace. The generated variables are listed in
-the table below. For backward compatibility the information can
+<p>This module can be configured to provide several items of SSL information
+as additional environment variables to the SSI and CGI namespace. This
+information is not provided by default for performance reasons. (See
+<code class="directive">SSLOptions</code> StdEnvVars, below.) The generated variables
+are listed in the table below. For backward compatibility the information can
be made available under different names, too. Look in the <a href="../ssl/ssl_compat.html">Compatibility</a> chapter for details on the
compatibility variables.</p>
@@ -622,8 +624,8 @@ SSLCryptoDevice ubsec
</table>
<p>
This directive toggles the usage of the SSL/TLS Protocol Engine. This
-is usually used inside a <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> section to enable SSL/TLS for a
-particular virtual host. By default the SSL/TLS Protocol Engine is
+should be used inside a <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> section to enable SSL/TLS for a
+that virtual host. By default the SSL/TLS Protocol Engine is
disabled for both the main server and all configured virtual hosts.</p>
<div class="example"><h3>Example</h3><p><code>
&lt;VirtualHost _default_:443&gt;<br />
@@ -1287,21 +1289,14 @@ for additional information.
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type of remote server Certificate verification</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyVerify <em>level</em></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLProxyVerify none</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
-<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr>
</table>
<p>When a proxy is configured to forward requests to a remote SSL
server, this directive can be used to configure certificate
-verification of the remote server. Notice that this directive can be
-used both in per-server and per-directory context. In per-server
-context it applies to the remote server authentication process used in
-the standard SSL handshake when a connection is established by the
-proxy. In per-directory context it forces a SSL renegotation with the
-reconfigured remote server verification level after the HTTP request
-was read but before the HTTP response is sent.</p>
+verification of the remote server. </p>
<div class="warning">
<p>Note that even when certificate verification is enabled,
@@ -1350,19 +1345,14 @@ SSLProxyVerify require
Certificate verification</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyVerifyDepth <em>number</em></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLProxyVerifyDepth 1</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr>
</table>
<p>
This directive sets how deeply mod_ssl should verify before deciding that the
-remote server does not have a valid certificate. Notice that this directive can be
-used both in per-server and per-directory context. In per-server context it
-applies to the client authentication process used in the standard SSL
-handshake when a connection is established. In per-directory context it forces
-a SSL renegotation with the reconfigured remote server verification depth after the
-HTTP request was read but before the HTTP response is sent.</p>
+remote server does not have a valid certificate. </p>
<p>
The depth actually is the maximum number of intermediate certificate issuers,
i.e. the number of CA certificates which are max allowed to be followed while
@@ -1896,6 +1886,6 @@ SSLVerifyDepth 10
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_ssl.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_status.html.en b/docs/manual/mod/mod_status.html.en
index 4841f154..57f91649 100644
--- a/docs/manual/mod/mod_status.html.en
+++ b/docs/manual/mod/mod_status.html.en
@@ -198,6 +198,6 @@ of a request or the last 63, assuming the request itself is greater than
<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_status.html.ja.utf8 b/docs/manual/mod/mod_status.html.ja.utf8
index 0b939ca4..2cc58171 100644
--- a/docs/manual/mod/mod_status.html.ja.utf8
+++ b/docs/manual/mod/mod_status.html.ja.utf8
@@ -190,6 +190,6 @@
<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_status.html.ko.euc-kr b/docs/manual/mod/mod_status.html.ko.euc-kr
index 52303765..3589b6c6 100644
--- a/docs/manual/mod/mod_status.html.ko.euc-kr
+++ b/docs/manual/mod/mod_status.html.ko.euc-kr
@@ -68,6 +68,7 @@
<div id="quickview"><h3 class="directives">Áö½Ã¾îµé</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#extendedstatus">ExtendedStatus</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#seerequesttail">SeeRequestTail</a></li>
</ul>
<h3>ÁÖÁ¦</h3>
<ul id="topics">
@@ -140,6 +141,21 @@
¼ö ¾ø´Ù. ÀÚ¼¼ÇÑ »óÅ Á¤º¸¸¦ ¸ðÀ¸¸é ¼­¹ö°¡ ´À·ÁÁú ¼ö ÀÖ´Ù.</p>
</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SeeRequestTail" id="SeeRequestTail">SeeRequestTail</a> <a name="seerequesttail" id="seerequesttail">Áö½Ã¾î</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>Determine if mod_status displays the first 63 characters
+of a request or the last 63, assuming the request itself is greater than
+63 chars.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">¹®¹ý:</a></th><td><code>SeeRequestTail On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">±âº»°ª:</a></th><td><code>SeeRequestTail Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">»ç¿ëÀå¼Ò:</a></th><td>ÁÖ¼­¹ö¼³Á¤</td></tr>
+<tr><th><a href="directive-dict.html#Status">»óÅÂ:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">¸ðµâ:</a></th><td>mod_status</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Áö¿ø:</a></th><td>Available in Apache 2.2.7 and later.</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
</div>
<div class="bottomlang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
@@ -147,6 +163,6 @@
<a href="../ko/mod/mod_status.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_status.html.tr.utf8 b/docs/manual/mod/mod_status.html.tr.utf8
index c9971548..7e5ad419 100644
--- a/docs/manual/mod/mod_status.html.tr.utf8
+++ b/docs/manual/mod/mod_status.html.tr.utf8
@@ -192,6 +192,6 @@ karakterinin mi yoksa son 63 karakterinin mi gösterileceğini belirler.
<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_status.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_substitute.html.en b/docs/manual/mod/mod_substitute.html.en
index 126222a9..400bec13 100644
--- a/docs/manual/mod/mod_substitute.html.en
+++ b/docs/manual/mod/mod_substitute.html.en
@@ -102,6 +102,6 @@
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_substitute.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_suexec.html b/docs/manual/mod/mod_suexec.html
index f5d06c29..7bf30c42 100644
--- a/docs/manual/mod/mod_suexec.html
+++ b/docs/manual/mod/mod_suexec.html
@@ -4,6 +4,10 @@ URI: mod_suexec.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: mod_suexec.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: mod_suexec.html.ja.utf8
Content-Language: ja
Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/mod/mod_suexec.html.en b/docs/manual/mod/mod_suexec.html.en
index 52f5a67a..090b7348 100644
--- a/docs/manual/mod/mod_suexec.html.en
+++ b/docs/manual/mod/mod_suexec.html.en
@@ -22,6 +22,7 @@
<div id="preamble"><h1>Apache Module mod_suexec</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_suexec.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
@@ -69,14 +70,19 @@ later.</td></tr>
</code></p></div>
+<h3>See also</h3>
+<ul>
+<li><code class="directive"><a href="../mod/core.html#suexec">Suexec</a></code></li>
+</ul>
</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_suexec.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_suexec.html.fr b/docs/manual/mod/mod_suexec.html.fr
new file mode 100644
index 00000000..cc07087d
--- /dev/null
+++ b/docs/manual/mod/mod_suexec.html.fr
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_suexec - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_suexec</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_suexec.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet l'exécution des scripts CGI sous l'identité des utilisateur et
+groupe spécifiés</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>suexec_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_suexec.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.0 d'Apache</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Ce module permet, en s'interfaçant avec le binaire
+ <code class="program"><a href="../programs/suexec.html">suexec</a></code>, l'exécution des scripts CGI avec les
+ identifiants utilisateur et groupe spécifiés.</p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#suexecusergroup">SuexecUserGroup</a></li>
+</ul>
+<h3>Voir aussi</h3>
+<ul class="seealso">
+<li><a href="../suexec.html">Support de SuEXEC</a></li>
+</ul></div>
+
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SuexecUserGroup" id="SuexecUserGroup">SuexecUserGroup</a> <a name="suexecusergroup" id="suexecusergroup">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'utilisateur et le groupe sous lesquels les programmes CGI
+doivent s'exécuter</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SuexecUserGroup <em>Utilisateur Groupe</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_suexec</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.0 d'Apache</td></tr>
+</table>
+ <p>La directive <code class="directive">SuexecUserGroup</code> permet de
+ spécifier l'utilisateur et le groupe sous les identifiants desquels les programmes
+ CGI doivent s'exécuter. Les requêtes non CGI seront toujours
+ traitées avec l'utilisateur spécifié par la directive <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code>. Cette directive remplace
+ l'utilisation des directives <code>User</code> et <code>Group</code>
+ à l'intérieur d'un serveur virtuel dans la configuration d'Apache
+ 1.3.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+
+ SuexecUserGroup nobody nogroup
+ </code></p></div>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="../mod/core.html#suexec">Suexec</a></code></li>
+</ul>
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_suexec.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_suexec.html.ja.utf8 b/docs/manual/mod/mod_suexec.html.ja.utf8
index fe6d988d..08693412 100644
--- a/docs/manual/mod/mod_suexec.html.ja.utf8
+++ b/docs/manual/mod/mod_suexec.html.ja.utf8
@@ -22,6 +22,7 @@
<div id="preamble"><h1>Apache モジュール mod_suexec</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_suexec.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
@@ -74,10 +75,11 @@
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_suexec.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_suexec.html.ko.euc-kr b/docs/manual/mod/mod_suexec.html.ko.euc-kr
index d444ea1b..7c93873e 100644
--- a/docs/manual/mod/mod_suexec.html.ko.euc-kr
+++ b/docs/manual/mod/mod_suexec.html.ko.euc-kr
@@ -22,6 +22,7 @@
<div id="preamble"><h1>¾ÆÆÄÄ¡ ¸ðµâ mod_suexec</h1>
<div class="toplang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_suexec.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
@@ -74,10 +75,11 @@
</div>
<div class="bottomlang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_suexec.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_suexec.html.tr.utf8 b/docs/manual/mod/mod_suexec.html.tr.utf8
index 6e476aab..1b19069f 100644
--- a/docs/manual/mod/mod_suexec.html.tr.utf8
+++ b/docs/manual/mod/mod_suexec.html.tr.utf8
@@ -22,6 +22,7 @@
<div id="preamble"><h1>Apache Modülü mod_suexec</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_suexec.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
@@ -71,14 +72,19 @@
</code></p></div>
+<h3>Ayrıca bakınız:</h3>
+<ul>
+<li><code class="directive"><a href="../mod/core.html#suexec">Suexec</a></code></li>
+</ul>
</div>
</div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_suexec.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_unique_id.html.en b/docs/manual/mod/mod_unique_id.html.en
index d8e95f8c..f8f1b802 100644
--- a/docs/manual/mod/mod_unique_id.html.en
+++ b/docs/manual/mod/mod_unique_id.html.en
@@ -211,6 +211,6 @@ identifier for each request</td></tr>
<a href="../ja/mod/mod_unique_id.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_unique_id.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_unique_id.html.ja.utf8 b/docs/manual/mod/mod_unique_id.html.ja.utf8
index 1a811095..dfa226be 100644
--- a/docs/manual/mod/mod_unique_id.html.ja.utf8
+++ b/docs/manual/mod/mod_unique_id.html.ja.utf8
@@ -209,6 +209,6 @@
<a href="../ja/mod/mod_unique_id.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_unique_id.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_unique_id.html.ko.euc-kr b/docs/manual/mod/mod_unique_id.html.ko.euc-kr
index 4b1c6f87..debaf579 100644
--- a/docs/manual/mod/mod_unique_id.html.ko.euc-kr
+++ b/docs/manual/mod/mod_unique_id.html.ko.euc-kr
@@ -186,6 +186,6 @@
<a href="../ja/mod/mod_unique_id.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_unique_id.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_userdir.html.en b/docs/manual/mod/mod_userdir.html.en
index f35277be..d95f2c11 100644
--- a/docs/manual/mod/mod_userdir.html.en
+++ b/docs/manual/mod/mod_userdir.html.en
@@ -181,6 +181,6 @@ tutorial</a></li>
<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_userdir.html.ja.utf8 b/docs/manual/mod/mod_userdir.html.ja.utf8
index 252c7569..87ca1d1d 100644
--- a/docs/manual/mod/mod_userdir.html.ja.utf8
+++ b/docs/manual/mod/mod_userdir.html.ja.utf8
@@ -184,6 +184,6 @@ Apache ã¯ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãŒæˆåŠŸã™ã‚‹ã‹ã©ã†ã‹ã‚’決ã‚ã‚‹ã“ã¨ã¯ã§ã
<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_userdir.html.ko.euc-kr b/docs/manual/mod/mod_userdir.html.ko.euc-kr
index bc2a931b..979b6d94 100644
--- a/docs/manual/mod/mod_userdir.html.ko.euc-kr
+++ b/docs/manual/mod/mod_userdir.html.ko.euc-kr
@@ -158,6 +158,6 @@ http://www.foo.com/bob/one/two.htmlÀ¸·Î ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù.</p>
<a href="../ko/mod/mod_userdir.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_userdir.html.tr.utf8 b/docs/manual/mod/mod_userdir.html.tr.utf8
index eaa648d9..5cedbeb2 100644
--- a/docs/manual/mod/mod_userdir.html.tr.utf8
+++ b/docs/manual/mod/mod_userdir.html.tr.utf8
@@ -177,6 +177,6 @@
<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_userdir.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_usertrack.html.en b/docs/manual/mod/mod_usertrack.html.en
index 844e3d6c..7002d599 100644
--- a/docs/manual/mod/mod_usertrack.html.en
+++ b/docs/manual/mod/mod_usertrack.html.en
@@ -247,6 +247,6 @@ time late in the year "37".
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_usertrack.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_version.html.en b/docs/manual/mod/mod_version.html.en
index 803c068b..5298598e 100644
--- a/docs/manual/mod/mod_version.html.en
+++ b/docs/manual/mod/mod_version.html.en
@@ -146,6 +146,6 @@
<a href="../ja/mod/mod_version.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_version.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_version.html.ja.utf8 b/docs/manual/mod/mod_version.html.ja.utf8
index 25d0de7f..d1f22df8 100644
--- a/docs/manual/mod/mod_version.html.ja.utf8
+++ b/docs/manual/mod/mod_version.html.ja.utf8
@@ -145,6 +145,6 @@
<a href="../ja/mod/mod_version.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_version.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_version.html.ko.euc-kr b/docs/manual/mod/mod_version.html.ko.euc-kr
index dee93b6c..d7c21d64 100644
--- a/docs/manual/mod/mod_version.html.ko.euc-kr
+++ b/docs/manual/mod/mod_version.html.ko.euc-kr
@@ -145,6 +145,6 @@
<a href="../ja/mod/mod_version.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_version.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_vhost_alias.html.en b/docs/manual/mod/mod_vhost_alias.html.en
index c4cfb8fc..6096920e 100644
--- a/docs/manual/mod/mod_vhost_alias.html.en
+++ b/docs/manual/mod/mod_vhost_alias.html.en
@@ -309,6 +309,6 @@ a given virtual host</td></tr>
<p><span>Available Languages: </span><a href="../en/mod/mod_vhost_alias.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../tr/mod/mod_vhost_alias.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_vhost_alias.html.tr.utf8 b/docs/manual/mod/mod_vhost_alias.html.tr.utf8
index 930bf74e..c64f4bba 100644
--- a/docs/manual/mod/mod_vhost_alias.html.tr.utf8
+++ b/docs/manual/mod/mod_vhost_alias.html.tr.utf8
@@ -301,6 +301,6 @@ Sanal Barındırma</a></li>
<p><span>Mevcut Diller: </span><a href="../en/mod/mod_vhost_alias.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../tr/mod/mod_vhost_alias.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/module-dict.html.en b/docs/manual/mod/module-dict.html.en
index c645d276..4386a0af 100644
--- a/docs/manual/mod/module-dict.html.en
+++ b/docs/manual/mod/module-dict.html.en
@@ -114,6 +114,6 @@
<a href="../ko/mod/module-dict.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/module-dict.html.ja.utf8 b/docs/manual/mod/module-dict.html.ja.utf8
index a092d5b9..fd5b3b41 100644
--- a/docs/manual/mod/module-dict.html.ja.utf8
+++ b/docs/manual/mod/module-dict.html.ja.utf8
@@ -116,6 +116,6 @@
<a href="../ko/mod/module-dict.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/module-dict.html.ko.euc-kr b/docs/manual/mod/module-dict.html.ko.euc-kr
index 39e864a6..3646e18b 100644
--- a/docs/manual/mod/module-dict.html.ko.euc-kr
+++ b/docs/manual/mod/module-dict.html.ko.euc-kr
@@ -106,6 +106,6 @@
<a href="../ko/mod/module-dict.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/module-dict.html.tr.utf8 b/docs/manual/mod/module-dict.html.tr.utf8
index 82586496..35ba8867 100644
--- a/docs/manual/mod/module-dict.html.tr.utf8
+++ b/docs/manual/mod/module-dict.html.tr.utf8
@@ -86,6 +86,6 @@
<a href="../ko/mod/module-dict.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/module-dict.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mpm_common.html.de b/docs/manual/mod/mpm_common.html.de
index 78b20290..9481eb56 100644
--- a/docs/manual/mod/mpm_common.html.de
+++ b/docs/manual/mod/mpm_common.html.de
@@ -36,8 +36,10 @@
<div id="quickview"><h3 class="directives">Direktiven</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#acceptmutex">AcceptMutex</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#chrootdir">ChrootDir</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#coredumpdirectory">CoreDumpDirectory</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#enableexceptionhook">EnableExceptionHook</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#group">Group</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#listen">Listen</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#listenbacklog">ListenBackLog</a></li>
@@ -48,6 +50,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#maxsparethreads">MaxSpareThreads</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#minsparethreads">MinSpareThreads</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#pidfile">PidFile</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#receivebuffersize">ReceiveBufferSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#scoreboardfile">ScoreBoardFile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#sendbuffersize">SendBufferSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#serverlimit">ServerLimit</a></li>
@@ -131,6 +134,19 @@
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ChrootDir" id="ChrootDir">ChrootDir</a>-<a name="chrootdir" id="chrootdir">Direktive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Directory for apache to run chroot(8) after startup.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ChrootDir <var>/path/to/directory</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
+<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache 2.2.10 and later</td></tr>
+</table><p>Die Dokumentation zu dieser Direktive wurde
+ noch nicht übersetzt. Bitte schauen Sie in die englische
+ Version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a>-<a name="coredumpdirectory" id="coredumpdirectory">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Verzeichnis, in das der Apache zu wechseln versucht, bevor er
@@ -185,6 +201,20 @@ Ausnahmefehler behandeln lassen kann</td></tr>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="GracefulShutdownTimeout" id="GracefulShutdownTimeout">GracefulShutdownTimeout</a>-<a name="gracefulshutdowntimeout" id="gracefulshutdowntimeout">Direktive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Specify a timeout after which a gracefully shutdown server
+will exit.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>GracefulShutDownTimeout <var>seconds</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>GracefulShutDownTimeout 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
+<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/event.html">event</a></code></td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in version 2.2 and later</td></tr>
+</table><p>Die Dokumentation zu dieser Direktive wurde
+ noch nicht übersetzt. Bitte schauen Sie in die englische
+ Version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Group" id="Group">Group</a>-<a name="group" id="group">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Benutzergruppe, unter welcher der Server Anfragen
@@ -615,6 +645,18 @@ ablegt</td></tr>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ReceiveBufferSize" id="ReceiveBufferSize">ReceiveBufferSize</a>-<a name="receivebuffersize" id="receivebuffersize">Direktive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>TCP receive buffer size</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ReceiveBufferSize <var>bytes</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ReceiveBufferSize 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
+<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
+</table><p>Die Dokumentation zu dieser Direktive wurde
+ noch nicht übersetzt. Bitte schauen Sie in die englische
+ Version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a>-<a name="scoreboardfile" id="scoreboardfile">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ablageort der Datei, die zur Speicherung von Daten zur
@@ -985,6 +1027,6 @@ gültig</td></tr>
<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mpm_common.html.en b/docs/manual/mod/mpm_common.html.en
index b6c47655..b2e94b57 100644
--- a/docs/manual/mod/mpm_common.html.en
+++ b/docs/manual/mod/mpm_common.html.en
@@ -172,6 +172,12 @@ switch before dumping core</td></tr>
on Linux 2.4 and beyond, but only if you explicitly configure a <code class="directive">CoreDumpDirectory</code>.</p>
</div>
+ <div class="note"><h3>Core Dumps on BSD</h3>
+ <p>To enable core-dumping of suid-executables on BSD-systems (such
+ as FreeBSD), set <code>kern.sugid_coredump</code> to 1.
+ </p></div>
+
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a> <a name="enableexceptionhook" id="enableexceptionhook">Directive</a></h2>
@@ -488,6 +494,13 @@ will handle during its life</td></tr>
changes the behavior to limit the number of <em>connections</em> per
child.</p>
</div>
+ <div class="note"><h3>Default Configuration</h3>
+ <p>The default (compiled-in) value of this setting (10000) is used when
+ no <code class="directive">MaxRequestsPerChild</code> directive is present in the
+ configuration. Many default configurations provided with the server include
+ "MaxRequestsPerChild 0" as part of the <em>default configuration</em>.</p>
+</div>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -684,6 +697,15 @@ Apache</a></li>
<p>If set to the value of <code>0</code>, the server will use the
OS default.</p>
+ <p>Further configuration of your operating system may be required to elicit
+ better performance on high speed, high latency connections.</p>
+
+ <div class="note"> <p> On some operating systems, changes in TCP behavior resulting
+ from a larger <code class="directive">SendBufferSize</code> may not be seen unless
+ <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> is set to OFF. This
+ interaction applies only to static files.</p> </div>
+
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ServerLimit" id="ServerLimit">ServerLimit</a> <a name="serverlimit" id="serverlimit">Directive</a></h2>
@@ -884,7 +906,7 @@ client connections</td></tr>
of adjustment should only be made in a test environment which allows
the full set of web server processing can be exercised, as there
may be infrequent requests which require more stack to process.
- The minumum required stack size strongly depends on the modules
+ The minimum required stack size strongly depends on the modules
used, but any change in the web server configuration can invalidate
the current <code class="directive">ThreadStackSize</code> setting.</li>
</ul>
@@ -958,6 +980,6 @@ requests</td></tr>
<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mpm_common.html.ja.utf8 b/docs/manual/mod/mpm_common.html.ja.utf8
index 8f94bb72..d6132856 100644
--- a/docs/manual/mod/mpm_common.html.ja.utf8
+++ b/docs/manual/mod/mpm_common.html.ja.utf8
@@ -35,6 +35,7 @@
<div id="quickview"><h3 class="directives">ディレクティブ</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#acceptmutex">AcceptMutex</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#chrootdir">ChrootDir</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#coredumpdirectory">CoreDumpDirectory</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#enableexceptionhook">EnableExceptionHook</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li>
@@ -133,6 +134,19 @@ accept ã—よã†ã¨ã—ã¦ã„ã‚‹ã¨ãã«ã€Apache ãŒãれらã®å­ãƒ—ロセス
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ChrootDir" id="ChrootDir">ChrootDir</a> <a name="chrootdir" id="chrootdir">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Directory for apache to run chroot(8) after startup.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ChrootDir <var>/path/to/directory</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Available in Apache 2.2.10 and later</td></tr>
+</table><p>The documentation for this directive has
+ not been translated yet. Please have a look at the English
+ version.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a> <a name="coredumpdirectory" id="coredumpdirectory">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Apache ãŒã‚³ã‚¢ãƒ€ãƒ³ãƒ—ã™ã‚‹å‰ã«ç§»å‹•ã‚’試ã¿ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª
@@ -991,6 +1005,6 @@ accept ã—よã†ã¨ã—ã¦ã„ã‚‹ã¨ãã«ã€Apache ãŒãれらã®å­ãƒ—ロセス
<a href="../ja/mod/mpm_common.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mpm_common.html.tr.utf8 b/docs/manual/mod/mpm_common.html.tr.utf8
index 6368b79b..428396b8 100644
--- a/docs/manual/mod/mpm_common.html.tr.utf8
+++ b/docs/manual/mod/mpm_common.html.tr.utf8
@@ -26,7 +26,6 @@
<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/mpm_common.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
-<div class="outofdate">Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Birden fazla Çok Süreçlilik Modülü (MPM) tarafından gerçeklenmiş
yönergeler bütünü.</td></tr>
<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>MPM</td></tr></table>
@@ -180,6 +179,13 @@
etkinleÅŸtirecektir.</p>
</div>
+ <div class="note"><h3>BSD üzerinde <code>core</code> dökümlemek</h3>
+ <p>BSD-sistemlerde (FreeBSD gibi) suid-çalıştırılabilirlerinin
+ <code>core</code> dökümlemesini etkinleştirmek için
+ <code>kern.sugid_coredump</code> değişkenine 1 atayın.
+ </p></div>
+
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a> <a name="enableexceptionhook" id="enableexceptionhook">Yönergesi</a></h2>
@@ -501,6 +507,15 @@
deÄŸiÅŸmesidir.</p>
</div>
+ <div class="note"><h3>Öntanımlı Yapılandırma</h3>
+ <p>Öntanımlı (derleme sırasında atanan) değer (10000), yapılandırmada
+ hiçbir <code class="directive">MaxRequestsPerChild</code> yönergesi bulunmadığı
+ durumda kullanılır. <em>Öntanımlı yapılandırma</em>,
+ "MaxRequestsPerChild 0" dahil pek çok öntanımlı yapılandırma yönergesi
+ içerir.</p>
+ </div>
+
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="MaxSpareThreads" id="MaxSpareThreads">MaxSpareThreads</a> <a name="maxsparethreads" id="maxsparethreads">Yönergesi</a></h2>
@@ -690,6 +705,16 @@
<p><code>0</code> değeri atarsanız sunucu işletim sistemi öntanımlısını
kullanacaktır.</p>
+ <p>Yüksek hızlı yüksek yataklık süreli bağlantılarda daha iyi başarım elde
+ etmek için işletim sisteminizde bazı yapılandırmalara gitmeniz
+ gerekebilir.</p>
+
+ <div class="note"><p>Bazı işletim sistemlerinde daha büyük bir
+ <code class="directive">SendBufferSize</code> ile sonuçlanan TCP davranışındaki
+ deÄŸiÅŸiklikler, <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code>
+ yönergesine OFF atanmadıkça görülmeyebilir. Bu etkileşim sadece duruk
+ dosyalarda ortaya çıkar.</p></div>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ServerLimit" id="ServerLimit">ServerLimit</a> <a name="serverlimit" id="serverlimit">Yönergesi</a></h2>
@@ -862,7 +887,7 @@
deÄŸiÅŸir.</code></td></tr>
<tr><th><a href="directive-dict.html#Context">BaÄŸlam:</a></th><td>sunucu geneli</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr>
-<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
+<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache 2.1 ve sonrasında mevcuttur.</td></tr>
</table>
<p><code class="directive">ThreadStackSize</code> yönergesi, istemci
@@ -889,11 +914,19 @@
düşük bir değer atanmışsa çocuk süreç başına evre sayısının yüksek
olduğu durumlarda bu yığıt yetmeyebilir. Böyle bir ayarlama sadece
sunucunun öldüresiye denendiği dolayısıyla yığıt boyutlarının aşırı
- zorlandığı deneme ortamlarında yapılmalıdır. Sunucu yapılandırmasında
- yapılan bir değişiklik mevcut <code class="directive">ThreadStackSize</code>
- ayarını geçersiz hale getirebilir.</li>
+ zorlandığı deneme ortamlarında yapılmalıdır. Gereken en küçük yığıt
+ boyutu kullanılan modüllerle sıkı sıkıya ilintilidir, fakat sunucu
+ yapılandırmasında yapılan bir değişiklik mevcut
+ <code class="directive">ThreadStackSize</code> ayarını geçersiz hale
+ getirebilir.</li>
</ul>
+ <div class="note">Çocuk süreç başına evre sayısı çok yüksek olmadıkça
+ <code class="directive">ThreadStackSize</code> değerinin azaltılması önerilmez.
+ Bazı platformlarda (Linux dahil), 128000 değeri zaten çok düşüktür ve bazı
+ modüllerde çökmelere sebep olabilmektedir.</div>
+
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="User" id="User">User</a> <a name="user" id="user">Yönergesi</a></h2>
@@ -960,6 +993,6 @@
<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/mpm_common.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mpm_netware.html.en b/docs/manual/mod/mpm_netware.html.en
index b080f5d1..4ab7c837 100644
--- a/docs/manual/mod/mpm_netware.html.en
+++ b/docs/manual/mod/mpm_netware.html.en
@@ -105,6 +105,6 @@
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mpm_netware.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mpm_winnt.html.de b/docs/manual/mod/mpm_winnt.html.de
index 45bbcf0e..dbe881d8 100644
--- a/docs/manual/mod/mpm_winnt.html.de
+++ b/docs/manual/mod/mpm_winnt.html.de
@@ -89,6 +89,6 @@ Direktive, um den Gebrauch von AcceptEx() zu deaktivieren.</code></td></tr>
<a href="../en/mod/mpm_winnt.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mpm_winnt.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mpm_winnt.html.en b/docs/manual/mod/mpm_winnt.html.en
index 7bc51634..0e5a04b0 100644
--- a/docs/manual/mod/mpm_winnt.html.en
+++ b/docs/manual/mod/mpm_winnt.html.en
@@ -89,6 +89,6 @@ NT.</td></tr>
<a href="../en/mod/mpm_winnt.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mpm_winnt.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mpm_winnt.html.ja.utf8 b/docs/manual/mod/mpm_winnt.html.ja.utf8
index f34ed505..07cdd7b3 100644
--- a/docs/manual/mod/mpm_winnt.html.ja.utf8
+++ b/docs/manual/mod/mpm_winnt.html.ja.utf8
@@ -87,6 +87,6 @@
<a href="../en/mod/mpm_winnt.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mpm_winnt.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mpmt_os2.html.en b/docs/manual/mod/mpmt_os2.html.en
index effa365b..6a82ba23 100644
--- a/docs/manual/mod/mpmt_os2.html.en
+++ b/docs/manual/mod/mpmt_os2.html.en
@@ -68,6 +68,6 @@ uses</a></li>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mpmt_os2.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/prefork.html.de b/docs/manual/mod/prefork.html.de
index 9bc69af0..bc447fba 100644
--- a/docs/manual/mod/prefork.html.de
+++ b/docs/manual/mod/prefork.html.de
@@ -188,6 +188,6 @@
<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/prefork.html.en b/docs/manual/mod/prefork.html.en
index 9b662909..ce60cc04 100644
--- a/docs/manual/mod/prefork.html.en
+++ b/docs/manual/mod/prefork.html.en
@@ -173,6 +173,6 @@ uses</a></li>
<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/prefork.html.ja.utf8 b/docs/manual/mod/prefork.html.ja.utf8
index 78a3d227..81e55914 100644
--- a/docs/manual/mod/prefork.html.ja.utf8
+++ b/docs/manual/mod/prefork.html.ja.utf8
@@ -185,6 +185,6 @@
<a href="../ja/mod/prefork.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/prefork.html.tr.utf8 b/docs/manual/mod/prefork.html.tr.utf8
index e829fe8e..3327ca86 100644
--- a/docs/manual/mod/prefork.html.tr.utf8
+++ b/docs/manual/mod/prefork.html.tr.utf8
@@ -172,6 +172,6 @@ ayarlanması</a></li>
<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/prefork.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/quickreference.html b/docs/manual/mod/quickreference.html
index 1e27a3b5..34ec8527 100644
--- a/docs/manual/mod/quickreference.html
+++ b/docs/manual/mod/quickreference.html
@@ -27,3 +27,7 @@ Content-type: text/html; charset=KOI8-R
URI: quickreference.html.tr.utf8
Content-Language: tr
Content-type: text/html; charset=UTF-8
+
+URI: quickreference.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/mod/quickreference.html.de b/docs/manual/mod/quickreference.html.de
index 3d5fbc89..00231c02 100644
--- a/docs/manual/mod/quickreference.html.de
+++ b/docs/manual/mod/quickreference.html.de
@@ -26,7 +26,8 @@
<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/quickreference.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">Diese Übersetzung ist möglicherweise
nicht mehr aktuell. Bitte prüfen Sie die englische Version auf
@@ -62,197 +63,199 @@
</table></td></tr>
</table>
<table class="qref">
-<tr><td><a href="mpm_common.html#acceptmutex" id="A" name="A">AcceptMutex Default|<var>Methode</var></a></td><td> Default </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Vom Apache verwendete Methode zur Serialisierung mehrerer
+<tr><td><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter <var>protocol</var> <var>accept_filter</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures optimizations for a Protocol's Listener Sockets</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#acceptmutex">AcceptMutex Default|<var>Methode</var></a></td><td> Default </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Vom Apache verwendete Methode zur Serialisierung mehrerer
Kindprozesse, die Anfragen an Netzwerk-Sockets entgegennehmen.</td></tr>
-<tr class="odd"><td><a href="core.html#acceptpathinfo">AcceptPathInfo On|Off|Default</a></td><td> Default </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Ressourcen lassen angehängte Pfadangaben zu</td></tr>
-<tr><td><a href="core.html#accessfilename">AccessFileName <var>Dateiname</var> [<var>Dateiname</var>] ...</a></td><td> .htaccess </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Name der dezentralen Konfigurationsdateien</td></tr>
-<tr class="odd"><td><a href="mod_actions.html#action">Action <var>Aktionsart</var> <var>CGI-Skript</var> [virtual]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Aktiviert ein CGI-Skript für einen bestimmten Handler oder
+<tr><td><a href="core.html#acceptpathinfo">AcceptPathInfo On|Off|Default</a></td><td> Default </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Ressourcen lassen angehängte Pfadangaben zu</td></tr>
+<tr class="odd"><td><a href="core.html#accessfilename">AccessFileName <var>Dateiname</var> [<var>Dateiname</var>] ...</a></td><td> .htaccess </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Name der dezentralen Konfigurationsdateien</td></tr>
+<tr><td><a href="mod_actions.html#action">Action <var>Aktionsart</var> <var>CGI-Skript</var> [virtual]</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Aktiviert ein CGI-Skript für einen bestimmten Handler oder
Content-Type</td></tr>
-<tr><td><a href="mod_autoindex.html#addalt">AddAlt <var>string</var> <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Alternate text to display for a file, instead of an
+<tr class="odd"><td><a href="mod_autoindex.html#addalt">AddAlt <var>string</var> <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Alternate text to display for a file, instead of an
icon selected by filename</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding <var>string</var> <var>MIME-encoding</var>
-[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Alternate text to display for a file instead of an icon
+<tr><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding <var>string</var> <var>MIME-encoding</var>
+[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Alternate text to display for a file instead of an icon
selected by MIME-encoding</td></tr>
-<tr><td><a href="mod_autoindex.html#addaltbytype">AddAltByType <var>string</var> <var>MIME-type</var>
-[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Alternate text to display for a file, instead of an
+<tr class="odd"><td><a href="mod_autoindex.html#addaltbytype">AddAltByType <var>string</var> <var>MIME-type</var>
+[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Alternate text to display for a file, instead of an
icon selected by MIME content-type</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#addcharset">AddCharset <var>charset</var> <var>extension</var>
-[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the given filename extensions to the specified content
+<tr><td><a href="mod_mime.html#addcharset">AddCharset <var>charset</var> <var>extension</var>
+[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions to the specified content
charset</td></tr>
-<tr><td><a href="core.html#adddefaultcharset">AddDefaultCharset On|Off|<var>Zeichenkodierung</var></a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Standard-Charset-Parameter, der bei Antworten vom Content-Type
+<tr class="odd"><td><a href="core.html#adddefaultcharset">AddDefaultCharset On|Off|<var>Zeichenkodierung</var></a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Standard-Charset-Parameter, der bei Antworten vom Content-Type
<code>text/plain</code> oder <code>text/html</code> hinzugefügt wird
</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#adddescription">AddDescription <var>string file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Description to display for a file</td></tr>
-<tr><td><a href="mod_mime.html#addencoding">AddEncoding <var>MIME-enc</var> <var>extension</var>
-[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions to the specified encoding
+<tr><td><a href="mod_autoindex.html#adddescription">AddDescription <var>string file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Description to display for a file</td></tr>
+<tr class="odd"><td><a href="mod_mime.html#addencoding">AddEncoding <var>MIME-enc</var> <var>extension</var>
+[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the given filename extensions to the specified encoding
type</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#addhandler">AddHandler <var>handler-name</var> <var>extension</var>
-[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the filename extensions to the specified
+<tr><td><a href="mod_mime.html#addhandler">AddHandler <var>handler-name</var> <var>extension</var>
+[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the filename extensions to the specified
handler</td></tr>
-<tr><td><a href="mod_autoindex.html#addicon">AddIcon <var>icon</var> <var>name</var> [<var>name</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display for a file selected by name</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding <var>icon</var> <var>MIME-encoding</var>
-[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icon to display next to files selected by MIME
+<tr class="odd"><td><a href="mod_autoindex.html#addicon">AddIcon <var>icon</var> <var>name</var> [<var>name</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icon to display for a file selected by name</td></tr>
+<tr><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding <var>icon</var> <var>MIME-encoding</var>
+[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display next to files selected by MIME
content-encoding</td></tr>
-<tr><td><a href="mod_autoindex.html#addiconbytype">AddIconByType <var>icon</var> <var>MIME-type</var>
-[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display next to files selected by MIME
+<tr class="odd"><td><a href="mod_autoindex.html#addiconbytype">AddIconByType <var>icon</var> <var>MIME-type</var>
+[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icon to display next to files selected by MIME
content-type</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#addinputfilter">AddInputFilter <var>filter</var>[;<var>filter</var>...]
-<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps filename extensions to the filters that will process
+<tr><td><a href="mod_mime.html#addinputfilter">AddInputFilter <var>filter</var>[;<var>filter</var>...]
+<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps filename extensions to the filters that will process
client requests</td></tr>
-<tr><td><a href="mod_mime.html#addlanguage">AddLanguage <var>MIME-lang</var> <var>extension</var>
-[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extension to the specified content
+<tr class="odd"><td><a href="mod_mime.html#addlanguage">AddLanguage <var>MIME-lang</var> <var>extension</var>
+[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the given filename extension to the specified content
language</td></tr>
-<tr class="odd"><td><a href="mod_info.html#addmoduleinfo">AddModuleInfo <var>module-name</var> <var>string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds additional information to the module
+<tr><td><a href="mod_info.html#addmoduleinfo">AddModuleInfo <var>module-name</var> <var>string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Adds additional information to the module
information displayed by the server-info handler</td></tr>
-<tr><td><a href="mod_mime.html#addoutputfilter">AddOutputFilter <var>filter</var>[;<var>filter</var>...]
-<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps filename extensions to the filters that will process
+<tr class="odd"><td><a href="mod_mime.html#addoutputfilter">AddOutputFilter <var>filter</var>[;<var>filter</var>...]
+<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps filename extensions to the filters that will process
responses from the server</td></tr>
-<tr class="odd"><td><a href="core.html#addoutputfilterbytype">AddOutputFilterByType <var>Filter</var>[;<var>Filter</var>...]
-<var>MIME-Type</var> [<var>MIME-Type</var>] ...</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">einen Ausgabefilter einem bestimmten MIME-Type
+<tr><td><a href="core.html#addoutputfilterbytype">AddOutputFilterByType <var>Filter</var>[;<var>Filter</var>...]
+<var>MIME-Type</var> [<var>MIME-Type</var>] ...</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">einen Ausgabefilter einem bestimmten MIME-Type
zuordnen</td></tr>
-<tr><td><a href="mod_mime.html#addtype">AddType <var>MIME-type</var> <var>extension</var>
-[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions onto the specified content
+<tr class="odd"><td><a href="mod_mime.html#addtype">AddType <var>MIME-type</var> <var>extension</var>
+[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the given filename extensions onto the specified content
type</td></tr>
-<tr class="odd"><td><a href="mod_alias.html#alias">Alias <var>URL-path</var>
-<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps URLs to filesystem locations</td></tr>
-<tr><td><a href="mod_alias.html#aliasmatch">AliasMatch <var>regex</var>
-<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps URLs to filesystem locations using regular
+<tr><td><a href="mod_alias.html#alias">Alias <var>URL-path</var>
+<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps URLs to filesystem locations</td></tr>
+<tr class="odd"><td><a href="mod_alias.html#aliasmatch">AliasMatch <var>regex</var>
+<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps URLs to filesystem locations using regular
expressions</td></tr>
-<tr class="odd"><td><a href="mod_authz_host.html#allow"> Allow from all|<var>host</var>|env=[!]<var>env-variable</var>
-[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts can access an area of the
+<tr><td><a href="mod_authz_host.html#allow"> Allow from all|<var>host</var>|env=[!]<var>env-variable</var>
+[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Controls which hosts can access an area of the
server</td></tr>
-<tr><td><a href="mod_proxy.html#allowconnect">AllowCONNECT <var>port</var> [<var>port</var>] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the
+<tr class="odd"><td><a href="mod_proxy.html#allowconnect">AllowCONNECT <var>port</var> [<var>port</var>] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the
proxy</td></tr>
-<tr class="odd"><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Legt fest, ob kodierte Pfadtrennzeichen in URLs durchgereicht
+<tr><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Legt fest, ob kodierte Pfadtrennzeichen in URLs durchgereicht
werden dürfen</td></tr>
-<tr><td><a href="core.html#allowoverride">AllowOverride All|None|<var>Direktiven-Typ</var>
-[<var>Direktiven-Typ</var>] ...</a></td><td> All </td><td>d</td><td>C</td></tr><tr><td class="descr" colspan="4">Direktiven-Typen, die in <code>.htaccess</code>-Dateien
+<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>Direktiven-Typ</var>
+[<var>Direktiven-Typ</var>] ...</a></td><td> All </td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Direktiven-Typen, die in <code>.htaccess</code>-Dateien
erlaubt sind.</td></tr>
-<tr class="odd"><td><a href="mod_authn_anon.html#anonymous">Anonymous <var>user</var> [<var>user</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies userIDs that are allowed access without
+<tr><td><a href="mod_authn_anon.html#anonymous">Anonymous <var>user</var> [<var>user</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies userIDs that are allowed access without
password verification</td></tr>
-<tr><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether the password entered will be logged in the
+<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether the password entered will be logged in the
error log</td></tr>
-<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies whether blank passwords are allowed</td></tr>
-<tr><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether the userID field may be empty</td></tr>
-<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether to check the password field for a correctly
+<tr><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies whether blank passwords are allowed</td></tr>
+<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether the userID field may be empty</td></tr>
+<tr><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether to check the password field for a correctly
formatted email address</td></tr>
-<tr><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets whether authorization and authentication are passed to
+<tr class="odd"><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization and authentication are passed to
lower level modules</td></tr>
-<tr class="odd"><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider <var>provider-name</var>
-[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr>
-<tr><td><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">SQL query to look up a password for a user</td></tr>
-<tr class="odd"><td><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SQL query to look up a password hash for a user and realm.
+<tr><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider <var>provider-name</var>
+[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr>
+<tr class="odd"><td><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SQL query to look up a password for a user</td></tr>
+<tr><td><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">SQL query to look up a password hash for a user and realm.
</td></tr>
-<tr><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the name of the database file containing the list
+<tr class="odd"><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of the database file containing the list
of user groups for authorization</td></tr>
-<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the type of database file that is used to
+<tr><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to
store passwords</td></tr>
-<tr><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the name of a database file containing the list of users and
+<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a database file containing the list of users and
passwords for authentication</td></tr>
-<tr class="odd"><td><a href="mod_authn_default.html#authdefaultauthoritative">AuthDefaultAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authentication is passed to lower level
+<tr><td><a href="mod_authn_default.html#authdefaultauthoritative">AuthDefaultAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets whether authentication is passed to lower level
modules</td></tr>
-<tr><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm MD5|MD5-sess</a></td><td> MD5 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Selects the algorithm used to calculate the challenge and
+<tr class="odd"><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm MD5|MD5-sess</a></td><td> MD5 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Selects the algorithm used to calculate the challenge and
response hashes in digest authentication</td></tr>
-<tr class="odd"><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URIs that are in the same protection space for digest
+<tr><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">URIs that are in the same protection space for digest
authentication</td></tr>
-<tr><td><a href="mod_auth_digest.html#authdigestnccheck">AuthDigestNcCheck On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables or disables checking of the nonce-count sent by the
+<tr class="odd"><td><a href="mod_auth_digest.html#authdigestnccheck">AuthDigestNcCheck On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables or disables checking of the nonce-count sent by the
server</td></tr>
-<tr class="odd"><td><a href="mod_auth_digest.html#authdigestnonceformat">AuthDigestNonceFormat <var>format</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines how the nonce is generated</td></tr>
-<tr><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime <var>seconds</var></a></td><td> 300 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">How long the server nonce is valid</td></tr>
-<tr class="odd"><td><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider <var>provider-name</var>
-[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr>
-<tr><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop none|auth|auth-int [auth|auth-int]</a></td><td> auth </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the quality-of-protection to use in digest
+<tr><td><a href="mod_auth_digest.html#authdigestnonceformat">AuthDigestNonceFormat <var>format</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines how the nonce is generated</td></tr>
+<tr class="odd"><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime <var>seconds</var></a></td><td> 300 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How long the server nonce is valid</td></tr>
+<tr><td><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider <var>provider-name</var>
+[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr>
+<tr class="odd"><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop none|auth|auth-int [auth|auth-int]</a></td><td> auth </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the quality-of-protection to use in digest
authentication</td></tr>
-<tr class="odd"><td><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize <var>size</var></a></td><td> 1000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The amount of shared memory to allocate for keeping track
+<tr><td><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize <var>size</var></a></td><td> 1000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The amount of shared memory to allocate for keeping track
of clients</td></tr>
-<tr><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets the name of a text file containing the list
+<tr class="odd"><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a text file containing the list
of user groups for authorization</td></tr>
-<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative<em>off|on</em></a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.</td></tr>
-<tr><td><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN <em>distinguished-name</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Optional DN to use in binding to the LDAP server</td></tr>
-<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword <em>password</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Password used in conjuction with the bind DN</td></tr>
-<tr><td><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig <em>file-path</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Language to charset conversion configuration file</td></tr>
-<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the LDAP server to compare the DNs</td></tr>
-<tr><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases never|searching|finding|always</a></td><td> Always </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">When will the module de-reference aliases</td></tr>
-<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute <em>attribute</em></a></td><td> member uniquemember +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">LDAP attributes used to check for group membership</td></tr>
-<tr><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the DN of the client username when checking for
+<tr><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative<em>off|on</em></a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.</td></tr>
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN <em>distinguished-name</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Optional DN to use in binding to the LDAP server</td></tr>
+<tr><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword <em>password</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Password used in conjuction with the bind DN</td></tr>
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig <em>file-path</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Language to charset conversion configuration file</td></tr>
+<tr><td><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the LDAP server to compare the DNs</td></tr>
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases never|searching|finding|always</a></td><td> Always </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">When will the module de-reference aliases</td></tr>
+<tr><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute <em>attribute</em></a></td><td> member uniquemember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">LDAP attributes used to check for group membership</td></tr>
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the DN of the client username when checking for
group membership</td></tr>
-<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute uid</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the value of the attribute returned during the user
+<tr><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute uid</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the value of the attribute returned during the user
query to set the REMOTE_USER environment variable</td></tr>
-<tr><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the DN of the client username to set the REMOTE_USER
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the DN of the client username to set the REMOTE_USER
environment variable</td></tr>
-<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPUrl <em>url [NONE|SSL|TLS|STARTTLS]</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URL specifying the LDAP search parameters</td></tr>
-<tr><td><a href="core.html#authname">AuthName <var>auth-Bereich</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Autorisierungsbereich zur Verwendung in der
+<tr><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPUrl <em>url [NONE|SSL|TLS|STARTTLS]</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">URL specifying the LDAP search parameters</td></tr>
+<tr class="odd"><td><a href="core.html#authname">AuthName <var>auth-Bereich</var></a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Autorisierungsbereich zur Verwendung in der
HTTP-Authentisierung</td></tr>
-<tr class="odd"><td><a href="mod_authn_alias.html#authnprovideralias">&lt;AuthnProviderAlias <var>baseProvider Alias</var>&gt;
-... &lt;/AuthnProviderAlias&gt;</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of directives that represent an
+<tr><td><a href="mod_authn_alias.html#authnprovideralias">&lt;AuthnProviderAlias <var>baseProvider Alias</var>&gt;
+... &lt;/AuthnProviderAlias&gt;</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that represent an
extension of a base authentication provider and referenced by
the specified alias</td></tr>
-<tr><td><a href="core.html#authtype">AuthType Basic|Digest</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Art der Authentisierung</td></tr>
-<tr class="odd"><td><a href="mod_authn_file.html#authuserfile">AuthUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a text file containing the list of users and
+<tr class="odd"><td><a href="core.html#authtype">AuthType Basic|Digest</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Art der Authentisierung</td></tr>
+<tr><td><a href="mod_authn_file.html#authuserfile">AuthUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets the name of a text file containing the list of users and
passwords for authentication</td></tr>
-<tr><td><a href="mod_authz_dbm.html#authzdbmauthoritative">AuthzDBMAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether authorization will be passed on to lower level
+<tr class="odd"><td><a href="mod_authz_dbm.html#authzdbmauthoritative">AuthzDBMAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization will be passed on to lower level
modules</td></tr>
-<tr class="odd"><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the type of database file that is used to
+<tr><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to
store list of user groups</td></tr>
-<tr><td><a href="mod_authz_default.html#authzdefaultauthoritative">AuthzDefaultAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets whether authorization is passed to lower level
+<tr class="odd"><td><a href="mod_authz_default.html#authzdefaultauthoritative">AuthzDefaultAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization is passed to lower level
modules</td></tr>
-<tr class="odd"><td><a href="mod_authz_groupfile.html#authzgroupfileauthoritative">AuthzGroupFileAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization will be passed on to lower level
+<tr><td><a href="mod_authz_groupfile.html#authzgroupfileauthoritative">AuthzGroupFileAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets whether authorization will be passed on to lower level
modules</td></tr>
-<tr><td><a href="mod_authnz_ldap.html#authzldapauthoritative">AuthzLDAPAuthoritative on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Prevent other authentication modules from
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authzldapauthoritative">AuthzLDAPAuthoritative on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Prevent other authentication modules from
authenticating the user if this one fails</td></tr>
-<tr class="odd"><td><a href="mod_authz_owner.html#authzownerauthoritative">AuthzOwnerAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization will be passed on to lower level
+<tr><td><a href="mod_authz_owner.html#authzownerauthoritative">AuthzOwnerAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether authorization will be passed on to lower level
modules</td></tr>
-<tr><td><a href="mod_authz_user.html#authzuserauthoritative">AuthzUserAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets whether authorization will be passed on to lower level
+<tr class="odd"><td><a href="mod_authz_user.html#authzuserauthoritative">AuthzUserAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization will be passed on to lower level
modules</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#balancermember" id="B" name="B">BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a member to a load balancing group</td></tr>
-<tr><td><a href="mod_setenvif.html#browsermatch">BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>]
-[[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables conditional on HTTP User-Agent
+<tr><td><a href="mod_proxy.html#balancermember" id="B" name="B">BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Add a member to a load balancing group</td></tr>
+<tr class="odd"><td><a href="mod_setenvif.html#browsermatch">BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>]
+[[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables conditional on HTTP User-Agent
</td></tr>
-<tr class="odd"><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>]
- [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables conditional on User-Agent without
+<tr><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>]
+ [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables conditional on User-Agent without
respect to case</td></tr>
-<tr><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Buffer log entries in memory before writing to disk</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (one hour) </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The default duration to cache a document when no expiry date is specified.</td></tr>
-<tr><td><a href="mod_disk_cache.html#cachedirlength">CacheDirLength <var>length</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The number of characters in subdirectory names</td></tr>
-<tr class="odd"><td><a href="mod_disk_cache.html#cachedirlevels">CacheDirLevels <var>levels</var></a></td><td> 3 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The number of levels of subdirectories in the
+<tr class="odd"><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Buffer log entries in memory before writing to disk</td></tr>
+<tr><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (one hour) </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The default duration to cache a document when no expiry date is specified.</td></tr>
+<tr class="odd"><td><a href="mod_disk_cache.html#cachedirlength">CacheDirLength <var>length</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The number of characters in subdirectory names</td></tr>
+<tr><td><a href="mod_disk_cache.html#cachedirlevels">CacheDirLevels <var>levels</var></a></td><td> 3 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The number of levels of subdirectories in the
cache.</td></tr>
-<tr><td><a href="mod_cache.html#cachedisable">CacheDisable <var> url-string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Disable caching of specified URLs</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> <var>url-string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable caching of specified URLs using a specified storage
+<tr class="odd"><td><a href="mod_cache.html#cachedisable">CacheDisable <var> url-string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Disable caching of specified URLs</td></tr>
+<tr><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> <var>url-string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable caching of specified URLs using a specified storage
manager</td></tr>
-<tr><td><a href="mod_file_cache.html#cachefile">CacheFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Cache a list of file handles at startup time</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore request to not serve cached content to client</td></tr>
-<tr><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Do not store the given HTTP header(s) in the cache.
+<tr class="odd"><td><a href="mod_file_cache.html#cachefile">CacheFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Cache a list of file handles at startup time</td></tr>
+<tr><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore request to not serve cached content to client</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Do not store the given HTTP header(s) in the cache.
</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore the fact that a response has no Last Modified
+<tr><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore the fact that a response has no Last Modified
header.</td></tr>
-<tr><td><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore query string when caching</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore defined session identifiers encoded in the URL when caching
+<tr class="odd"><td><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore query string when caching</td></tr>
+<tr><td><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore defined session identifiers encoded in the URL when caching
</td></tr>
-<tr><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The factor used to compute an expiry date based on the
+<tr class="odd"><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The factor used to compute an expiry date based on the
LastModified date.</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cachelock">CacheLock <var>on|off</var></a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable the thundering herd lock.</td></tr>
-<tr><td><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge <var>integer</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the maximum possible age of a cache lock.</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cachelockpath">CacheLockPath <var>directory</var></a></td><td> /tmp/mod_cache-lock +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the lock path directory.</td></tr>
-<tr><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>seconds</var></a></td><td> 86400 (one day) </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum time in seconds to cache a document</td></tr>
-<tr class="odd"><td><a href="mod_disk_cache.html#cachemaxfilesize">CacheMaxFileSize <var>bytes</var></a></td><td> 1000000 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum size (in bytes) of a document to be placed in the
+<tr><td><a href="mod_cache.html#cachelock">CacheLock <var>on|off</var></a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable the thundering herd lock.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge <var>integer</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum possible age of a cache lock.</td></tr>
+<tr><td><a href="mod_cache.html#cachelockpath">CacheLockPath <var>directory</var></a></td><td> /tmp/mod_cache-lock +</td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the lock path directory.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>seconds</var></a></td><td> 86400 (one day) </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum time in seconds to cache a document</td></tr>
+<tr><td><a href="mod_disk_cache.html#cachemaxfilesize">CacheMaxFileSize <var>bytes</var></a></td><td> 1000000 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum size (in bytes) of a document to be placed in the
cache</td></tr>
-<tr><td><a href="mod_disk_cache.html#cacheminfilesize">CacheMinFileSize <var>bytes</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum size (in bytes) of a document to be placed in the
+<tr class="odd"><td><a href="mod_disk_cache.html#cacheminfilesize">CacheMinFileSize <var>bytes</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of a document to be placed in the
cache</td></tr>
-<tr class="odd"><td><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs On|Off</a></td><td> Off </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Allows content-negotiated documents to be
+<tr><td><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs On|Off</a></td><td> Off </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows content-negotiated documents to be
cached by proxy servers</td></tr>
-<tr><td><a href="mod_disk_cache.html#cacheroot">CacheRoot <var>directory</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The directory root under which cache files are
+<tr class="odd"><td><a href="mod_disk_cache.html#cacheroot">CacheRoot <var>directory</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The directory root under which cache files are
stored</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Attempt to cache requests or responses that have been marked as no-store.</td></tr>
-<tr><td><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache responses that the server has marked as private</td></tr>
-<tr class="odd"><td><a href="core.html#cgimapextension">CGIMapExtension <var>CGI-Pfad</var> <var>.Endung</var></a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Technik zur Bestimmung des Interpreters für
+<tr><td><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache requests or responses that have been marked as no-store.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Attempt to cache responses that the server has marked as private</td></tr>
+<tr><td><a href="core.html#cgimapextension">CGIMapExtension <var>CGI-Pfad</var> <var>.Endung</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Technik zur Bestimmung des Interpreters für
CGI-Skripte</td></tr>
-<tr><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Charset to translate into</td></tr>
-<tr class="odd"><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> DebugLevel=0 NoImpl +</td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configures charset translation behavior</td></tr>
-<tr><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Source charset of files</td></tr>
-<tr class="odd"><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the action of the speling module to case corrections</td></tr>
-<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables the spelling
+<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Charset to translate into</td></tr>
+<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> DebugLevel=0 NoImpl +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures charset translation behavior</td></tr>
+<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Source charset of files</td></tr>
+<tr><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Limits the action of the speling module to case corrections</td></tr>
+<tr class="odd"><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables the spelling
module</td></tr>
+<tr><td><a href="mpm_common.html#chrootdir">ChrootDir <var>/path/to/directory</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Directory for apache to run chroot(8) after startup.</td></tr>
<tr class="odd"><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Aktiviert die Generierung von <code>Content-MD5</code>
HTTP-Response-Headern</td></tr>
<tr><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The domain to which the tracking cookie applies</td></tr>
@@ -354,7 +357,10 @@ found</td></tr>
<tr><td><a href="core.html#forcetype">ForceType <var>MIME-Type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Erzwingt die Auslieferung aller passendenden Dateien mit dem
angegebenen MIME-Content-Type</td></tr>
<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr>
-<tr><td><a href="mpm_common.html#group" id="G" name="G">Group <var>Unix-Gruppe</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Benutzergruppe, unter welcher der Server Anfragen
+<tr><td><a href="core.html#gprofdir" id="G" name="G">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Directory to write gmon.out profiling data to. </td></tr>
+<tr class="odd"><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutDownTimeout <var>seconds</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server
+will exit.</td></tr>
+<tr><td><a href="mpm_common.html#group">Group <var>Unix-Gruppe</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Benutzergruppe, unter welcher der Server Anfragen
beantwortet</td></tr>
<tr class="odd"><td><a href="mod_headers.html#header" id="H" name="H">Header [<var>condition</var>] set|append|merge|add|unset|echo|edit
<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure HTTP response headers</td></tr>
@@ -381,7 +387,7 @@ an imagemap</td></tr>
<tr><td><a href="core.html#include">Include <var>Dateiname</var>|<var>Verzeichnis</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Fügt andere Konfigurationsdateien innerhalb der
Server-Konfigurationsdatei ein</td></tr>
<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr>
-<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds to the list of files to hide when listing
+<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td> "." </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds to the list of files to hide when listing
a directory</td></tr>
<tr class="odd"><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>]
...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Various configuration settings for directory
@@ -517,54 +523,56 @@ evaluated.</td></tr>
...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Passes environment variables from the shell</td></tr>
<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>Dateiname</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Datei, in welcher der Server die Prozess-ID des Daemons
ablegt</td></tr>
-<tr><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Turn the echo server on or off</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxy">&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr>
-<tr><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines how to handle bad header lines in a
+<tr><td><a href="core.html#protocol">Protocol <var>protocol</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Protocol for a listening socket</td></tr>
+<tr class="odd"><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Turn the echo server on or off</td></tr>
+<tr><td><a href="mod_proxy.html#proxy">&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines how to handle bad header lines in a
response</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var>
-[<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Words, hosts, or domains that are banned from being
+<tr><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var>
+[<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Words, hosts, or domains that are banned from being
proxied</td></tr>
-<tr><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Default domain name for proxied requests</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
-<tr><td><a href="mod_proxy.html#proxyftpdircharset">ProxyFtpDirCharset <var>character set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>bytes</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine size of internal data throughput buffer</td></tr>
-<tr><td><a href="mod_proxy.html#proxymatch">&lt;ProxyMatch <var>regex</var>&gt; ...&lt;/ProxyMatch&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to regular-expression-matched
+<tr class="odd"><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Default domain name for proxied requests</td></tr>
+<tr><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxyftpdircharset">ProxyFtpDirCharset <var>character set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr>
+<tr><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>bytes</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine size of internal data throughput buffer</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxymatch">&lt;ProxyMatch <var>regex</var>&gt; ...&lt;/ProxyMatch&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to regular-expression-matched
proxied resources</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>number</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximium number of proxies that a request can be forwarded
+<tr><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>number</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximium number of proxies that a request can be forwarded
through</td></tr>
-<tr><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var>
-<var>key=value</var> ...]] [nocanon] [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Maps remote servers into the local server URL-space</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr>
-<tr><td><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var>
- <var>[key=value</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Maps remote servers into the local server URL-space using regular expressions</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>path</var>] <var>url</var>
-[<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adjusts the URL in HTTP response headers sent from a reverse
+<tr class="odd"><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var>
+<var>key=value</var> ...]] [nocanon] [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maps remote servers into the local server URL-space</td></tr>
+<tr><td><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var>
+ <var>[key=value</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maps remote servers into the local server URL-space using regular expressions</td></tr>
+<tr><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>path</var>] <var>url</var>
+[<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the URL in HTTP response headers sent from a reverse
proxied server</td></tr>
-<tr><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>internal-domain</var>
-<var>public-domain</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the Domain string in Set-Cookie headers from a reverse-
+<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>internal-domain</var>
+<var>public-domain</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adjusts the Domain string in Set-Cookie headers from a reverse-
proxied server</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>internal-path</var>
-<var>public-path</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adjusts the Path string in Set-Cookie headers from a reverse-
+<tr><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>internal-path</var>
+<var>public-path</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the Path string in Set-Cookie headers from a reverse-
proxied server</td></tr>
-<tr><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Use incoming Host HTTP request header for proxy
+<tr class="odd"><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use incoming Host HTTP request header for proxy
request</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Network buffer size for proxied HTTP and FTP
+<tr><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Network buffer size for proxied HTTP and FTP
connections</td></tr>
-<tr><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>match</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Remote proxy used to handle certain requests</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Remote proxy used to handle requests matched by regular
+<tr class="odd"><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>match</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Remote proxy used to handle certain requests</td></tr>
+<tr><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Remote proxy used to handle requests matched by regular
expressions</td></tr>
-<tr><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables forward (standard) proxy requests</td></tr>
-<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off</a></td><td> On </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable internal redirect responses from the
+<tr class="odd"><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables forward (standard) proxy requests</td></tr>
+<tr><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off</a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable or disable internal redirect responses from the
backend</td></tr>
-<tr><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>Headername</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable evaluation of <var>X-Sendfile</var> pseudo response
+<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>Headername</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable evaluation of <var>X-Sendfile</var> pseudo response
header</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>key=value [key=value ...]</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set various Proxy balancer or member parameters</td></tr>
-<tr><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Show Proxy LoadBalancer status in mod_status</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>seconds</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Network timeout for proxied requests</td></tr>
-<tr><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Information provided in the <code>Via</code> HTTP response
+<tr><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>key=value [key=value ...]</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Set various Proxy balancer or member parameters</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Show Proxy LoadBalancer status in mod_status</td></tr>
+<tr><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>seconds</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Network timeout for proxied requests</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Information provided in the <code>Via</code> HTTP response
header for proxied requests</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#readmename" id="R" name="R">ReadmeName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the file that will be inserted at the end
+<tr><td><a href="mod_autoindex.html#readmename" id="R" name="R">ReadmeName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Name of the file that will be inserted at the end
of the index listing</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP receive buffer size</td></tr>
<tr><td><a href="mod_alias.html#redirect">Redirect [<var>status</var>] <var>URL-path</var>
<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sends an external redirect asking the client to fetch
a different URL</td></tr>
@@ -601,7 +609,7 @@ extensions</td></tr>
<tr><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout
[header=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
[body=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
-</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
+</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
</td></tr>
<tr class="odd"><td><a href="core.html#require">Require <var>Name</var> [<var>Name</var>] ...</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Wählt die authentisierten Benutzer aus, die auf eine
Ressource zugreifen können</td></tr>
@@ -742,8 +750,8 @@ proxy handshake</td></tr>
<tr><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr>
<tr><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
+<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
Certificate verification</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em>
[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding
@@ -768,39 +776,44 @@ Certificate verification</td></tr>
werden</td></tr>
<tr><td><a href="mpm_common.html#startthreads">StartThreads <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Anzahl der Threads, die beim Start erstellt werden</td></tr>
<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr>
-<tr><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">User and group for CGI programs to run as</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Bestimmt die Obergrenze der konfigurierbaren Anzahl von Threads
+<tr><td><a href="core.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Enable or disable the suEXEC feature</td></tr>
+<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">User and group for CGI programs to run as</td></tr>
+<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Bestimmt die Obergrenze der konfigurierbaren Anzahl von Threads
pro Kindprozess</td></tr>
-<tr><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Anzahl der Threads, die mit jedem Kindprozess gestartet
+<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Anzahl der Threads, die mit jedem Kindprozess gestartet
werden</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Die Größe des Stacks in Bytes, der von Threads
+<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Die Größe des Stacks in Bytes, der von Threads
verwendet wird, die Client-Verbindungen bearbeiten.</td></tr>
-<tr><td><a href="core.html#timeout">TimeOut <var>Sekunden</var></a></td><td> 300 </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Zeitspanne, die der Server auf verschiedene Ereignisse wartet,
+<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>Sekunden</var></a></td><td> 300 </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Zeitspanne, die der Server auf verschiedene Ereignisse wartet,
bevor er die Anfrage abbricht</td></tr>
+<tr><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines the behaviour on <code>TRACE</code>
+requests</td></tr>
<tr class="odd"><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify location of a log file</td></tr>
<tr><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr>
<tr class="odd"><td><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv <var>env-variable</var> [<var>env-variable</var>]
...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes variables from the environment</td></tr>
<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Bestimmt, wie der Server seinen eigenen Namen und Port
ermittelt</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#user">User <var>Unix-User-ID</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Die Benutzerkennung, unter welcher der Server Anfragen
+<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own name and
+port</td></tr>
+<tr><td><a href="mpm_common.html#user">User <var>Unix-User-ID</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Die Benutzerkennung, unter welcher der Server Anfragen
beantwortet</td></tr>
-<tr><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ...
-</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Location of the user-specific directories</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root
+<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ...
+</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the user-specific directories</td></tr>
+<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root
for a given virtual host</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root
for a given virtual host</td></tr>
-<tr class="odd"><td><a href="core.html#virtualhost">&lt;VirtualHost
+<tr><td><a href="core.html#virtualhost">&lt;VirtualHost
<var>Adresse</var>[:<var>Port</var>] [<var>Adresse</var>[:<var>Port</var>]]
- ...&gt; ... &lt;/VirtualHost&gt;</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enthält Direktiven, die nur auf bestimmte Hostnamen oder
+ ...&gt; ... &lt;/VirtualHost&gt;</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Enthält Direktiven, die nur auf bestimmte Hostnamen oder
IP-Adressen angewendet werden</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for
a given virtual host</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
+<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
a given virtual host</td></tr>
-<tr><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Für die Annahme von Netzwerkverbindungen wird accept() anstelle von AcceptEx() verwendet</td></tr>
-<tr class="odd"><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
+<tr class="odd"><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Für die Annahme von Netzwerkverbindungen wird accept() anstelle von AcceptEx() verwendet</td></tr>
+<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
set</td></tr>
</table></div>
<div class="bottomlang">
@@ -810,8 +823,9 @@ set</td></tr>
<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/quickreference.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/quickreference.html.en b/docs/manual/mod/quickreference.html.en
index db1a2e23..2a60a967 100644
--- a/docs/manual/mod/quickreference.html.en
+++ b/docs/manual/mod/quickreference.html.en
@@ -26,7 +26,8 @@
<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/quickreference.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>The directive quick reference shows the usage, default, status,
@@ -34,9 +35,9 @@
information about each of these, see the <a href="directive-dict.html">Directive Dictionary</a>.</p>
<p>The first column gives the directive name and usage. The second
- columns shows the default value of the directive, if a default exists.
- If the default is too large to display, the first characters will be
- followed by "+".</p>
+ column shows the default value of the directive, if a default exists.
+ If the default is too large to display, it will be truncated
+ and followed by "+".</p>
<p>The third and fourth columns list the contexts where the directive
is allowed and the status of the directive according to the legend
@@ -118,7 +119,7 @@ expressions</td></tr>
server</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#allowconnect">AllowCONNECT <var>port</var> [<var>port</var>] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the
proxy</td></tr>
-<tr><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines whether encoded path separators in URLs are allowed to
+<tr><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off|NoDecode</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines whether encoded path separators in URLs are allowed to
be passed through</td></tr>
<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>directive-type</var>
[<var>directive-type</var>] ...</a></td><td> All </td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Types of directives that are allowed in
@@ -293,7 +294,7 @@ server cannot determine a type in any other way</td></tr>
server</td></tr>
<tr><td><a href="core.html#directory">&lt;Directory <var>directory-path</var>&gt;
... &lt;/Directory&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that apply only to the
-named file-system directory and sub-directories</td></tr>
+named file-system directory, sub-directories, and their contents</td></tr>
<tr class="odd"><td><a href="mod_dir.html#directoryindex">DirectoryIndex
<var>local-url</var> [<var>local-url</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">List of resources to look for when the client requests
a directory</td></tr>
@@ -346,165 +347,167 @@ found</td></tr>
<tr><td><a href="core.html#forcetype">ForceType <var>MIME-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be served with the specified
MIME content-type</td></tr>
<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr>
-<tr><td><a href="mpm_common.html#gracefulshutdowntimeout" id="G" name="G">GracefulShutDownTimeout <var>seconds</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server
+<tr><td><a href="core.html#gprofdir" id="G" name="G">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Directory to write gmon.out profiling data to. </td></tr>
+<tr class="odd"><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutDownTimeout <var>seconds</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server
will exit.</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Group under which the server will answer
+<tr><td><a href="mpm_common.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Group under which the server will answer
requests</td></tr>
-<tr><td><a href="mod_headers.html#header" id="H" name="H">Header [<var>condition</var>] set|append|merge|add|unset|echo|edit
-<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP response headers</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the file that will be inserted at the top
+<tr class="odd"><td><a href="mod_headers.html#header" id="H" name="H">Header [<var>condition</var>] set|append|merge|add|unset|echo|edit
+<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure HTTP response headers</td></tr>
+<tr><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Name of the file that will be inserted at the top
of the index listing</td></tr>
-<tr><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables DNS lookups on client IP addresses</td></tr>
-<tr class="odd"><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables logging of the RFC 1413 identity of the remote
+<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables DNS lookups on client IP addresses</td></tr>
+<tr><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables logging of the RFC 1413 identity of the remote
user</td></tr>
-<tr><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the timeout duration for ident requests</td></tr>
-<tr class="odd"><td><a href="core.html#ifdefine">&lt;IfDefine [!]<var>parameter-name</var>&gt; ...
- &lt;/IfDefine&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that will be processed only
+<tr class="odd"><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the timeout duration for ident requests</td></tr>
+<tr><td><a href="core.html#ifdefine">&lt;IfDefine [!]<var>parameter-name</var>&gt; ...
+ &lt;/IfDefine&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only
if a test is true at startup</td></tr>
-<tr><td><a href="core.html#ifmodule">&lt;IfModule [!]<var>module-file</var>|<var>module-identifier</var>&gt; ...
- &lt;/IfModule&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that are processed conditional on the
+<tr class="odd"><td><a href="core.html#ifmodule">&lt;IfModule [!]<var>module-file</var>|<var>module-identifier</var>&gt; ...
+ &lt;/IfModule&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the
presence or absence of a specific module</td></tr>
-<tr class="odd"><td><a href="mod_version.html#ifversion">&lt;IfVersion [[!]<var>operator</var>] <var>version</var>&gt; ...
-&lt;/IfVersion&gt;</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">contains version dependent configuration</td></tr>
-<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr>
-<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default action when an imagemap is called with coordinates
+<tr><td><a href="mod_version.html#ifversion">&lt;IfVersion [[!]<var>operator</var>] <var>version</var>&gt; ...
+&lt;/IfVersion&gt;</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">contains version dependent configuration</td></tr>
+<tr class="odd"><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr>
+<tr><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Default action when an imagemap is called with coordinates
that are not explicitly mapped</td></tr>
-<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action if no coordinates are given when calling
+<tr class="odd"><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action if no coordinates are given when calling
an imagemap</td></tr>
-<tr class="odd"><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Includes other configuration files from within
+<tr><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Includes other configuration files from within
the server configuration files</td></tr>
-<tr><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Adds to the list of files to hide when listing
+<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr>
+<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td> "." </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds to the list of files to hide when listing
a directory</td></tr>
-<tr><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Various configuration settings for directory
+<tr class="odd"><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Various configuration settings for directory
indexing</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending
-Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the default ordering of the directory index</td></tr>
-<tr><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds a CSS stylesheet to the directory index</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
+<tr><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending
+Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets the default ordering of the directory index</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Adds a CSS stylesheet to the directory index</td></tr>
+<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
ISAPI extensions to the error log</td></tr>
-<tr><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
+<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
ISAPI extensions to the query field</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>]
-...</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr>
-<tr><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Log unsupported feature requests from ISAPI
+<tr><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>]
+...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr>
+<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr>
+<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Log unsupported feature requests from ISAPI
extensions</td></tr>
-<tr><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI
+<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI
extensions</td></tr>
-<tr class="odd"><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables HTTP persistent connections</td></tr>
-<tr><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>seconds</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Amount of time the server will wait for subsequent
+<tr><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables HTTP persistent connections</td></tr>
+<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>seconds</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for subsequent
requests on a persistent connection</td></tr>
-<tr class="odd"><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The precendence of language variants for cases where
+<tr><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">The precendence of language variants for cases where
the client does not express a preference</td></tr>
-<tr><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that cached items remain valid</td></tr>
-<tr><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of entries used to cache LDAP compare
+<tr class="odd"><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr>
+<tr><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that cached items remain valid</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr>
+<tr><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Number of entries used to cache LDAP compare
operations</td></tr>
-<tr><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that entries in the operation cache remain
+<tr class="odd"><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that entries in the operation cache remain
valid</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the shared memory cache file</td></tr>
-<tr><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file containing or nickname referring to a per
+<tr><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the shared memory cache file</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr>
+<tr><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file containing or nickname referring to a per
connection client certificate. Not all LDAP toolkits support per
connection client certificates.</td></tr>
-<tr><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file or database containing global trusted
+<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file or database containing global trusted
Certificate Authority or global client certificates</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr>
-<tr><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert <var>On|Off</var></a></td><td> On </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Force server certificate verification</td></tr>
-<tr class="odd"><td><a href="core.html#limit">&lt;Limit <var>method</var> [<var>method</var>] ... &gt; ...
- &lt;/Limit&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restrict enclosed access controls to only certain HTTP
+<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert <var>On|Off</var></a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force server certificate verification</td></tr>
+<tr><td><a href="core.html#limit">&lt;Limit <var>method</var> [<var>method</var>] ... &gt; ...
+ &lt;/Limit&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Restrict enclosed access controls to only certain HTTP
methods</td></tr>
-<tr><td><a href="core.html#limitexcept">&lt;LimitExcept <var>method</var> [<var>method</var>] ... &gt; ...
- &lt;/LimitExcept&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Restrict access controls to all HTTP methods
+<tr class="odd"><td><a href="core.html#limitexcept">&lt;LimitExcept <var>method</var> [<var>method</var>] ... &gt; ...
+ &lt;/LimitExcept&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restrict access controls to all HTTP methods
except the named ones</td></tr>
-<tr class="odd"><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>number</var> [<var>number</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determine maximum number of internal redirects and nested
+<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>number</var> [<var>number</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determine maximum number of internal redirects and nested
subrequests</td></tr>
-<tr><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Restricts the total size of the HTTP request body sent
+<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restricts the total size of the HTTP request body sent
from the client</td></tr>
-<tr class="odd"><td><a href="core.html#limitrequestfields">LimitRequestFields <var>number</var></a></td><td> 100 </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the number of HTTP request header fields that
+<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of HTTP request header fields that
will be accepted from the client</td></tr>
-<tr><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bytes</var></a></td><td> 8190 </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the size of the HTTP request header allowed from the
+<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of the HTTP request header allowed from the
client</td></tr>
-<tr class="odd"><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limit the size of the HTTP request line that will be accepted
+<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limit the size of the HTTP request line that will be accepted
from the client</td></tr>
-<tr><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the size of an XML-based request body</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#listen">Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">IP addresses and ports that the server
+<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of an XML-based request body</td></tr>
+<tr><td><a href="mpm_common.html#listen">Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">IP addresses and ports that the server
listens to</td></tr>
-<tr><td><a href="mpm_common.html#listenbacklog">ListenBacklog <var>backlog</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum length of the queue of pending connections</td></tr>
-<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>filename</em> [<em>filename</em>] ...</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Link in the named object file or library</td></tr>
-<tr><td><a href="mod_so.html#loadmodule">LoadModule <em>module filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Links in the object file or library, and adds to the list
+<tr class="odd"><td><a href="mpm_common.html#listenbacklog">ListenBacklog <var>backlog</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum length of the queue of pending connections</td></tr>
+<tr><td><a href="mod_so.html#loadfile">LoadFile <em>filename</em> [<em>filename</em>] ...</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Link in the named object file or library</td></tr>
+<tr class="odd"><td><a href="mod_so.html#loadmodule">LoadModule <em>module filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Links in the object file or library, and adds to the list
of active modules</td></tr>
-<tr class="odd"><td><a href="core.html#location">&lt;Location
- <var>URL-path</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Applies the enclosed directives only to matching
+<tr><td><a href="core.html#location">&lt;Location
+ <var>URL-path</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Applies the enclosed directives only to matching
URLs</td></tr>
-<tr><td><a href="core.html#locationmatch">&lt;LocationMatch
- <var>regex</var>&gt; ... &lt;/LocationMatch&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Applies the enclosed directives only to regular-expression
+<tr class="odd"><td><a href="core.html#locationmatch">&lt;LocationMatch
+ <var>regex</var>&gt; ... &lt;/LocationMatch&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Applies the enclosed directives only to regular-expression
matching URLs</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#lockfile">LockFile <var>filename</var></a></td><td> logs/accept.lock </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the accept serialization lock file</td></tr>
-<tr><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>nickname</var>
-[<var>nickname</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Describes a format for use in a log file</td></tr>
-<tr class="odd"><td><a href="core.html#loglevel">LogLevel <var>level</var></a></td><td> warn </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the verbosity of the ErrorLog</td></tr>
-<tr><td><a href="mpm_common.html#maxclients" id="M" name="M">MaxClients <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of connections that will be processed
+<tr><td><a href="mpm_common.html#lockfile">LockFile <var>filename</var></a></td><td> logs/accept.lock </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Location of the accept serialization lock file</td></tr>
+<tr class="odd"><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>nickname</var>
+[<var>nickname</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Describes a format for use in a log file</td></tr>
+<tr><td><a href="core.html#loglevel">LogLevel <var>level</var></a></td><td> warn </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls the verbosity of the ErrorLog</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#maxclients" id="M" name="M">MaxClients <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of connections that will be processed
simultaneously</td></tr>
-<tr class="odd"><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Number of requests allowed on a persistent
+<tr><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of requests allowed on a persistent
connection</td></tr>
-<tr><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KBytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum amount of memory that the main allocator is allowed
+<tr class="odd"><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KBytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of memory that the main allocator is allowed
to hold without calling <code>free()</code></td></tr>
-<tr class="odd"><td><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild <var>number</var></a></td><td> 10000 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of requests that an individual child server
+<tr><td><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild <var>number</var></a></td><td> 10000 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limit on the number of requests that an individual child server
will handle during its life</td></tr>
-<tr><td><a href="beos.html#maxrequestsperthread">MaxRequestsPerThread <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limit on the number of requests that an individual thread
+<tr class="odd"><td><a href="beos.html#maxrequestsperthread">MaxRequestsPerThread <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of requests that an individual thread
will handle during its life</td></tr>
-<tr class="odd"><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>number</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of idle child server processes</td></tr>
-<tr><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of idle threads</td></tr>
-<tr class="odd"><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr>
-<tr><td><a href="mod_mem_cache.html#mcachemaxobjectcount">MCacheMaxObjectCount <var>value</var></a></td><td> 1009 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum number of objects allowed to be placed in the
+<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>number</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of idle child server processes</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of idle threads</td></tr>
+<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr>
+<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxobjectcount">MCacheMaxObjectCount <var>value</var></a></td><td> 1009 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum number of objects allowed to be placed in the
cache</td></tr>
-<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxobjectsize">MCacheMaxObjectSize <var>bytes</var></a></td><td> 10000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum size (in bytes) of a document allowed in the
+<tr><td><a href="mod_mem_cache.html#mcachemaxobjectsize">MCacheMaxObjectSize <var>bytes</var></a></td><td> 10000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum size (in bytes) of a document allowed in the
cache</td></tr>
-<tr><td><a href="mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer <var>size_in_bytes</var></a></td><td> the smaller of 1000 +</td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum amount of a streamed response to buffer in memory
+<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer <var>size_in_bytes</var></a></td><td> the smaller of 1000 +</td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of a streamed response to buffer in memory
before declaring the response uncacheable</td></tr>
-<tr class="odd"><td><a href="mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize <var>bytes</var></a></td><td> 1 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of a document to be allowed in the
+<tr><td><a href="mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize <var>bytes</var></a></td><td> 1 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum size (in bytes) of a document to be allowed in the
cache</td></tr>
-<tr><td><a href="mod_mem_cache.html#mcacheremovalalgorithm">MCacheRemovalAlgorithm LRU|GDSF</a></td><td> GDSF </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The algorithm used to select documents for removal from the
+<tr class="odd"><td><a href="mod_mem_cache.html#mcacheremovalalgorithm">MCacheRemovalAlgorithm LRU|GDSF</a></td><td> GDSF </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The algorithm used to select documents for removal from the
cache</td></tr>
-<tr class="odd"><td><a href="mod_mem_cache.html#mcachesize">MCacheSize <var>KBytes</var></a></td><td> 100 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum amount of memory used by the cache in
+<tr><td><a href="mod_mem_cache.html#mcachesize">MCacheSize <var>KBytes</var></a></td><td> 100 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum amount of memory used by the cache in
KBytes</td></tr>
-<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the directory to find CERN-style meta information
+<tr class="odd"><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the directory to find CERN-style meta information
files</td></tr>
-<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr>
-<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">File name suffix for the file containg CERN-style
+<tr><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr>
+<tr class="odd"><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File name suffix for the file containg CERN-style
meta information</td></tr>
-<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable MIME-type determination based on file contents
+<tr><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable MIME-type determination based on file contents
using the specified magic file</td></tr>
-<tr><td><a href="prefork.html#minspareservers">MinSpareServers <var>number</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimum number of idle child server processes</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of idle threads available to handle request
+<tr class="odd"><td><a href="prefork.html#minspareservers">MinSpareServers <var>number</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of idle child server processes</td></tr>
+<tr><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimum number of idle threads available to handle request
spikes</td></tr>
-<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code>
+<tr class="odd"><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr>
+<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code>
components as part of the filename</td></tr>
-<tr><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
-[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">The types of files that will be included when searching for
+<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
+[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The types of files that will be included when searching for
a matching file with MultiViews</td></tr>
-<tr class="odd"><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>addr</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Designates an IP address for name-virtual
+<tr><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>addr</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Designates an IP address for name-virtual
hosting</td></tr>
-<tr><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to
+<tr class="odd"><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to
directly</td></tr>
-<tr class="odd"><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">List of additional client certificates</td></tr>
-<tr><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr>
-<tr class="odd"><td><a href="core.html#options" id="O" name="O">Options
- [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> All </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures what features are available in a particular
+<tr><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">List of additional client certificates</td></tr>
+<tr class="odd"><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr>
+<tr><td><a href="core.html#options" id="O" name="O">Options
+ [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> All </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures what features are available in a particular
directory</td></tr>
-<tr><td><a href="mod_authz_host.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Controls the default access state and the order in which
+<tr class="odd"><td><a href="mod_authz_host.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the default access state and the order in which
<code class="directive">Allow</code> and <code class="directive">Deny</code> are
evaluated.</td></tr>
-<tr class="odd"><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>env-variable</var> [<var>env-variable</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Passes environment variables from the shell</td></tr>
-<tr><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">File where the server records the process ID
+<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>env-variable</var> [<var>env-variable</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Passes environment variables from the shell</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">File where the server records the process ID
of the daemon</td></tr>
+<tr><td><a href="core.html#protocol">Protocol <var>protocol</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Protocol for a listening socket</td></tr>
<tr class="odd"><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Turn the echo server on or off</td></tr>
<tr><td><a href="mod_proxy.html#proxy">&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines how to handle bad header lines in a
@@ -590,7 +593,7 @@ extensions</td></tr>
<tr><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout
[header=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
[body=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
-</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
+</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
</td></tr>
<tr class="odd"><td><a href="core.html#require">Require <var>entity-name</var> [<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Selects which authenticated users can access
a resource</td></tr>
@@ -727,8 +730,8 @@ proxy handshake</td></tr>
<tr><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr>
<tr><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
+<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
Certificate verification</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em>
[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding
@@ -752,42 +755,43 @@ Certificate verification</td></tr>
<tr class="odd"><td><a href="mpm_common.html#startservers">StartServers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of child server processes created at startup</td></tr>
<tr><td><a href="mpm_common.html#startthreads">StartThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of threads created on startup</td></tr>
<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr>
-<tr><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">User and group for CGI programs to run as</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads
+<tr><td><a href="core.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Enable or disable the suEXEC feature</td></tr>
+<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">User and group for CGI programs to run as</td></tr>
+<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads
per child process</td></tr>
-<tr><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of threads created by each child process</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">The size in bytes of the stack used by threads handling
+<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of threads created by each child process</td></tr>
+<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The size in bytes of the stack used by threads handling
client connections</td></tr>
-<tr><td><a href="core.html#timeout">TimeOut <var>seconds</var></a></td><td> 300 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Amount of time the server will wait for
+<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>seconds</var></a></td><td> 300 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for
certain events before failing a request</td></tr>
-<tr class="odd"><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the behaviour on <code>TRACE</code>
+<tr><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines the behaviour on <code>TRACE</code>
requests</td></tr>
-<tr><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Specify location of a log file</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr>
-<tr><td><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv <var>env-variable</var> [<var>env-variable</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes variables from the environment</td></tr>
-<tr class="odd"><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own name and
+<tr class="odd"><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify location of a log file</td></tr>
+<tr><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr>
+<tr class="odd"><td><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv <var>env-variable</var> [<var>env-variable</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes variables from the environment</td></tr>
+<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and
port</td></tr>
-<tr><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and
+<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own name and
port</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">The userid under which the server will answer
+<tr><td><a href="mpm_common.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The userid under which the server will answer
requests</td></tr>
-<tr><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ...
-</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Location of the user-specific directories</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root
+<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ...
+</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the user-specific directories</td></tr>
+<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root
for a given virtual host</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root
for a given virtual host</td></tr>
-<tr class="odd"><td><a href="core.html#virtualhost">&lt;VirtualHost
+<tr><td><a href="core.html#virtualhost">&lt;VirtualHost
<var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]]
- ...&gt; ... &lt;/VirtualHost&gt;</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only to a specific
+ ...&gt; ... &lt;/VirtualHost&gt;</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only to a specific
hostname or IP address</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for
a given virtual host</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
+<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
a given virtual host</td></tr>
-<tr><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
-<tr class="odd"><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
+<tr class="odd"><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
+<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
set</td></tr>
</table></div>
<div class="bottomlang">
@@ -797,8 +801,9 @@ set</td></tr>
<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/quickreference.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/quickreference.html.es b/docs/manual/mod/quickreference.html.es
index 15f1214f..28d11de7 100644
--- a/docs/manual/mod/quickreference.html.es
+++ b/docs/manual/mod/quickreference.html.es
@@ -26,7 +26,8 @@
<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/quickreference.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">Esta traducción podría estar
obsoleta. Consulte la versión en inglés de la
@@ -125,7 +126,7 @@ expressions</td></tr>
server</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#allowconnect">AllowCONNECT <var>port</var> [<var>port</var>] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the
proxy</td></tr>
-<tr><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines whether encoded path separators in URLs are allowed to
+<tr><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off|NoDecode</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines whether encoded path separators in URLs are allowed to
be passed through</td></tr>
<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>directive-type</var>
[<var>directive-type</var>] ...</a></td><td> All </td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Types of directives that are allowed in
@@ -300,7 +301,7 @@ server cannot determine a type in any other way</td></tr>
server</td></tr>
<tr><td><a href="core.html#directory">&lt;Directory <var>directory-path</var>&gt;
... &lt;/Directory&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that apply only to the
-named file-system directory and sub-directories</td></tr>
+named file-system directory, sub-directories, and their contents</td></tr>
<tr class="odd"><td><a href="mod_dir.html#directoryindex">DirectoryIndex
<var>local-url</var> [<var>local-url</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">List of resources to look for when the client requests
a directory</td></tr>
@@ -353,165 +354,167 @@ found</td></tr>
<tr><td><a href="core.html#forcetype">ForceType <var>MIME-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be served with the specified
MIME content-type</td></tr>
<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr>
-<tr><td><a href="mpm_common.html#gracefulshutdowntimeout" id="G" name="G">GracefulShutDownTimeout <var>seconds</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server
+<tr><td><a href="core.html#gprofdir" id="G" name="G">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Directory to write gmon.out profiling data to. </td></tr>
+<tr class="odd"><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutDownTimeout <var>seconds</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server
will exit.</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Group under which the server will answer
+<tr><td><a href="mpm_common.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Group under which the server will answer
requests</td></tr>
-<tr><td><a href="mod_headers.html#header" id="H" name="H">Header [<var>condition</var>] set|append|merge|add|unset|echo|edit
-<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP response headers</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the file that will be inserted at the top
+<tr class="odd"><td><a href="mod_headers.html#header" id="H" name="H">Header [<var>condition</var>] set|append|merge|add|unset|echo|edit
+<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure HTTP response headers</td></tr>
+<tr><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Name of the file that will be inserted at the top
of the index listing</td></tr>
-<tr><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables DNS lookups on client IP addresses</td></tr>
-<tr class="odd"><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables logging of the RFC 1413 identity of the remote
+<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables DNS lookups on client IP addresses</td></tr>
+<tr><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables logging of the RFC 1413 identity of the remote
user</td></tr>
-<tr><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the timeout duration for ident requests</td></tr>
-<tr class="odd"><td><a href="core.html#ifdefine">&lt;IfDefine [!]<var>parameter-name</var>&gt; ...
- &lt;/IfDefine&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that will be processed only
+<tr class="odd"><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the timeout duration for ident requests</td></tr>
+<tr><td><a href="core.html#ifdefine">&lt;IfDefine [!]<var>parameter-name</var>&gt; ...
+ &lt;/IfDefine&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only
if a test is true at startup</td></tr>
-<tr><td><a href="core.html#ifmodule">&lt;IfModule [!]<var>module-file</var>|<var>module-identifier</var>&gt; ...
- &lt;/IfModule&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that are processed conditional on the
+<tr class="odd"><td><a href="core.html#ifmodule">&lt;IfModule [!]<var>module-file</var>|<var>module-identifier</var>&gt; ...
+ &lt;/IfModule&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the
presence or absence of a specific module</td></tr>
-<tr class="odd"><td><a href="mod_version.html#ifversion">&lt;IfVersion [[!]<var>operator</var>] <var>version</var>&gt; ...
-&lt;/IfVersion&gt;</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">contains version dependent configuration</td></tr>
-<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr>
-<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default action when an imagemap is called with coordinates
+<tr><td><a href="mod_version.html#ifversion">&lt;IfVersion [[!]<var>operator</var>] <var>version</var>&gt; ...
+&lt;/IfVersion&gt;</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">contains version dependent configuration</td></tr>
+<tr class="odd"><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr>
+<tr><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Default action when an imagemap is called with coordinates
that are not explicitly mapped</td></tr>
-<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action if no coordinates are given when calling
+<tr class="odd"><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action if no coordinates are given when calling
an imagemap</td></tr>
-<tr class="odd"><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Includes other configuration files from within
+<tr><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Includes other configuration files from within
the server configuration files</td></tr>
-<tr><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Adds to the list of files to hide when listing
+<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr>
+<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td> "." </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds to the list of files to hide when listing
a directory</td></tr>
-<tr><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Various configuration settings for directory
+<tr class="odd"><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Various configuration settings for directory
indexing</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending
-Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the default ordering of the directory index</td></tr>
-<tr><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds a CSS stylesheet to the directory index</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
+<tr><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending
+Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets the default ordering of the directory index</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Adds a CSS stylesheet to the directory index</td></tr>
+<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
ISAPI extensions to the error log</td></tr>
-<tr><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
+<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
ISAPI extensions to the query field</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>]
-...</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr>
-<tr><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Log unsupported feature requests from ISAPI
+<tr><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>]
+...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr>
+<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr>
+<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Log unsupported feature requests from ISAPI
extensions</td></tr>
-<tr><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI
+<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI
extensions</td></tr>
-<tr class="odd"><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables HTTP persistent connections</td></tr>
-<tr><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>seconds</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Amount of time the server will wait for subsequent
+<tr><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables HTTP persistent connections</td></tr>
+<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>seconds</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for subsequent
requests on a persistent connection</td></tr>
-<tr class="odd"><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The precendence of language variants for cases where
+<tr><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">The precendence of language variants for cases where
the client does not express a preference</td></tr>
-<tr><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that cached items remain valid</td></tr>
-<tr><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of entries used to cache LDAP compare
+<tr class="odd"><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr>
+<tr><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that cached items remain valid</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr>
+<tr><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Number of entries used to cache LDAP compare
operations</td></tr>
-<tr><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that entries in the operation cache remain
+<tr class="odd"><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that entries in the operation cache remain
valid</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the shared memory cache file</td></tr>
-<tr><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file containing or nickname referring to a per
+<tr><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the shared memory cache file</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr>
+<tr><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file containing or nickname referring to a per
connection client certificate. Not all LDAP toolkits support per
connection client certificates.</td></tr>
-<tr><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file or database containing global trusted
+<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file or database containing global trusted
Certificate Authority or global client certificates</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr>
-<tr><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert <var>On|Off</var></a></td><td> On </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Force server certificate verification</td></tr>
-<tr class="odd"><td><a href="core.html#limit">&lt;Limit <var>method</var> [<var>method</var>] ... &gt; ...
- &lt;/Limit&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restrict enclosed access controls to only certain HTTP
+<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert <var>On|Off</var></a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force server certificate verification</td></tr>
+<tr><td><a href="core.html#limit">&lt;Limit <var>method</var> [<var>method</var>] ... &gt; ...
+ &lt;/Limit&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Restrict enclosed access controls to only certain HTTP
methods</td></tr>
-<tr><td><a href="core.html#limitexcept">&lt;LimitExcept <var>method</var> [<var>method</var>] ... &gt; ...
- &lt;/LimitExcept&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Restrict access controls to all HTTP methods
+<tr class="odd"><td><a href="core.html#limitexcept">&lt;LimitExcept <var>method</var> [<var>method</var>] ... &gt; ...
+ &lt;/LimitExcept&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restrict access controls to all HTTP methods
except the named ones</td></tr>
-<tr class="odd"><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>number</var> [<var>number</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determine maximum number of internal redirects and nested
+<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>number</var> [<var>number</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determine maximum number of internal redirects and nested
subrequests</td></tr>
-<tr><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Restricts the total size of the HTTP request body sent
+<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restricts the total size of the HTTP request body sent
from the client</td></tr>
-<tr class="odd"><td><a href="core.html#limitrequestfields">LimitRequestFields <var>number</var></a></td><td> 100 </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the number of HTTP request header fields that
+<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of HTTP request header fields that
will be accepted from the client</td></tr>
-<tr><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bytes</var></a></td><td> 8190 </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the size of the HTTP request header allowed from the
+<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of the HTTP request header allowed from the
client</td></tr>
-<tr class="odd"><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limit the size of the HTTP request line that will be accepted
+<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limit the size of the HTTP request line that will be accepted
from the client</td></tr>
-<tr><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the size of an XML-based request body</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#listen">Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">IP addresses and ports that the server
+<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of an XML-based request body</td></tr>
+<tr><td><a href="mpm_common.html#listen">Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">IP addresses and ports that the server
listens to</td></tr>
-<tr><td><a href="mpm_common.html#listenbacklog">ListenBacklog <var>backlog</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum length of the queue of pending connections</td></tr>
-<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>filename</em> [<em>filename</em>] ...</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Link in the named object file or library</td></tr>
-<tr><td><a href="mod_so.html#loadmodule">LoadModule <em>module filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Links in the object file or library, and adds to the list
+<tr class="odd"><td><a href="mpm_common.html#listenbacklog">ListenBacklog <var>backlog</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum length of the queue of pending connections</td></tr>
+<tr><td><a href="mod_so.html#loadfile">LoadFile <em>filename</em> [<em>filename</em>] ...</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Link in the named object file or library</td></tr>
+<tr class="odd"><td><a href="mod_so.html#loadmodule">LoadModule <em>module filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Links in the object file or library, and adds to the list
of active modules</td></tr>
-<tr class="odd"><td><a href="core.html#location">&lt;Location
- <var>URL-path</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Applies the enclosed directives only to matching
+<tr><td><a href="core.html#location">&lt;Location
+ <var>URL-path</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Applies the enclosed directives only to matching
URLs</td></tr>
-<tr><td><a href="core.html#locationmatch">&lt;LocationMatch
- <var>regex</var>&gt; ... &lt;/LocationMatch&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Applies the enclosed directives only to regular-expression
+<tr class="odd"><td><a href="core.html#locationmatch">&lt;LocationMatch
+ <var>regex</var>&gt; ... &lt;/LocationMatch&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Applies the enclosed directives only to regular-expression
matching URLs</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#lockfile">LockFile <var>filename</var></a></td><td> logs/accept.lock </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the accept serialization lock file</td></tr>
-<tr><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>nickname</var>
-[<var>nickname</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Describes a format for use in a log file</td></tr>
-<tr class="odd"><td><a href="core.html#loglevel">LogLevel <var>level</var></a></td><td> warn </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the verbosity of the ErrorLog</td></tr>
-<tr><td><a href="mpm_common.html#maxclients" id="M" name="M">MaxClients <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of connections that will be processed
+<tr><td><a href="mpm_common.html#lockfile">LockFile <var>filename</var></a></td><td> logs/accept.lock </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Location of the accept serialization lock file</td></tr>
+<tr class="odd"><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>nickname</var>
+[<var>nickname</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Describes a format for use in a log file</td></tr>
+<tr><td><a href="core.html#loglevel">LogLevel <var>level</var></a></td><td> warn </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls the verbosity of the ErrorLog</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#maxclients" id="M" name="M">MaxClients <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of connections that will be processed
simultaneously</td></tr>
-<tr class="odd"><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Number of requests allowed on a persistent
+<tr><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of requests allowed on a persistent
connection</td></tr>
-<tr><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KBytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum amount of memory that the main allocator is allowed
+<tr class="odd"><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KBytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of memory that the main allocator is allowed
to hold without calling <code>free()</code></td></tr>
-<tr class="odd"><td><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild <var>number</var></a></td><td> 10000 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of requests that an individual child server
+<tr><td><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild <var>number</var></a></td><td> 10000 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limit on the number of requests that an individual child server
will handle during its life</td></tr>
-<tr><td><a href="beos.html#maxrequestsperthread">MaxRequestsPerThread <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limita el número de peticiones que una hebra (thread) puede
+<tr class="odd"><td><a href="beos.html#maxrequestsperthread">MaxRequestsPerThread <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limita el número de peticiones que una hebra (thread) puede
atender durante su vida</td></tr>
-<tr class="odd"><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>number</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of idle child server processes</td></tr>
-<tr><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of idle threads</td></tr>
-<tr class="odd"><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr>
-<tr><td><a href="mod_mem_cache.html#mcachemaxobjectcount">MCacheMaxObjectCount <var>value</var></a></td><td> 1009 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum number of objects allowed to be placed in the
+<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>number</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of idle child server processes</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of idle threads</td></tr>
+<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr>
+<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxobjectcount">MCacheMaxObjectCount <var>value</var></a></td><td> 1009 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum number of objects allowed to be placed in the
cache</td></tr>
-<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxobjectsize">MCacheMaxObjectSize <var>bytes</var></a></td><td> 10000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum size (in bytes) of a document allowed in the
+<tr><td><a href="mod_mem_cache.html#mcachemaxobjectsize">MCacheMaxObjectSize <var>bytes</var></a></td><td> 10000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum size (in bytes) of a document allowed in the
cache</td></tr>
-<tr><td><a href="mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer <var>size_in_bytes</var></a></td><td> the smaller of 1000 +</td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum amount of a streamed response to buffer in memory
+<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer <var>size_in_bytes</var></a></td><td> the smaller of 1000 +</td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of a streamed response to buffer in memory
before declaring the response uncacheable</td></tr>
-<tr class="odd"><td><a href="mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize <var>bytes</var></a></td><td> 1 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of a document to be allowed in the
+<tr><td><a href="mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize <var>bytes</var></a></td><td> 1 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum size (in bytes) of a document to be allowed in the
cache</td></tr>
-<tr><td><a href="mod_mem_cache.html#mcacheremovalalgorithm">MCacheRemovalAlgorithm LRU|GDSF</a></td><td> GDSF </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The algorithm used to select documents for removal from the
+<tr class="odd"><td><a href="mod_mem_cache.html#mcacheremovalalgorithm">MCacheRemovalAlgorithm LRU|GDSF</a></td><td> GDSF </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The algorithm used to select documents for removal from the
cache</td></tr>
-<tr class="odd"><td><a href="mod_mem_cache.html#mcachesize">MCacheSize <var>KBytes</var></a></td><td> 100 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum amount of memory used by the cache in
+<tr><td><a href="mod_mem_cache.html#mcachesize">MCacheSize <var>KBytes</var></a></td><td> 100 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum amount of memory used by the cache in
KBytes</td></tr>
-<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the directory to find CERN-style meta information
+<tr class="odd"><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the directory to find CERN-style meta information
files</td></tr>
-<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr>
-<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">File name suffix for the file containg CERN-style
+<tr><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr>
+<tr class="odd"><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File name suffix for the file containg CERN-style
meta information</td></tr>
-<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable MIME-type determination based on file contents
+<tr><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable MIME-type determination based on file contents
using the specified magic file</td></tr>
-<tr><td><a href="prefork.html#minspareservers">MinSpareServers <var>number</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimum number of idle child server processes</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of idle threads available to handle request
+<tr class="odd"><td><a href="prefork.html#minspareservers">MinSpareServers <var>number</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of idle child server processes</td></tr>
+<tr><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimum number of idle threads available to handle request
spikes</td></tr>
-<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code>
+<tr class="odd"><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr>
+<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code>
components as part of the filename</td></tr>
-<tr><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
-[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">The types of files that will be included when searching for
+<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
+[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The types of files that will be included when searching for
a matching file with MultiViews</td></tr>
-<tr class="odd"><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>addr</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Designates an IP address for name-virtual
+<tr><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>addr</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Designates an IP address for name-virtual
hosting</td></tr>
-<tr><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to
+<tr class="odd"><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to
directly</td></tr>
-<tr class="odd"><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">List of additional client certificates</td></tr>
-<tr><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr>
-<tr class="odd"><td><a href="core.html#options" id="O" name="O">Options
- [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> All </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures what features are available in a particular
+<tr><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">List of additional client certificates</td></tr>
+<tr class="odd"><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr>
+<tr><td><a href="core.html#options" id="O" name="O">Options
+ [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> All </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures what features are available in a particular
directory</td></tr>
-<tr><td><a href="mod_authz_host.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Controls the default access state and the order in which
+<tr class="odd"><td><a href="mod_authz_host.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the default access state and the order in which
<code class="directive">Allow</code> and <code class="directive">Deny</code> are
evaluated.</td></tr>
-<tr class="odd"><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>env-variable</var> [<var>env-variable</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Passes environment variables from the shell</td></tr>
-<tr><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">File where the server records the process ID
+<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>env-variable</var> [<var>env-variable</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Passes environment variables from the shell</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">File where the server records the process ID
of the daemon</td></tr>
+<tr><td><a href="core.html#protocol">Protocol <var>protocol</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Protocol for a listening socket</td></tr>
<tr class="odd"><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Turn the echo server on or off</td></tr>
<tr><td><a href="mod_proxy.html#proxy">&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines how to handle bad header lines in a
@@ -597,7 +600,7 @@ extensions</td></tr>
<tr><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout
[header=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
[body=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
-</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
+</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
</td></tr>
<tr class="odd"><td><a href="core.html#require">Require <var>entity-name</var> [<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Selects which authenticated users can access
a resource</td></tr>
@@ -734,8 +737,8 @@ proxy handshake</td></tr>
<tr><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr>
<tr><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
+<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
Certificate verification</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em>
[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding
@@ -759,42 +762,43 @@ Certificate verification</td></tr>
<tr class="odd"><td><a href="mpm_common.html#startservers">StartServers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of child server processes created at startup</td></tr>
<tr><td><a href="mpm_common.html#startthreads">StartThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of threads created on startup</td></tr>
<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr>
-<tr><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">User and group for CGI programs to run as</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads
+<tr><td><a href="core.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Enable or disable the suEXEC feature</td></tr>
+<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">User and group for CGI programs to run as</td></tr>
+<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads
per child process</td></tr>
-<tr><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of threads created by each child process</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">The size in bytes of the stack used by threads handling
+<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of threads created by each child process</td></tr>
+<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The size in bytes of the stack used by threads handling
client connections</td></tr>
-<tr><td><a href="core.html#timeout">TimeOut <var>seconds</var></a></td><td> 300 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Amount of time the server will wait for
+<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>seconds</var></a></td><td> 300 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for
certain events before failing a request</td></tr>
-<tr class="odd"><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the behaviour on <code>TRACE</code>
+<tr><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines the behaviour on <code>TRACE</code>
requests</td></tr>
-<tr><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Specify location of a log file</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr>
-<tr><td><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv <var>env-variable</var> [<var>env-variable</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes variables from the environment</td></tr>
-<tr class="odd"><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own name and
+<tr class="odd"><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify location of a log file</td></tr>
+<tr><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr>
+<tr class="odd"><td><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv <var>env-variable</var> [<var>env-variable</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes variables from the environment</td></tr>
+<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and
port</td></tr>
-<tr><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and
+<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own name and
port</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">The userid under which the server will answer
+<tr><td><a href="mpm_common.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The userid under which the server will answer
requests</td></tr>
-<tr><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ...
-</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Location of the user-specific directories</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root
+<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ...
+</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the user-specific directories</td></tr>
+<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root
for a given virtual host</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root
for a given virtual host</td></tr>
-<tr class="odd"><td><a href="core.html#virtualhost">&lt;VirtualHost
+<tr><td><a href="core.html#virtualhost">&lt;VirtualHost
<var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]]
- ...&gt; ... &lt;/VirtualHost&gt;</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only to a specific
+ ...&gt; ... &lt;/VirtualHost&gt;</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only to a specific
hostname or IP address</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for
a given virtual host</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
+<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
a given virtual host</td></tr>
-<tr><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
-<tr class="odd"><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
+<tr class="odd"><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
+<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
set</td></tr>
</table></div>
<div class="bottomlang">
@@ -804,8 +808,9 @@ set</td></tr>
<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/quickreference.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="../faq/">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/quickreference.html.ja.utf8 b/docs/manual/mod/quickreference.html.ja.utf8
index 3e7d4140..527bbcdb 100644
--- a/docs/manual/mod/quickreference.html.ja.utf8
+++ b/docs/manual/mod/quickreference.html.ja.utf8
@@ -26,7 +26,8 @@
<a href="../ja/mod/quickreference.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/quickreference.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">This translation may be out of date. Check the
English version for recent changes.</div>
@@ -192,27 +193,34 @@ store list of user groups</td></tr>
authenticating the user if this one fails</td></tr>
<tr><td><a href="mod_authz_owner.html#authzownerauthoritative">AuthzOwnerAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">承èªãŒä¸‹ä½æ‰¿èªãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«æ¸¡ã•ã‚Œã‚‹ã‹ã©ã†ã‹ã‚’設定ã™ã‚‹</td></tr>
<tr class="odd"><td><a href="mod_authz_user.html#authzuserauthoritative">AuthzUserAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">承èªãŒä¸‹ä½ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«æ¸¡ã•ã‚Œã‚‹ã‹ã©ã†ã‹ã‚’設定ã™ã‚‹</td></tr>
-<tr><td><a href="mod_setenvif.html#browsermatch" id="B" name="B">BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>]
-[[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">HTTP User-Agent ã«åŸºã¥ã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹
+<tr><td><a href="mod_proxy.html#balancermember" id="B" name="B">BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Add a member to a load balancing group</td></tr>
+<tr class="odd"><td><a href="mod_setenvif.html#browsermatch">BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>]
+[[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">HTTP User-Agent ã«åŸºã¥ã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹
</td></tr>
-<tr class="odd"><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>]
- [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">HTTP User-Agent ã«åŸºã¥ã„ã¦å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã«
+<tr><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>]
+ [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">HTTP User-Agent ã«åŸºã¥ã„ã¦å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã«
環境変数を設定ã™ã‚‹</td></tr>
-<tr><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">ディスクã«æ›¸ã出ã™å‰ã«ãƒ¡ãƒ¢ãƒªã«ãƒ­ã‚°ã‚¨ãƒ³ãƒˆãƒªã‚’ãƒãƒƒãƒ•ã‚¡ã™ã‚‹</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (1時間) </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">期日ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„ã¨ãã«ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’キャッシュã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®æœŸé–“</td></tr>
-<tr><td><a href="mod_disk_cache.html#cachedirlength">CacheDirLength <var>length</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">サブディレクトリåã®æ–‡å­—æ•°</td></tr>
-<tr class="odd"><td><a href="mod_disk_cache.html#cachedirlevels">CacheDirLevels <var>levels</var></a></td><td> 3 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">キャッシュã®ã‚µãƒ–ディレクトリã®æ·±ã•ã®æ•°</td></tr>
-<tr><td><a href="mod_cache.html#cachedisable">CacheDisable <var> url-string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">特定㮠URL をキャッシュã—ãªã„</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> <var>url-string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">指定ã—ãŸã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ç®¡ç†æ–¹å¼ã‚’使ã£ã¦ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’有効ã«ã™ã‚‹</td></tr>
-<tr><td><a href="mod_file_cache.html#cachefile">CacheFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Cache a list of file handles at startup time</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">キャッシュã•ã‚Œã¦ã„るコンテンツを返ã•ãªã„よã†ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰
+<tr class="odd"><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ディスクã«æ›¸ã出ã™å‰ã«ãƒ¡ãƒ¢ãƒªã«ãƒ­ã‚°ã‚¨ãƒ³ãƒˆãƒªã‚’ãƒãƒƒãƒ•ã‚¡ã™ã‚‹</td></tr>
+<tr><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (1時間) </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">期日ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„ã¨ãã«ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’キャッシュã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®æœŸé–“</td></tr>
+<tr class="odd"><td><a href="mod_disk_cache.html#cachedirlength">CacheDirLength <var>length</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">サブディレクトリåã®æ–‡å­—æ•°</td></tr>
+<tr><td><a href="mod_disk_cache.html#cachedirlevels">CacheDirLevels <var>levels</var></a></td><td> 3 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">キャッシュã®ã‚µãƒ–ディレクトリã®æ·±ã•ã®æ•°</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachedisable">CacheDisable <var> url-string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">特定㮠URL をキャッシュã—ãªã„</td></tr>
+<tr><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> <var>url-string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">指定ã—ãŸã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ç®¡ç†æ–¹å¼ã‚’使ã£ã¦ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’有効ã«ã™ã‚‹</td></tr>
+<tr class="odd"><td><a href="mod_file_cache.html#cachefile">CacheFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Cache a list of file handles at startup time</td></tr>
+<tr><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">キャッシュã•ã‚Œã¦ã„るコンテンツを返ã•ãªã„よã†ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰
リクエストã•ã‚Œã¦ã‚‚無視ã™ã‚‹</td></tr>
-<tr><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">指定ã•ã‚ŒãŸ HTTP ヘッダをキャッシュã«ä¿å­˜ã—ãªã„。
+<tr class="odd"><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">指定ã•ã‚ŒãŸ HTTP ヘッダをキャッシュã«ä¿å­˜ã—ãªã„。
</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">応答㫠Last Modified ãŒç„¡ãã¦ã‚‚æ°—ã«ã—ãªã„よã†ã«ã™ã‚‹</td></tr>
-<tr><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">LastModified ã®æ—¥ä»˜ã«åŸºã¥ã„ã¦æœ‰åŠ¹æœŸé™ (expiry)
+<tr><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">応答㫠Last Modified ãŒç„¡ãã¦ã‚‚æ°—ã«ã—ãªã„よã†ã«ã™ã‚‹</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore query string when caching</td></tr>
+<tr><td><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore defined session identifiers encoded in the URL when caching
+</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">LastModified ã®æ—¥ä»˜ã«åŸºã¥ã„ã¦æœ‰åŠ¹æœŸé™ (expiry)
を計算ã™ã‚‹ãŸã‚ã®é‡ã¿ã‚’指定ã™ã‚‹
</td></tr>
+<tr><td><a href="mod_cache.html#cachelock">CacheLock <var>on|off</var></a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable the thundering herd lock.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge <var>integer</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum possible age of a cache lock.</td></tr>
+<tr><td><a href="mod_cache.html#cachelockpath">CacheLockPath <var>directory</var></a></td><td> /tmp/mod_cache-lock +</td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the lock path directory.</td></tr>
<tr class="odd"><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>seconds</var></a></td><td> 86400 (一日) </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">ドキュメントをキャッシュã™ã‚‹æœ€å¤§æ™‚間を秒数ã§è¡¨ã—ãŸã‚‚ã®</td></tr>
<tr><td><a href="mod_disk_cache.html#cachemaxfilesize">CacheMaxFileSize <var>bytes</var></a></td><td> 1000000 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">キャッシュã«ä¿ç®¡ã•ã‚Œã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®æœ€å¤§ã® (ãƒã‚¤ãƒˆã§ã®) サイズ</td></tr>
<tr class="odd"><td><a href="mod_disk_cache.html#cacheminfilesize">CacheMinFileSize <var>bytes</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">キャッシュã«ä¿ç®¡ã•ã‚Œã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®æœ€å°é™ã® (ãƒã‚¤ãƒˆã§ã®) 大ãã•</td></tr>
@@ -225,7 +233,9 @@ authenticating the user if this one fails</td></tr>
<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Charset to translate into</td></tr>
<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> DebugLevel=0 NoImpl +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures charset translation behavior</td></tr>
<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Source charset of files</td></tr>
-<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">spelling モジュールを使用ã™ã‚‹ã‚ˆã†ã«ã™ã‚‹</td></tr>
+<tr><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Limits the action of the speling module to case corrections</td></tr>
+<tr class="odd"><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">spelling モジュールを使用ã™ã‚‹ã‚ˆã†ã«ã™ã‚‹</td></tr>
+<tr><td><a href="mpm_common.html#chrootdir">ChrootDir <var>/path/to/directory</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Directory for apache to run chroot(8) after startup.</td></tr>
<tr class="odd"><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4"><code>Content-MD5</code> HTTP 応答ヘッダã®ç”Ÿæˆã‚’有効ã«ã™ã‚‹</td></tr>
<tr><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The domain to which the tracking cookie applies</td></tr>
<tr class="odd"><td><a href="mod_usertrack.html#cookieexpires">CookieExpires <em>expiry-period</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Expiry time for the tracking cookie</td></tr>
@@ -280,24 +290,26 @@ authenticating the user if this one fails</td></tr>
<tr><td><a href="core.html#documentroot">DocumentRoot <var>directory-path</var></a></td><td> /usr/local/apache/h +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">ウェブã‹ã‚‰è¦‹ãˆã‚‹ãƒ¡ã‚¤ãƒ³ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ„リーã«ãªã‚‹
ディレクトリ</td></tr>
<tr class="odd"><td><a href="mod_dumpio.html#dumpioinput">DumpIOInput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">エラーログã«ã™ã¹ã¦ã®å…¥åŠ›ãƒ‡ãƒ¼ã‚¿ã‚’ダンプ</td></tr>
-<tr><td><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">エラーログã«ã™ã¹ã¦ã®å‡ºåŠ›ãƒ‡ãƒ¼ã‚¿ã‚’ダンプ</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#enableexceptionhook" id="E" name="E">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">クラッシュã®å¾Œã«ä¾‹å¤–ãƒãƒ³ãƒ‰ãƒ©ã‚’実行ã™ã‚‹ãƒ•ãƒƒã‚¯ã‚’有効ã«ã™ã‚‹</td></tr>
-<tr><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">é…é€ä¸­ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’読ã¿è¾¼ã‚€ãŸã‚ã«ãƒ¡ãƒ¢ãƒªãƒžãƒƒãƒ”ングを
+<tr><td><a href="mod_dumpio.html#dumpiologlevel">DumpIOLogLevel <var>level</var></a></td><td> debug </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Controls the logging level of the DumpIO output</td></tr>
+<tr class="odd"><td><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">エラーログã«ã™ã¹ã¦ã®å‡ºåŠ›ãƒ‡ãƒ¼ã‚¿ã‚’ダンプ</td></tr>
+<tr><td><a href="mpm_common.html#enableexceptionhook" id="E" name="E">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">クラッシュã®å¾Œã«ä¾‹å¤–ãƒãƒ³ãƒ‰ãƒ©ã‚’実行ã™ã‚‹ãƒ•ãƒƒã‚¯ã‚’有効ã«ã™ã‚‹</td></tr>
+<tr class="odd"><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">é…é€ä¸­ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’読ã¿è¾¼ã‚€ãŸã‚ã«ãƒ¡ãƒ¢ãƒªãƒžãƒƒãƒ”ングを
使ã†ã‹ã©ã†ã‹</td></tr>
-<tr class="odd"><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">ファイルã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¸ã®é…é€æ™‚ã«ã‚«ãƒ¼ãƒãƒ«ã® sendfile サãƒãƒ¼ãƒˆã‚’
+<tr><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">ファイルã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¸ã®é…é€æ™‚ã«ã‚«ãƒ¼ãƒãƒ«ã® sendfile サãƒãƒ¼ãƒˆã‚’
使ã†ã‹ã©ã†ã‹</td></tr>
-<tr><td><a href="core.html#errordocument">ErrorDocument <var>error-code document</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">エラーãŒç™ºç”Ÿã—ãŸã¨ãã«ã‚µãƒ¼ãƒãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‹ã‚‚ã®</td></tr>
-<tr class="odd"><td><a href="core.html#errorlog"> ErrorLog <var>file-path</var>|syslog[:<var>facility</var>]</a></td><td> logs/error_log (Uni +</td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">サーãƒãŒã‚¨ãƒ©ãƒ¼ã‚’ログåŽé›†ã™ã‚‹å ´æ‰€</td></tr>
-<tr><td><a href="mod_example.html#example">Example</a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Demonstration directive to illustrate the Apache module
+<tr class="odd"><td><a href="core.html#errordocument">ErrorDocument <var>error-code document</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">エラーãŒç™ºç”Ÿã—ãŸã¨ãã«ã‚µãƒ¼ãƒãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‹ã‚‚ã®</td></tr>
+<tr><td><a href="core.html#errorlog"> ErrorLog <var>file-path</var>|syslog[:<var>facility</var>]</a></td><td> logs/error_log (Uni +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">サーãƒãŒã‚¨ãƒ©ãƒ¼ã‚’ログåŽé›†ã™ã‚‹å ´æ‰€</td></tr>
+<tr class="odd"><td><a href="mod_example.html#example">Example</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Demonstration directive to illustrate the Apache module
API</td></tr>
-<tr class="odd"><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4"><code>Expires</code> ヘッダã®ç”Ÿæˆã‚’有効ã«ã™ã‚‹</td></tr>
-<tr><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var>
-<var>&lt;code&gt;seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">MIME タイプã«ã‚ˆã£ã¦è¨­å®šã•ã‚Œã‚‹ <code>Expires</code> ヘッダã®å€¤</td></tr>
-<tr class="odd"><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var>&lt;code&gt;seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">期é™åˆ‡ã‚ŒæœŸæ—¥ã‚’計算ã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ </td></tr>
-<tr><td><a href="mod_status.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">å„リクエストã«å¯¾ã—ã¦æ‹¡å¼µã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹æƒ…報をä¿å­˜ã™ã‚‹</td></tr>
-<tr class="odd"><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>filtername</var> <var>parameters</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">外部フィルタを定義</td></tr>
-<tr><td><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions <var>option</var> [<var>option</var>] ...</a></td><td> DebugLevel=0 NoLogS +</td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4"><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> ã®ã‚ªãƒ—ションを設定</td></tr>
-<tr class="odd"><td><a href="core.html#fileetag" id="F" name="F">FileETag <var>component</var> ...</a></td><td> INode MTime Size </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">ETag HTTP 応答ヘッダを作æˆã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•ã‚Œã‚‹
+<tr><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4"><code>Expires</code> ヘッダã®ç”Ÿæˆã‚’有効ã«ã™ã‚‹</td></tr>
+<tr class="odd"><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var>
+<var>&lt;code&gt;seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">MIME タイプã«ã‚ˆã£ã¦è¨­å®šã•ã‚Œã‚‹ <code>Expires</code> ヘッダã®å€¤</td></tr>
+<tr><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var>&lt;code&gt;seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">期é™åˆ‡ã‚ŒæœŸæ—¥ã‚’計算ã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ </td></tr>
+<tr class="odd"><td><a href="mod_status.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">å„リクエストã«å¯¾ã—ã¦æ‹¡å¼µã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹æƒ…報をä¿å­˜ã™ã‚‹</td></tr>
+<tr><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>filtername</var> <var>parameters</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">外部フィルタを定義</td></tr>
+<tr class="odd"><td><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions <var>option</var> [<var>option</var>] ...</a></td><td> DebugLevel=0 NoLogS +</td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4"><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> ã®ã‚ªãƒ—ションを設定</td></tr>
+<tr><td><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource <var>local-url</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a default URL for requests that don't map to a file</td></tr>
+<tr class="odd"><td><a href="core.html#fileetag">FileETag <var>component</var> ...</a></td><td> INode MTime Size </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">ETag HTTP 応答ヘッダを作æˆã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•ã‚Œã‚‹
ファイルã®å±žæ€§</td></tr>
<tr><td><a href="core.html#files">&lt;Files <var>filename</var>&gt; ... &lt;/Files&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">マッãƒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«åã«é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を囲む</td></tr>
<tr class="odd"><td><a href="core.html#filesmatch">&lt;FilesMatch <var>regex</var>&gt; ... &lt;/FilesMatch&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">æ­£è¦è¡¨ç¾ã«ãƒžãƒƒãƒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«åã«é©ç”¨ã•ã‚Œã‚‹
@@ -315,31 +327,33 @@ API</td></tr>
<tr><td><a href="core.html#forcetype">ForceType <var>MIME-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">ã™ã¹ã¦ã®ãƒžãƒƒãƒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒæŒ‡å®šã® MIME コンテントタイプã§
é€ã‚‰ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹</td></tr>
<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Forensic ログã®ãƒ•ã‚¡ã‚¤ãƒ«åを設定ã™ã‚‹</td></tr>
-<tr><td><a href="mpm_common.html#gracefulshutdowntimeout" id="G" name="G">GracefulShutDownTimeout <var>seconds</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">ç©ã‚„ã‹ãªåœæ­¢ã‚’ã‹ã‘ãŸå¾Œã€çµ‚了ã™ã‚‹ã¾ã§å¾…ã¤æ™‚é–“</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">リクエストã«å¿œç­”ã™ã‚‹éš›ã«æ‰€å±žã™ã‚‹ã‚°ãƒ«ãƒ¼ãƒ—</td></tr>
-<tr><td><a href="mod_headers.html#header" id="H" name="H">Header [<var>condition</var>] set|append|add|unset|echo
-<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">HTTP 応答ヘッダã®è¨­å®š</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">
+<tr><td><a href="core.html#gprofdir" id="G" name="G">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Directory to write gmon.out profiling data to. </td></tr>
+<tr class="odd"><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutDownTimeout <var>seconds</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">ç©ã‚„ã‹ãªåœæ­¢ã‚’ã‹ã‘ãŸå¾Œã€çµ‚了ã™ã‚‹ã¾ã§å¾…ã¤æ™‚é–“</td></tr>
+<tr><td><a href="mpm_common.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">リクエストã«å¿œç­”ã™ã‚‹éš›ã«æ‰€å±žã™ã‚‹ã‚°ãƒ«ãƒ¼ãƒ—</td></tr>
+<tr class="odd"><td><a href="mod_headers.html#header" id="H" name="H">Header [<var>condition</var>] set|append|add|unset|echo
+<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">HTTP 応答ヘッダã®è¨­å®š</td></tr>
+<tr><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">
インデックス一覧ã®å…ˆé ­ã«æŒ¿å…¥ã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰</td></tr>
-<tr><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">クライアント㮠IP アドレス㮠DNS ルックアップを
+<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">クライアント㮠IP アドレス㮠DNS ルックアップを
有効ã«ã™ã‚‹</td></tr>
-<tr class="odd"><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">リモートユーザ㮠RFC 1413 ã«ã‚ˆã‚‹ã‚¢ã‚¤ãƒ‡ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®ãƒ­ã‚®ãƒ³ã‚°ã‚’
+<tr><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">リモートユーザ㮠RFC 1413 ã«ã‚ˆã‚‹ã‚¢ã‚¤ãƒ‡ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®ãƒ­ã‚®ãƒ³ã‚°ã‚’
有効ã«ã™ã‚‹</td></tr>
-<tr><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Ident リクエストãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã™ã‚‹ã¾ã§ã®æœŸé–“を決ã‚ã‚‹</td></tr>
-<tr class="odd"><td><a href="core.html#ifdefine">&lt;IfDefine [!]<var>parameter-name</var>&gt; ...
- &lt;/IfDefine&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">起動時ã«ãƒ†ã‚¹ãƒˆãŒçœŸã§ã‚ã‚‹ã¨ãã®ã¿ã«å‡¦ç†ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’
+<tr class="odd"><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ident リクエストãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã™ã‚‹ã¾ã§ã®æœŸé–“を決ã‚ã‚‹</td></tr>
+<tr><td><a href="core.html#ifdefine">&lt;IfDefine [!]<var>parameter-name</var>&gt; ...
+ &lt;/IfDefine&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">起動時ã«ãƒ†ã‚¹ãƒˆãŒçœŸã§ã‚ã‚‹ã¨ãã®ã¿ã«å‡¦ç†ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’
囲む</td></tr>
-<tr><td><a href="core.html#ifmodule">&lt;IfModule [!]<var>module-file</var>|<var>module-identifier</var>&gt; ...
- &lt;/IfModule&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">モジュールã®å­˜åœ¨ã™ã‚‹ã‹ã—ãªã„ã‹ã«å¿œã˜ã¦å‡¦ç†ã•ã‚Œã‚‹
+<tr class="odd"><td><a href="core.html#ifmodule">&lt;IfModule [!]<var>module-file</var>|<var>module-identifier</var>&gt; ...
+ &lt;/IfModule&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">モジュールã®å­˜åœ¨ã™ã‚‹ã‹ã—ãªã„ã‹ã«å¿œã˜ã¦å‡¦ç†ã•ã‚Œã‚‹
ディレクティブを囲む</td></tr>
-<tr class="odd"><td><a href="mod_version.html#ifversion">&lt;IfVersion [[!]<var>operator</var>] <var>version</var>&gt; ...
-&lt;/IfVersion&gt;</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä¾å­˜ã®è¨­å®šã‚’入れる</td></tr>
-<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr>
-<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default action when an imagemap is called with coordinates
+<tr><td><a href="mod_version.html#ifversion">&lt;IfVersion [[!]<var>operator</var>] <var>version</var>&gt; ...
+&lt;/IfVersion&gt;</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä¾å­˜ã®è¨­å®šã‚’入れる</td></tr>
+<tr class="odd"><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr>
+<tr><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Default action when an imagemap is called with coordinates
that are not explicitly mapped</td></tr>
-<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action if no coordinates are given when calling
+<tr class="odd"><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action if no coordinates are given when calling
an imagemap</td></tr>
-<tr class="odd"><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã‹ã‚‰ä»–ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’å–り込む</td></tr>
+<tr><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã‹ã‚‰ä»–ã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’å–り込む</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr>
<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ディレクトリ一覧を行ãªã†éš›ã«ç„¡è¦–ã™ã¹ã
ファイルリストã«è¿½åŠ </td></tr>
<tr class="odd"><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ディレクトリインデックスã®æ§˜ã€…ãªè¨­å®šé …ç›®
@@ -455,17 +469,22 @@ using the specified magic file</td></tr>
...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">シェルã‹ã‚‰ã®ç’°å¢ƒå¤‰æ•°ã‚’渡ã™</td></tr>
<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">デーモンã®ãƒ—ロセス ID
をサーãƒãŒè¨˜éŒ²ã™ã‚‹ãŸã‚ã®ãƒ•ã‚¡ã‚¤ãƒ«</td></tr>
-<tr><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">エコーサーãƒã®æœ‰åŠ¹ç„¡åŠ¹ã‚’設定ã—ã¾ã™ã€‚</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxy">&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">プロキシã•ã‚Œã‚‹ãƒªã‚½ãƒ¼ã‚¹ã«é©ç”¨ã•ã‚Œã‚‹ã‚³ãƒ³ãƒ†ãƒŠ</td></tr>
-<tr><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">応答ã«ãŠã‹ã—ãªãƒ˜ãƒƒãƒ€ãŒã‚ã‚‹å ´åˆã®æ‰±ã„方を決ã‚ã‚‹</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var>
-[<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">プロキシ接続をç¦æ­¢ã™ã‚‹èªžå¥ã€ãƒ›ã‚¹ãƒˆåã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’指定ã™ã‚‹</td></tr>
-<tr><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">プロキシã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒ‰ãƒ¡ã‚¤ãƒ³å</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">プロキシã•ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®ã‚¨ãƒ©ãƒ¼ãƒšãƒ¼ã‚¸ã‚’上書ãã™ã‚‹</td></tr>
+<tr><td><a href="core.html#protocol">Protocol <var>protocol</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Protocol for a listening socket</td></tr>
+<tr class="odd"><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">エコーサーãƒã®æœ‰åŠ¹ç„¡åŠ¹ã‚’設定ã—ã¾ã™ã€‚</td></tr>
+<tr><td><a href="mod_proxy.html#proxy">&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">プロキシã•ã‚Œã‚‹ãƒªã‚½ãƒ¼ã‚¹ã«é©ç”¨ã•ã‚Œã‚‹ã‚³ãƒ³ãƒ†ãƒŠ</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">応答ã«ãŠã‹ã—ãªãƒ˜ãƒƒãƒ€ãŒã‚ã‚‹å ´åˆã®æ‰±ã„方を決ã‚ã‚‹</td></tr>
+<tr><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var>
+[<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">プロキシ接続をç¦æ­¢ã™ã‚‹èªžå¥ã€ãƒ›ã‚¹ãƒˆåã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’指定ã™ã‚‹</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">プロキシã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒ‰ãƒ¡ã‚¤ãƒ³å</td></tr>
+<tr><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">プロキシã•ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®ã‚¨ãƒ©ãƒ¼ãƒšãƒ¼ã‚¸ã‚’上書ãã™ã‚‹</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxyftpdircharset">ProxyFtpDirCharset <var>character set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr>
<tr><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>bytes</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">内部データスループットãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’決定ã™ã‚‹</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxymatch">&lt;ProxyMatch <var>regex</var>&gt; ...&lt;/ProxyMatch&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">æ­£è¦è¡¨ç¾ã§ã®ãƒžãƒƒãƒã«ã‚ˆã‚‹ãƒ—ロキシリソース用ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–コンテナ</td></tr>
<tr><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>number</var></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">リクエストãŒãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ã•ã‚Œã‚‹ãƒ—ロキシã®æœ€å¤§æ•°</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> <var>key=value</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">リモートサーãƒã‚’ローカルサーãƒã® URL 空間ã«ãƒžãƒƒãƒ—ã™ã‚‹</td></tr>
+<tr><td><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var>
+ <var>[key=value</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maps remote servers into the local server URL-space using regular expressions</td></tr>
<tr><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>path</var>] <var>url</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">リãƒãƒ¼ã‚¹ãƒ—ロキシã•ã‚ŒãŸã‚µãƒ¼ãƒã‹ã‚‰é€ã‚‰ã‚ŒãŸ HTTP 応答ヘッダã®
URL を調整ã™ã‚‹</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>internal-domain</var> <var>public-domain</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">リãƒãƒ¼ã‚¹ãƒ—ロキシサーãƒã‹ã‚‰ã® Set-Cookie ヘッダ㮠Domain 文字列を
@@ -481,6 +500,8 @@ URL を調整ã™ã‚‹</td></tr>
backend</td></tr>
<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>Headername</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable evaluation of <var>X-Sendfile</var> pseudo response
header</td></tr>
+<tr><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>key=value [key=value ...]</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Set various Proxy balancer or member parameters</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Show Proxy LoadBalancer status in mod_status</td></tr>
<tr><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>seconds</var></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">プロキシã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">プロキシã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã® <code>Via</code> HTTP 応答ヘッダ
ã«ã‚ˆã‚Šæä¾›ã•ã‚Œã‚‹æƒ…å ±</td></tr>
@@ -519,7 +540,7 @@ header</td></tr>
<tr><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout
[header=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
[body=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
-</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
+</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
</td></tr>
<tr class="odd"><td><a href="core.html#require">Require <var>entity-name</var> [<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">ã©ã®èªè¨¼æ¸ˆã¿ãƒ¦ãƒ¼ã‚¶ãŒãƒªã‚½ãƒ¼ã‚¹ã‚’アクセスã§ãã‚‹ã‹ã‚’é¸æŠžã™ã‚‹</td></tr>
<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr>
@@ -587,82 +608,87 @@ CGI スクリプトã«æŒ‡å®š</td></tr>
<tr><td><a href="core.html#sethandler">SetHandler <var>handler-name</var>|None</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">マッãƒã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒãƒãƒ³ãƒ‰ãƒ©ã§å‡¦ç†ã•ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹</td></tr>
<tr class="odd"><td><a href="core.html#setinputfilter">SetInputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">クライアントã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚„ POST ã®å…¥åŠ›ã‚’処ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã‚’設定ã™ã‚‹</td></tr>
<tr><td><a href="core.html#setoutputfilter">SetOutputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">サーãƒã®å¿œç­”を処ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã‚’設定ã™ã‚‹</td></tr>
-<tr class="odd"><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "--&gt;" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">include è¦ç´ ã‚’終了ã•ã›ã‚‹æ–‡å­—列</td></tr>
-<tr><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg <var>message</var></a></td><td> "[an error occurred +</td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">SSI ã®ã‚¨ãƒ©ãƒ¼ãŒã‚ã£ãŸã¨ãã«è¡¨ç¤ºã•ã‚Œã‚‹ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸</td></tr>
-<tr class="odd"><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "&lt;!--#" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">include è¦ç´ ã‚’開始ã™ã‚‹æ–‡å­—列</td></tr>
-<tr><td><a href="mod_include.html#ssitimeformat">SSITimeFormat <var>formatstring</var></a></td><td> "%A, %d-%b-%Y %H:%M +</td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">日付ã‘を表ã™æ–‡å­—列ã®æ›¸å¼ã‚’設定ã™ã‚‹</td></tr>
-<tr class="odd"><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho <var>string</var></a></td><td> "(none)" </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">未定義ã®å¤‰æ•°ãŒ echo ã•ã‚ŒãŸã¨ãã«è¡¨ç¤ºã•ã‚Œã‚‹æ–‡å­—列</td></tr>
-<tr><td><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates
+<tr class="odd"><td><a href="mod_include.html#ssienableaccess">SSIEnableAccess on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enable the -A flag during conditional flow control processing.</td></tr>
+<tr><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "--&gt;" </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">include è¦ç´ ã‚’終了ã•ã›ã‚‹æ–‡å­—列</td></tr>
+<tr class="odd"><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg <var>message</var></a></td><td> "[an error occurred +</td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">SSI ã®ã‚¨ãƒ©ãƒ¼ãŒã‚ã£ãŸã¨ãã«è¡¨ç¤ºã•ã‚Œã‚‹ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸</td></tr>
+<tr><td><a href="mod_include.html#ssietag">SSIETag on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Controls whether ETags are generated by the server.</td></tr>
+<tr class="odd"><td><a href="mod_include.html#ssilastmodified">SSILastModified on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls whether <code>Last-Modified</code> headers are generated by the
+server.</td></tr>
+<tr><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "&lt;!--#" </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">include è¦ç´ ã‚’開始ã™ã‚‹æ–‡å­—列</td></tr>
+<tr class="odd"><td><a href="mod_include.html#ssitimeformat">SSITimeFormat <var>formatstring</var></a></td><td> "%A, %d-%b-%Y %H:%M +</td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">日付ã‘を表ã™æ–‡å­—列ã®æ›¸å¼ã‚’設定ã™ã‚‹</td></tr>
+<tr><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho <var>string</var></a></td><td> "(none)" </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">未定義ã®å¤‰æ•°ãŒ echo ã•ã‚ŒãŸã¨ãã«è¡¨ç¤ºã•ã‚Œã‚‹æ–‡å­—列</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates
for Client Auth</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for
+<tr><td><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for
Client Auth</td></tr>
-<tr><td><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates
+<tr class="odd"><td><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates
for defining acceptable CA names</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for
+<tr><td><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for
defining acceptable CA names</td></tr>
-<tr><td><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for
+<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for
Client Auth</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for
+<tr><td><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for
Client Auth</td></tr>
-<tr><td><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of PEM-encoded Server CA Certificates</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Server PEM-encoded X.509 Certificate file</td></tr>
-<tr><td><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Server PEM-encoded Private Key file</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL
+<tr class="odd"><td><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of PEM-encoded Server CA Certificates</td></tr>
+<tr><td><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Server PEM-encoded X.509 Certificate file</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Server PEM-encoded Private Key file</td></tr>
+<tr><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL
handshake</td></tr>
-<tr><td><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice <em>engine</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable use of a cryptographic hardware accelerator</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslengine">SSLEngine on|off|optional</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL Engine Operation Switch</td></tr>
-<tr><td><a href="mod_ssl.html#sslfips">SSLFIPS on|off</a></td><td> off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">SSL FIPS mode Switch</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder <em>flag</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Option to prefer the server's cipher preference order</td></tr>
-<tr><td><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation <em>flag</em></a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Option to enable support for insecure renegotiation</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslmutex">SSLMutex <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Semaphore for internal mutual exclusion of
+<tr class="odd"><td><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice <em>engine</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable use of a cryptographic hardware accelerator</td></tr>
+<tr><td><a href="mod_ssl.html#sslengine">SSLEngine on|off|optional</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SSL Engine Operation Switch</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslfips">SSLFIPS on|off</a></td><td> off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL FIPS mode Switch</td></tr>
+<tr><td><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder <em>flag</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Option to prefer the server's cipher preference order</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation <em>flag</em></a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Option to enable support for insecure renegotiation</td></tr>
+<tr><td><a href="mod_ssl.html#sslmutex">SSLMutex <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Semaphore for internal mutual exclusion of
operations</td></tr>
-<tr><td><a href="mod_ssl.html#ssloptions">SSLOptions [+|-]<em>option</em> ...</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure various SSL engine run-time options</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog <em>type</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of pass phrase dialog for encrypted private
+<tr class="odd"><td><a href="mod_ssl.html#ssloptions">SSLOptions [+|-]<em>option</em> ...</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure various SSL engine run-time options</td></tr>
+<tr><td><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog <em>type</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of pass phrase dialog for encrypted private
keys</td></tr>
-<tr><td><a href="mod_ssl.html#sslprotocol">SSLProtocol [+|-]<em>protocol</em> ...</a></td><td> all </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure usable SSL protocol flavors</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates
+<tr class="odd"><td><a href="mod_ssl.html#sslprotocol">SSLProtocol [+|-]<em>protocol</em> ...</a></td><td> all </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL protocol flavors</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates
for Remote Server Auth</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for
+<tr class="odd"><td><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for
Remote Server Auth</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for
+<tr><td><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for
Remote Server Auth</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for
+<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for
Remote Server Auth</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to check the remote server certificates CN field
+<tr><td><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether to check the remote server certificates CN field
</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether to check if remote server certificate is expired
+<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to check if remote server certificate is expired
</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL
+<tr><td><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL
proxy handshake</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SSL Proxy Engine Operation Switch</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
+<tr class="odd"><td><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL Proxy Engine Operation Switch</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
Certificate verification</td></tr>
-<tr><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em>
-[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding
+<tr class="odd"><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em>
+[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding
source</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize <var>bytes</var></a></td><td> 131072 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the size for the SSL renegotiation buffer</td></tr>
-<tr><td><a href="mod_ssl.html#sslrequire">SSLRequire <em>expression</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow access only when an arbitrarily complex
+<tr><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize <var>bytes</var></a></td><td> 131072 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the size for the SSL renegotiation buffer</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslrequire">SSLRequire <em>expression</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Allow access only when an arbitrarily complex
boolean expression is true</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Deny access when SSL is not used for the
+<tr><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Deny access when SSL is not used for the
HTTP request</td></tr>
-<tr><td><a href="mod_ssl.html#sslsessioncache">SSLSessionCache <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of the global/inter-process SSL Session
+<tr class="odd"><td><a href="mod_ssl.html#sslsessioncache">SSLSessionCache <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of the global/inter-process SSL Session
Cache</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before an SSL session expires
+<tr><td><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Number of seconds before an SSL session expires
in the Session Cache</td></tr>
-<tr><td><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether to allow non SNI clients to access a name based virtual
+<tr class="odd"><td><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to allow non SNI clients to access a name based virtual
host.
</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslusername">SSLUserName <em>varname</em></a></td><td></td><td>sdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Variable name to determine user name</td></tr>
-<tr><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of Client Certificate verification</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Client
+<tr><td><a href="mod_ssl.html#sslusername">SSLUserName <em>varname</em></a></td><td></td><td>sdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Variable name to determine user name</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of Client Certificate verification</td></tr>
+<tr><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Client
Certificate verification</td></tr>
-<tr><td><a href="mpm_common.html#startservers">StartServers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">起動時ã«ç”Ÿæˆã•ã‚Œã‚‹å­ã‚µãƒ¼ãƒãƒ—ロセスã®æ•°</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#startthreads">StartThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">起動時ã«ç”Ÿæˆã•ã‚Œã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã®æ•°</td></tr>
-<tr><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Pattern to filter the response content</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#startservers">StartServers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">起動時ã«ç”Ÿæˆã•ã‚Œã‚‹å­ã‚µãƒ¼ãƒãƒ—ロセスã®æ•°</td></tr>
+<tr><td><a href="mpm_common.html#startthreads">StartThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">起動時ã«ç”Ÿæˆã•ã‚Œã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã®æ•°</td></tr>
+<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr>
+<tr><td><a href="core.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Enable or disable the suEXEC feature</td></tr>
<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">CGI プログラムã®ãƒ¦ãƒ¼ã‚¶ãƒ‘ーミッションã€ã‚°ãƒ«ãƒ¼ãƒ—パーミッション</td></tr>
<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">設定å¯èƒ½ãªå­ãƒ—ロセス毎ã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã®ä¸Šé™ã‚’
設定ã—ã¾ã™</td></tr>
@@ -704,8 +730,9 @@ a given virtual host</td></tr>
<a href="../ja/mod/quickreference.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/quickreference.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/quickreference.html.ko.euc-kr b/docs/manual/mod/quickreference.html.ko.euc-kr
index 78be2f89..823288ef 100644
--- a/docs/manual/mod/quickreference.html.ko.euc-kr
+++ b/docs/manual/mod/quickreference.html.ko.euc-kr
@@ -26,7 +26,8 @@
<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/quickreference.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/quickreference.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
@@ -113,7 +114,7 @@ type</td></tr>
[<var>host</var>|env=<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">¼­¹öÀÇ ÀϺο¡ Á¢±ÙÇÒ ¼ö Àִ ȣ½ºÆ®¸¦ ÁöÁ¤ÇÑ´Ù</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#allowconnect">AllowCONNECT <var>port</var> [<var>port</var>] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the
proxy</td></tr>
-<tr><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines whether encoded path separators in URLs are allowed to
+<tr><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off|NoDecode</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines whether encoded path separators in URLs are allowed to
be passed through</td></tr>
<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>directive-type</var>
[<var>directive-type</var>] ...</a></td><td> All </td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Types of directives that are allowed in
@@ -189,102 +190,113 @@ authenticating the user if this one fails</td></tr>
<tr><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>]
[[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾Ê°í User-Agent¿¡ µû¶ó ȯ°æº¯¼ö¸¦
¼³Á¤ÇÑ´Ù</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (one hour) </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">¸¸±â½Ã°£À» ÁöÁ¤ÇÏÁö¾ÊÀº ¹®¼­¸¦ ij½¬ÇÒ ±âº» ±â°£.</td></tr>
-<tr><td><a href="mod_disk_cache.html#cachedirlength">CacheDirLength <var>length</var></a></td><td> 2 </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">ÇÏÀ§µð·ºÅ丮¸íÀÇ ¹®ÀÚ°³¼ö</td></tr>
-<tr class="odd"><td><a href="mod_disk_cache.html#cachedirlevels">CacheDirLevels <var>levels</var></a></td><td> 3 </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ij½¬ÀÇ ÇÏÀ§µð·ºÅ丮 ±íÀÌ.</td></tr>
-<tr><td><a href="mod_cache.html#cachedisable">CacheDisable <var> url-string</var></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">ƯÁ¤ URLÀ» ij½¬ÇÏÁö ¾Ê´Â´Ù</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> <var>url-string</var></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ÁöÁ¤ÇÑ ÀúÀå°ü¸®ÀÚ¸¦ »ç¿ëÇÏ¿© ÁöÁ¤ÇÑ URLÀ» ij½¬ÇÑ´Ù</td></tr>
-<tr><td><a href="mod_file_cache.html#cachefile">CacheFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">½ÃÀ۽à ¿©·¯ ÆÄÀÏ ÇÚµéÀ» ij½¬ÇÑ´Ù</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Ŭ¶óÀ̾ðÆ®°¡ ij½¬ÇÏÁö¾Ê´Â ³»¿ëÀ» ¿äûÇÔÀ» ¹«½ÃÇÑ´Ù.</td></tr>
-<tr><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</a></td><td> None </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">ij½¬¿¡ ÁöÁ¤ÇÑ HTTP Çì´õ(µé)¸¦ ÀúÀåÇÏÁö ¾Ê´Â´Ù
+<tr class="odd"><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Buffer log entries in memory before writing to disk</td></tr>
+<tr><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (one hour) </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">¸¸±â½Ã°£À» ÁöÁ¤ÇÏÁö¾ÊÀº ¹®¼­¸¦ ij½¬ÇÒ ±âº» ±â°£.</td></tr>
+<tr class="odd"><td><a href="mod_disk_cache.html#cachedirlength">CacheDirLength <var>length</var></a></td><td> 2 </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ÇÏÀ§µð·ºÅ丮¸íÀÇ ¹®ÀÚ°³¼ö</td></tr>
+<tr><td><a href="mod_disk_cache.html#cachedirlevels">CacheDirLevels <var>levels</var></a></td><td> 3 </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">ij½¬ÀÇ ÇÏÀ§µð·ºÅ丮 ±íÀÌ.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachedisable">CacheDisable <var> url-string</var></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ƯÁ¤ URLÀ» ij½¬ÇÏÁö ¾Ê´Â´Ù</td></tr>
+<tr><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> <var>url-string</var></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">ÁöÁ¤ÇÑ ÀúÀå°ü¸®ÀÚ¸¦ »ç¿ëÇÏ¿© ÁöÁ¤ÇÑ URLÀ» ij½¬ÇÑ´Ù</td></tr>
+<tr class="odd"><td><a href="mod_file_cache.html#cachefile">CacheFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">½ÃÀ۽à ¿©·¯ ÆÄÀÏ ÇÚµéÀ» ij½¬ÇÑ´Ù</td></tr>
+<tr><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Ŭ¶óÀ̾ðÆ®°¡ ij½¬ÇÏÁö¾Ê´Â ³»¿ëÀ» ¿äûÇÔÀ» ¹«½ÃÇÑ´Ù.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</a></td><td> None </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ij½¬¿¡ ÁöÁ¤ÇÑ HTTP Çì´õ(µé)¸¦ ÀúÀåÇÏÁö ¾Ê´Â´Ù
</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ÀÀ´ä¿¡ Last Modified Çì´õ°¡ ¾ø´Ù´Â »ç½ÇÀ» ¹«½ÃÇÑ´Ù.</td></tr>
-<tr><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">LastModified ½Ã°£À¸·Î ¸¸±â½Ã°£À» °è»êÇϴµ¥ »ç¿ëÇÏ´Â
+<tr><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">ÀÀ´ä¿¡ Last Modified Çì´õ°¡ ¾ø´Ù´Â »ç½ÇÀ» ¹«½ÃÇÑ´Ù.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore query string when caching</td></tr>
+<tr><td><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore defined session identifiers encoded in the URL when caching
+</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">LastModified ½Ã°£À¸·Î ¸¸±â½Ã°£À» °è»êÇϴµ¥ »ç¿ëÇÏ´Â
°è¼ö.</td></tr>
+<tr><td><a href="mod_cache.html#cachelock">CacheLock <var>on|off</var></a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable the thundering herd lock.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge <var>integer</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum possible age of a cache lock.</td></tr>
+<tr><td><a href="mod_cache.html#cachelockpath">CacheLockPath <var>directory</var></a></td><td> /tmp/mod_cache-lock +</td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the lock path directory.</td></tr>
<tr class="odd"><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>seconds</var></a></td><td> 86400 (ÇÏ·ç) </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">¹®¼­¸¦ ij½¬ÇÏ´Â ÃÊ´ÜÀ§ ÃÖ´ë½Ã°£</td></tr>
<tr><td><a href="mod_disk_cache.html#cachemaxfilesize">CacheMaxFileSize <var>bytes</var></a></td><td> 1000000 </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">ij½¬¿¡ ÀúÀåÇÒ ¹®¼­ÀÇ ÃÖ´ëÅ©±â (¹ÙÀÌÆ® ´ÜÀ§)</td></tr>
<tr class="odd"><td><a href="mod_disk_cache.html#cacheminfilesize">CacheMinFileSize <var>bytes</var></a></td><td> 1 </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ij½¬¿¡ ÀúÀåÇÒ ¹®¼­ÀÇ ÃÖ¼ÒÅ©±â (¹ÙÀÌÆ® ´ÜÀ§)</td></tr>
<tr><td><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs On|Off</a></td><td> Off </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows content-negotiated documents to be
cached by proxy servers</td></tr>
<tr class="odd"><td><a href="mod_disk_cache.html#cacheroot">CacheRoot <var>directory</var></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ij½¬ ÆÄÀÏÀ» ÀúÀåÇÒ µð·ºÅ丮 root</td></tr>
+<tr><td><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache requests or responses that have been marked as no-store.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Attempt to cache responses that the server has marked as private</td></tr>
<tr><td><a href="core.html#cgimapextension">CGIMapExtension <var>cgi-path</var> <var>.extension</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Technique for locating the interpreter for CGI
scripts</td></tr>
<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>charset</var></a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">º¯È¯ÇÒ ¹®ÀÚÁýÇÕ</td></tr>
<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> DebugLevel=0 NoImpl +</td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">¹®ÀÚÁýÇÕ º¯È¯ ±â´ÉÀ» ¼³Á¤</td></tr>
<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>charset</var></a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ÆÄÀÏ ¿øº»ÀÇ ¹®ÀÚÁýÇÕ</td></tr>
-<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">¸ÂÃã¹ý ¸ðµâÀ» »ç¿ëÇÑ´Ù</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#chrootdir">ChrootDir <var>/path/to/directory</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Directory for apache to run chroot(8) after startup.</td></tr>
-<tr><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables the generation of <code>Content-MD5</code> HTTP Response
+<tr><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Limits the action of the speling module to case corrections</td></tr>
+<tr class="odd"><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">¸ÂÃã¹ý ¸ðµâÀ» »ç¿ëÇÑ´Ù</td></tr>
+<tr><td><a href="mpm_common.html#chrootdir">ChrootDir <var>/path/to/directory</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Directory for apache to run chroot(8) after startup.</td></tr>
+<tr class="odd"><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables the generation of <code>Content-MD5</code> HTTP Response
headers</td></tr>
-<tr class="odd"><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The domain to which the tracking cookie applies</td></tr>
-<tr><td><a href="mod_usertrack.html#cookieexpires">CookieExpires <em>expiry-period</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Expiry time for the tracking cookie</td></tr>
-<tr class="odd"><td><a href="mod_log_config.html#cookielog">CookieLog <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ÄíÅ°¸¦ ·Î±×¿¡ ³²±â±âÀ§ÇØ »ç¿ëÇÒ ÆÄÀϸíÀ» ¼³Á¤ÇÑ´Ù</td></tr>
-<tr><td><a href="mod_usertrack.html#cookiename">CookieName <em>token</em></a></td><td> Apache </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the tracking cookie</td></tr>
-<tr class="odd"><td><a href="mod_usertrack.html#cookiestyle">CookieStyle
- <em>Netscape|Cookie|Cookie2|RFC2109|RFC2965</em></a></td><td> Netscape </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Format of the cookie header field</td></tr>
-<tr><td><a href="mod_usertrack.html#cookietracking">CookieTracking on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables tracking cookie</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <var>directory</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Directory where Apache attempts to
+<tr><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The domain to which the tracking cookie applies</td></tr>
+<tr class="odd"><td><a href="mod_usertrack.html#cookieexpires">CookieExpires <em>expiry-period</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Expiry time for the tracking cookie</td></tr>
+<tr><td><a href="mod_log_config.html#cookielog">CookieLog <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">ÄíÅ°¸¦ ·Î±×¿¡ ³²±â±âÀ§ÇØ »ç¿ëÇÒ ÆÄÀϸíÀ» ¼³Á¤ÇÑ´Ù</td></tr>
+<tr class="odd"><td><a href="mod_usertrack.html#cookiename">CookieName <em>token</em></a></td><td> Apache </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the tracking cookie</td></tr>
+<tr><td><a href="mod_usertrack.html#cookiestyle">CookieStyle
+ <em>Netscape|Cookie|Cookie2|RFC2109|RFC2965</em></a></td><td> Netscape </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Format of the cookie header field</td></tr>
+<tr class="odd"><td><a href="mod_usertrack.html#cookietracking">CookieTracking on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables tracking cookie</td></tr>
+<tr><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <var>directory</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Directory where Apache attempts to
switch before dumping core</td></tr>
-<tr><td><a href="mod_log_config.html#customlog">CustomLog <var>file</var>|<var>pipe</var>
+<tr class="odd"><td><a href="mod_log_config.html#customlog">CustomLog <var>file</var>|<var>pipe</var>
<var>format</var>|<var>nickname</var>
-[env=[!]<var>environment-variable</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">·Î±×ÆÄÀÏ À̸§°ú Çü½ÄÀ» ÁöÁ¤ÇÑ´Ù</td></tr>
-<tr class="odd"><td><a href="mod_dav.html#dav" id="D" name="D">Dav On|Off|<var>provider-name</var></a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">WebDAV HTTP ¸Þ½áµå¸¦ ½ÃÀÛÇÑ´Ù</td></tr>
-<tr><td><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity on|off</a></td><td> off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">PROPFINDÀÇ Depth: Infinity ¿äûÀ» Çã°¡ÇÑ´Ù</td></tr>
-<tr class="odd"><td><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB <var>file-path</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the DAV lock database</td></tr>
-<tr><td><a href="mod_dav_fs.html#davlockdb">DavLockDB <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">DAV Àá±Ý µ¥ÀÌÅͺ£À̽º À§Ä¡</td></tr>
-<tr class="odd"><td><a href="mod_dav.html#davmintimeout">DavMinTimeout <var>seconds</var></a></td><td> 0 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">¼­¹ö°¡ DAV ÀÚ¿ø¿¡ ´ëÇØ À¯ÁöÇÒ Àá±ÝÀÇ Ãּҽð£</td></tr>
-<tr><td><a href="mod_dbd.html#dbdexptime">DBDExptime <var>time-in-seconds</var></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Keepalive time for idle connections</td></tr>
-<tr class="odd"><td><a href="mod_dbd.html#dbdkeep">DBDKeep <var>number</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum sustained number of connections</td></tr>
-<tr><td><a href="mod_dbd.html#dbdmax">DBDMax <var>number</var></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of connections</td></tr>
-<tr class="odd"><td><a href="mod_dbd.html#dbdmin">DBDMin <var>number</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of connections</td></tr>
-<tr><td><a href="mod_dbd.html#dbdparams">DBDParams
-<var>param1</var>=<var>value1</var>[,<var>param2</var>=<var>value2</var>]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Parameters for database connection</td></tr>
-<tr class="odd"><td><a href="mod_dbd.html#dbdpersist">DBDPersist On|Off</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to use persistent connections</td></tr>
-<tr><td><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL <var>"SQL statement"</var> <var>label</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Define an SQL prepared statement</td></tr>
-<tr class="odd"><td><a href="mod_dbd.html#dbdriver">DBDriver <var>name</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify an SQL driver</td></tr>
-<tr><td><a href="mod_autoindex.html#defaulticon">DefaultIcon <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ƯÁ¤ ¾ÆÀÌÄÜÀ» ¼³Á¤ÇÏÁö¾ÊÀº ÆÄÀÏ¿¡ »ç¿ëÇÒ ¾ÆÀÌÄÜ</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage <var>MIME-lang</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets all files in the given scope to the specified
+[env=[!]<var>environment-variable</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">·Î±×ÆÄÀÏ À̸§°ú Çü½ÄÀ» ÁöÁ¤ÇÑ´Ù</td></tr>
+<tr><td><a href="mod_dav.html#dav" id="D" name="D">Dav On|Off|<var>provider-name</var></a></td><td> Off </td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">WebDAV HTTP ¸Þ½áµå¸¦ ½ÃÀÛÇÑ´Ù</td></tr>
+<tr class="odd"><td><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity on|off</a></td><td> off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">PROPFINDÀÇ Depth: Infinity ¿äûÀ» Çã°¡ÇÑ´Ù</td></tr>
+<tr><td><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB <var>file-path</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Location of the DAV lock database</td></tr>
+<tr class="odd"><td><a href="mod_dav_fs.html#davlockdb">DavLockDB <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">DAV Àá±Ý µ¥ÀÌÅͺ£À̽º À§Ä¡</td></tr>
+<tr><td><a href="mod_dav.html#davmintimeout">DavMinTimeout <var>seconds</var></a></td><td> 0 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">¼­¹ö°¡ DAV ÀÚ¿ø¿¡ ´ëÇØ À¯ÁöÇÒ Àá±ÝÀÇ Ãּҽð£</td></tr>
+<tr class="odd"><td><a href="mod_dbd.html#dbdexptime">DBDExptime <var>time-in-seconds</var></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr>
+<tr><td><a href="mod_dbd.html#dbdkeep">DBDKeep <var>number</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum sustained number of connections</td></tr>
+<tr class="odd"><td><a href="mod_dbd.html#dbdmax">DBDMax <var>number</var></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of connections</td></tr>
+<tr><td><a href="mod_dbd.html#dbdmin">DBDMin <var>number</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimum number of connections</td></tr>
+<tr class="odd"><td><a href="mod_dbd.html#dbdparams">DBDParams
+<var>param1</var>=<var>value1</var>[,<var>param2</var>=<var>value2</var>]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Parameters for database connection</td></tr>
+<tr><td><a href="mod_dbd.html#dbdpersist">DBDPersist On|Off</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether to use persistent connections</td></tr>
+<tr class="odd"><td><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL <var>"SQL statement"</var> <var>label</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define an SQL prepared statement</td></tr>
+<tr><td><a href="mod_dbd.html#dbdriver">DBDriver <var>name</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify an SQL driver</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#defaulticon">DefaultIcon <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ƯÁ¤ ¾ÆÀÌÄÜÀ» ¼³Á¤ÇÏÁö¾ÊÀº ÆÄÀÏ¿¡ »ç¿ëÇÒ ¾ÆÀÌÄÜ</td></tr>
+<tr><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage <var>MIME-lang</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets all files in the given scope to the specified
language</td></tr>
-<tr><td><a href="core.html#defaulttype">DefaultType <var>MIME-type|none</var></a></td><td> text/plain </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">MIME content-type that will be sent if the
+<tr class="odd"><td><a href="core.html#defaulttype">DefaultType <var>MIME-type|none</var></a></td><td> text/plain </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">MIME content-type that will be sent if the
server cannot determine a type in any other way</td></tr>
-<tr class="odd"><td><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize <var>value</var></a></td><td> 8096 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">zlibÀÌ Çѹø¿¡ ¾ÐÃàÇÒ Å©±â</td></tr>
-<tr><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ãâ·ÂÀ» ¾î´ÀÁ¤µµ ¾ÐÃàÇϴ°¡</td></tr>
-<tr class="odd"><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">¾ÐÃà·üÀ» ·Î±×¿¡ ±â·ÏÇÑ´Ù</td></tr>
-<tr><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">zlibÀÌ ¾ÐÃàÇÒ¶§ »ç¿ëÇÏ´Â ¸Þ¸ð¸®·®</td></tr>
-<tr class="odd"><td><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize <var>value</var></a></td><td> 15 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Zlib ¾ÐÃà window size</td></tr>
-<tr><td><a href="mod_authz_host.html#deny"> Deny from all|<var>host</var>|env=<var>env-variable</var>
-[<var>host</var>|env=<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">¼­¹ö Á¢±ÙÀ» °ÅºÎÇÒ È£½ºÆ®¸¦ ÁöÁ¤ÇÑ´Ù</td></tr>
-<tr class="odd"><td><a href="core.html#directory">&lt;Directory <var>directory-path</var>&gt;
-... &lt;/Directory&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of directives that apply only to the
-named file-system directory and sub-directories</td></tr>
-<tr><td><a href="mod_dir.html#directoryindex">DirectoryIndex
- <var>local-url</var> [<var>local-url</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Ŭ¶óÀ̾ðÆ®°¡ µð·ºÅ丮¸¦ ¿äûÇÒ¶§ ã¾Æº¼ ÀÚ¿ø ¸ñ·Ï</td></tr>
-<tr class="odd"><td><a href="core.html#directorymatch">&lt;DirectoryMatch <var>regex</var>&gt;
-... &lt;/DirectoryMatch&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose directives that apply to
+<tr><td><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize <var>value</var></a></td><td> 8096 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">zlibÀÌ Çѹø¿¡ ¾ÐÃàÇÒ Å©±â</td></tr>
+<tr class="odd"><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ãâ·ÂÀ» ¾î´ÀÁ¤µµ ¾ÐÃàÇϴ°¡</td></tr>
+<tr><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">¾ÐÃà·üÀ» ·Î±×¿¡ ±â·ÏÇÑ´Ù</td></tr>
+<tr class="odd"><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">zlibÀÌ ¾ÐÃàÇÒ¶§ »ç¿ëÇÏ´Â ¸Þ¸ð¸®·®</td></tr>
+<tr><td><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize <var>value</var></a></td><td> 15 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Zlib ¾ÐÃà window size</td></tr>
+<tr class="odd"><td><a href="mod_authz_host.html#deny"> Deny from all|<var>host</var>|env=<var>env-variable</var>
+[<var>host</var>|env=<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">¼­¹ö Á¢±ÙÀ» °ÅºÎÇÒ È£½ºÆ®¸¦ ÁöÁ¤ÇÑ´Ù</td></tr>
+<tr><td><a href="core.html#directory">&lt;Directory <var>directory-path</var>&gt;
+... &lt;/Directory&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that apply only to the
+named file-system directory, sub-directories, and their contents</td></tr>
+<tr class="odd"><td><a href="mod_dir.html#directoryindex">DirectoryIndex
+ <var>local-url</var> [<var>local-url</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Ŭ¶óÀ̾ðÆ®°¡ µð·ºÅ丮¸¦ ¿äûÇÒ¶§ ã¾Æº¼ ÀÚ¿ø ¸ñ·Ï</td></tr>
+<tr><td><a href="core.html#directorymatch">&lt;DirectoryMatch <var>regex</var>&gt;
+... &lt;/DirectoryMatch&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose directives that apply to
file-system directories matching a regular expression and their
subdirectories</td></tr>
-<tr><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">¸¶Áö¸· ½½·¡½¬ ¸®´ÙÀÌ·º¼ÇÀ» Å°°í ²ö´Ù</td></tr>
-<tr class="odd"><td><a href="core.html#documentroot">DocumentRoot <var>directory-path</var></a></td><td> /usr/local/apache/h +</td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Directory that forms the main document tree visible
+<tr class="odd"><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">¸¶Áö¸· ½½·¡½¬ ¸®´ÙÀÌ·º¼ÇÀ» Å°°í ²ö´Ù</td></tr>
+<tr><td><a href="core.html#documentroot">DocumentRoot <var>directory-path</var></a></td><td> /usr/local/apache/h +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Directory that forms the main document tree visible
from the web</td></tr>
-<tr><td><a href="mod_dumpio.html#dumpioinput">DumpIOInput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Dump all input data to the error log</td></tr>
-<tr class="odd"><td><a href="mod_dumpio.html#dumpiologlevel">DumpIOLogLevel <var>level</var></a></td><td> debug </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the logging level of the DumpIO output</td></tr>
-<tr><td><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Dump all output data to the error log</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#enableexceptionhook" id="E" name="E">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Enables a hook that runs exception handlers
+<tr class="odd"><td><a href="mod_dumpio.html#dumpioinput">DumpIOInput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dump all input data to the error log</td></tr>
+<tr><td><a href="mod_dumpio.html#dumpiologlevel">DumpIOLogLevel <var>level</var></a></td><td> debug </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Controls the logging level of the DumpIO output</td></tr>
+<tr class="odd"><td><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dump all output data to the error log</td></tr>
+<tr><td><a href="mpm_common.html#enableexceptionhook" id="E" name="E">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Enables a hook that runs exception handlers
after a crash</td></tr>
-<tr><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Use memory-mapping to read files during delivery</td></tr>
-<tr class="odd"><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Use the kernel sendfile support to deliver files to the client</td></tr>
-<tr><td><a href="core.html#errordocument">ErrorDocument <var>error-code</var> <var>document</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">What the server will return to the client
+<tr class="odd"><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Use memory-mapping to read files during delivery</td></tr>
+<tr><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Use the kernel sendfile support to deliver files to the client</td></tr>
+<tr class="odd"><td><a href="core.html#errordocument">ErrorDocument <var>error-code</var> <var>document</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">What the server will return to the client
in case of an error</td></tr>
-<tr class="odd"><td><a href="core.html#errorlog"> ErrorLog <var>file-path</var>|syslog[:<var>facility</var>]</a></td><td> logs/error_log (Uni +</td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Location where the server will log errors</td></tr>
-<tr><td><a href="mod_example.html#example">Example</a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">¾ÆÆÄÄ¡ ¸ðµâ API¸¦ ¼³¸íÇϱâÀ§ÇÑ ¿¹Á¦ Áö½Ã¾î</td></tr>
-<tr class="odd"><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4"><code>Expires</code> Çì´õ¸¦ »ý¼ºÇÑ´Ù</td></tr>
-<tr><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var>
-<var>&lt;code&gt;seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">MIME typeÀ¸·Î <code>Expires</code> Çì´õ°ªÀ» ¼³Á¤ÇÑ´Ù</td></tr>
-<tr class="odd"><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var>&lt;code&gt;seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">¸¸±â½Ã°£À» °è»êÇÏ´Â ±âº» ¾Ë°í¸®Áò</td></tr>
-<tr><td><a href="mod_status.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">°¢ ¿äû¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ »óÅ Á¤º¸¸¦ ±â·ÏÇÑ´Ù</td></tr>
-<tr class="odd"><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>filtername</var> <var>parameters</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">¿ÜºÎ ÇÊÅ͸¦ Á¤ÀÇÇÑ´Ù</td></tr>
-<tr><td><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions <var>option</var> [<var>option</var>] ...</a></td><td> DebugLevel=0 NoLogS +</td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4"><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> ¿É¼ÇÀ» ¼³Á¤ÇÑ´Ù</td></tr>
-<tr class="odd"><td><a href="core.html#fileetag" id="F" name="F">FileETag <var>component</var> ...</a></td><td> INode MTime Size </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">File attributes used to create the ETag
+<tr><td><a href="core.html#errorlog"> ErrorLog <var>file-path</var>|syslog[:<var>facility</var>]</a></td><td> logs/error_log (Uni +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Location where the server will log errors</td></tr>
+<tr class="odd"><td><a href="mod_example.html#example">Example</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">¾ÆÆÄÄ¡ ¸ðµâ API¸¦ ¼³¸íÇϱâÀ§ÇÑ ¿¹Á¦ Áö½Ã¾î</td></tr>
+<tr><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4"><code>Expires</code> Çì´õ¸¦ »ý¼ºÇÑ´Ù</td></tr>
+<tr class="odd"><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var>
+<var>&lt;code&gt;seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">MIME typeÀ¸·Î <code>Expires</code> Çì´õ°ªÀ» ¼³Á¤ÇÑ´Ù</td></tr>
+<tr><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var>&lt;code&gt;seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">¸¸±â½Ã°£À» °è»êÇÏ´Â ±âº» ¾Ë°í¸®Áò</td></tr>
+<tr class="odd"><td><a href="mod_status.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">°¢ ¿äû¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ »óÅ Á¤º¸¸¦ ±â·ÏÇÑ´Ù</td></tr>
+<tr><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>filtername</var> <var>parameters</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">¿ÜºÎ ÇÊÅ͸¦ Á¤ÀÇÇÑ´Ù</td></tr>
+<tr class="odd"><td><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions <var>option</var> [<var>option</var>] ...</a></td><td> DebugLevel=0 NoLogS +</td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4"><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> ¿É¼ÇÀ» ¼³Á¤ÇÑ´Ù</td></tr>
+<tr><td><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource <var>local-url</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a default URL for requests that don't map to a file</td></tr>
+<tr class="odd"><td><a href="core.html#fileetag">FileETag <var>component</var> ...</a></td><td> INode MTime Size </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">File attributes used to create the ETag
HTTP response header for static files</td></tr>
<tr><td><a href="core.html#files">&lt;Files <var>filename</var>&gt; ... &lt;/Files&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply to matched
filenames</td></tr>
@@ -303,30 +315,32 @@ found</td></tr>
<tr><td><a href="core.html#forcetype">ForceType <var>MIME-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be served with the specified
MIME content-type</td></tr>
<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr>
-<tr><td><a href="mpm_common.html#gracefulshutdowntimeout" id="G" name="G">GracefulShutDownTimeout <var>seconds</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server
+<tr><td><a href="core.html#gprofdir" id="G" name="G">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Directory to write gmon.out profiling data to. </td></tr>
+<tr class="odd"><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutDownTimeout <var>seconds</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server
will exit.</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Group under which the server will answer
+<tr><td><a href="mpm_common.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Group under which the server will answer
requests</td></tr>
-<tr><td><a href="mod_headers.html#header" id="H" name="H">Header [<var>condition</var>] set|append|add|unset|echo
-<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">HTTP ÀÀ´ä Çì´õ¸¦ ±¸¼ºÇÑ´Ù</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ÆÄÀϸñ·Ï À§¿¡ »ðÀÔÇÒ ÆÄÀÏÀÇ À̸§</td></tr>
-<tr><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables DNS lookups on client IP addresses</td></tr>
-<tr class="odd"><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">¿ø°Ý »ç¿ëÀÚÀÇ RFC 1413 ½Å¿øÀ» ·Î±×¿¡ ±â·ÏÇÑ´Ù</td></tr>
-<tr><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">ident ¿äûÀÇ ½Ã°£Á¦ÇÑÀ» ÁöÁ¤ÇÑ´Ù</td></tr>
-<tr class="odd"><td><a href="core.html#ifdefine">&lt;IfDefine [!]<var>parameter-name</var>&gt; ...
- &lt;/IfDefine&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that will be processed only
+<tr class="odd"><td><a href="mod_headers.html#header" id="H" name="H">Header [<var>condition</var>] set|append|add|unset|echo
+<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">HTTP ÀÀ´ä Çì´õ¸¦ ±¸¼ºÇÑ´Ù</td></tr>
+<tr><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ÆÄÀϸñ·Ï À§¿¡ »ðÀÔÇÒ ÆÄÀÏÀÇ À̸§</td></tr>
+<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables DNS lookups on client IP addresses</td></tr>
+<tr><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">¿ø°Ý »ç¿ëÀÚÀÇ RFC 1413 ½Å¿øÀ» ·Î±×¿¡ ±â·ÏÇÑ´Ù</td></tr>
+<tr class="odd"><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">ident ¿äûÀÇ ½Ã°£Á¦ÇÑÀ» ÁöÁ¤ÇÑ´Ù</td></tr>
+<tr><td><a href="core.html#ifdefine">&lt;IfDefine [!]<var>parameter-name</var>&gt; ...
+ &lt;/IfDefine&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only
if a test is true at startup</td></tr>
-<tr><td><a href="core.html#ifmodule">&lt;IfModule [!]<var>module-file</var>|<var>module-identifier</var>&gt; ...
- &lt;/IfModule&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that are processed conditional on the
+<tr class="odd"><td><a href="core.html#ifmodule">&lt;IfModule [!]<var>module-file</var>|<var>module-identifier</var>&gt; ...
+ &lt;/IfModule&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the
presence or absence of a specific module</td></tr>
-<tr class="odd"><td><a href="mod_version.html#ifversion">&lt;IfVersion [[!]<var>operator</var>] <var>version</var>&gt; ...
-&lt;/IfVersion&gt;</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">¹öÀüº° ¼³Á¤À» ¹­´Â´Ù</td></tr>
-<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">À̹ÌÁö¸Ê ÆÄÀÏ¿¡¼­ <code>base</code> ±âº»°ª</td></tr>
-<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">À̹ÌÁö¸Ê¿¡ ¾î´À ¿µ¿ª¿¡µµ ÇØ´çÇÏÁö ¾Ê´Â ÁÂÇ¥¸¦ ÁØ
+<tr><td><a href="mod_version.html#ifversion">&lt;IfVersion [[!]<var>operator</var>] <var>version</var>&gt; ...
+&lt;/IfVersion&gt;</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">¹öÀüº° ¼³Á¤À» ¹­´Â´Ù</td></tr>
+<tr class="odd"><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">À̹ÌÁö¸Ê ÆÄÀÏ¿¡¼­ <code>base</code> ±âº»°ª</td></tr>
+<tr><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">À̹ÌÁö¸Ê¿¡ ¾î´À ¿µ¿ª¿¡µµ ÇØ´çÇÏÁö ¾Ê´Â ÁÂÇ¥¸¦ ÁØ
°æ¿ì ±âº» Çൿ</td></tr>
-<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ÁÂÇ¥¾øÀÌ À̹ÌÁö¸Ê ¿äû½Ã ÃëÇÒ Çൿ</td></tr>
-<tr class="odd"><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Includes other configuration files from within
+<tr class="odd"><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ÁÂÇ¥¾øÀÌ À̹ÌÁö¸Ê ¿äû½Ã ÃëÇÒ Çൿ</td></tr>
+<tr><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Includes other configuration files from within
the server configuration files</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr>
<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">µð·ºÅ丮 ¸ñ·Ï¿¡¼­ ¼û±æ ÆÄÀϸñ·ÏÀ» Ãß°¡ÇÑ´Ù</td></tr>
<tr class="odd"><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>]
...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">µð·ºÅ丮 ¸ñ·ÏÀÇ ¿©·¯ ¼³Á¤µé</td></tr>
@@ -376,11 +390,11 @@ except the named ones</td></tr>
subrequests</td></tr>
<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restricts the total size of the HTTP request body sent
from the client</td></tr>
-<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>number</var></a></td><td> 100 </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of HTTP request header fields that
+<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of HTTP request header fields that
will be accepted from the client</td></tr>
-<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bytes</var></a></td><td> 8190 </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of the HTTP request header allowed from the
+<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of the HTTP request header allowed from the
client</td></tr>
-<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Limit the size of the HTTP request line that will be accepted
+<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limit the size of the HTTP request line that will be accepted
from the client</td></tr>
<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of an XML-based request body</td></tr>
<tr><td><a href="mpm_common.html#listen">Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">IP addresses and ports that the server
@@ -448,136 +462,140 @@ directory</td></tr>
...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">½©¿¡¼­ ȯ°æº¯¼ö¸¦ °¡Á®¿Â´Ù</td></tr>
<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">File where the server records the process ID
of the daemon</td></tr>
-<tr><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">echo ¼­¹ö¸¦ Å°°í ²ö´Ù</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxy">&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr>
-<tr><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines how to handle bad header lines in a
+<tr><td><a href="core.html#protocol">Protocol <var>protocol</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Protocol for a listening socket</td></tr>
+<tr class="odd"><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">echo ¼­¹ö¸¦ Å°°í ²ö´Ù</td></tr>
+<tr><td><a href="mod_proxy.html#proxy">&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines how to handle bad header lines in a
response</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var>
-[<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Words, hosts, or domains that are banned from being
+<tr><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var>
+[<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Words, hosts, or domains that are banned from being
proxied</td></tr>
-<tr><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Default domain name for proxied requests</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
-<tr><td><a href="mod_proxy.html#proxyftpdircharset">ProxyFtpDirCharset <var>character set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>bytes</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine size of internal data throughput buffer</td></tr>
-<tr><td><a href="mod_proxy.html#proxymatch">&lt;ProxyMatch <var>regex</var>&gt; ...&lt;/ProxyMatch&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to regular-expression-matched
+<tr class="odd"><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Default domain name for proxied requests</td></tr>
+<tr><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxyftpdircharset">ProxyFtpDirCharset <var>character set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr>
+<tr><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>bytes</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine size of internal data throughput buffer</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxymatch">&lt;ProxyMatch <var>regex</var>&gt; ...&lt;/ProxyMatch&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to regular-expression-matched
proxied resources</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>number</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximium number of proxies that a request can be forwarded
+<tr><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>number</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximium number of proxies that a request can be forwarded
through</td></tr>
-<tr><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var>
-<var>key=value</var> ...]] [nocanon] [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Maps remote servers into the local server URL-space</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr>
-<tr><td><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var>
- <var>[key=value</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Maps remote servers into the local server URL-space using regular expressions</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>path</var>] <var>url</var>
-[<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adjusts the URL in HTTP response headers sent from a reverse
+<tr class="odd"><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var>
+<var>key=value</var> ...]] [nocanon] [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maps remote servers into the local server URL-space</td></tr>
+<tr><td><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var>
+ <var>[key=value</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maps remote servers into the local server URL-space using regular expressions</td></tr>
+<tr><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>path</var>] <var>url</var>
+[<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the URL in HTTP response headers sent from a reverse
proxied server</td></tr>
-<tr><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>internal-domain</var>
-<var>public-domain</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the Domain string in Set-Cookie headers from a reverse-
+<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>internal-domain</var>
+<var>public-domain</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adjusts the Domain string in Set-Cookie headers from a reverse-
proxied server</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>internal-path</var>
-<var>public-path</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adjusts the Path string in Set-Cookie headers from a reverse-
+<tr><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>internal-path</var>
+<var>public-path</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the Path string in Set-Cookie headers from a reverse-
proxied server</td></tr>
-<tr><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Use incoming Host HTTP request header for proxy
+<tr class="odd"><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use incoming Host HTTP request header for proxy
request</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Network buffer size for proxied HTTP and FTP
+<tr><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Network buffer size for proxied HTTP and FTP
connections</td></tr>
-<tr><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>match</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Remote proxy used to handle certain requests</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Remote proxy used to handle requests matched by regular
+<tr class="odd"><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>match</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Remote proxy used to handle certain requests</td></tr>
+<tr><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Remote proxy used to handle requests matched by regular
expressions</td></tr>
-<tr><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables forward (standard) proxy requests</td></tr>
-<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off</a></td><td> On </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable internal redirect responses from the
+<tr class="odd"><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables forward (standard) proxy requests</td></tr>
+<tr><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off</a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable or disable internal redirect responses from the
backend</td></tr>
-<tr><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>Headername</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable evaluation of <var>X-Sendfile</var> pseudo response
+<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>Headername</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable evaluation of <var>X-Sendfile</var> pseudo response
header</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>key=value [key=value ...]</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set various Proxy balancer or member parameters</td></tr>
-<tr><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Show Proxy LoadBalancer status in mod_status</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>seconds</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Network timeout for proxied requests</td></tr>
-<tr><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Information provided in the <code>Via</code> HTTP response
+<tr><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>key=value [key=value ...]</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Set various Proxy balancer or member parameters</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Show Proxy LoadBalancer status in mod_status</td></tr>
+<tr><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>seconds</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Network timeout for proxied requests</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Information provided in the <code>Via</code> HTTP response
header for proxied requests</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#readmename" id="R" name="R">ReadmeName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ÆÄÀϸñ·Ï ¸¶Áö¸·¿¡ »ðÀÔÇÒ ÆÄÀÏÀÇ À̸§</td></tr>
-<tr><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">TCP receive buffer size</td></tr>
-<tr class="odd"><td><a href="mod_alias.html#redirect">Redirect [<var>status</var>] <var>URL-path</var>
-<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Ŭ¶óÀ̾ðÆ®°¡ ´Ù¸¥ URL¿¡ Á¢¼ÓÇϵµ·Ï ¿äûÇÏ´Â ¿ÜºÎ
+<tr><td><a href="mod_autoindex.html#readmename" id="R" name="R">ReadmeName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ÆÄÀϸñ·Ï ¸¶Áö¸·¿¡ »ðÀÔÇÒ ÆÄÀÏÀÇ À̸§</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP receive buffer size</td></tr>
+<tr><td><a href="mod_alias.html#redirect">Redirect [<var>status</var>] <var>URL-path</var>
+<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Ŭ¶óÀ̾ðÆ®°¡ ´Ù¸¥ URL¿¡ Á¢¼ÓÇϵµ·Ï ¿äûÇÏ´Â ¿ÜºÎ
¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù</td></tr>
-<tr><td><a href="mod_alias.html#redirectmatch">RedirectMatch [<var>status</var>] <var>regex</var>
-<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ÇöÀç URLÀÌ Á¤±ÔÇ¥Çö½Ä¿¡ ÇØ´çÇÏ¸é ¿ÜºÎ ¸®´ÙÀÌ·º¼ÇÀ»
+<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch [<var>status</var>] <var>regex</var>
+<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ÇöÀç URLÀÌ Á¤±ÔÇ¥Çö½Ä¿¡ ÇØ´çÇÏ¸é ¿ÜºÎ ¸®´ÙÀÌ·º¼ÇÀ»
º¸³½´Ù</td></tr>
-<tr class="odd"><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Ŭ¶óÀ̾ðÆ®°¡ ´Ù¸¥ URL¿¡ Á¢¼ÓÇϵµ·Ï ¿äûÇÏ´Â ¿ÜºÎ
+<tr><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Ŭ¶óÀ̾ðÆ®°¡ ´Ù¸¥ URL¿¡ Á¢¼ÓÇϵµ·Ï ¿äûÇÏ´Â ¿ÜºÎ
¿µ±¸ ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù</td></tr>
-<tr><td><a href="mod_alias.html#redirecttemp">RedirectTemp <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Ŭ¶óÀ̾ðÆ®°¡ ´Ù¸¥ URL¿¡ Á¢¼ÓÇϵµ·Ï ¿äûÇÏ´Â ¿ÜºÎ
+<tr class="odd"><td><a href="mod_alias.html#redirecttemp">RedirectTemp <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Ŭ¶óÀ̾ðÆ®°¡ ´Ù¸¥ URL¿¡ Á¢¼ÓÇϵµ·Ï ¿äûÇÏ´Â ¿ÜºÎ
Àӽà ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#removecharset">RemoveCharset <var>extension</var> [<var>extension</var>]
-...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any character set associations for a set of file
+<tr><td><a href="mod_mime.html#removecharset">RemoveCharset <var>extension</var> [<var>extension</var>]
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any character set associations for a set of file
extensions</td></tr>
-<tr><td><a href="mod_mime.html#removeencoding">RemoveEncoding <var>extension</var> [<var>extension</var>]
-...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any content encoding associations for a set of file
+<tr class="odd"><td><a href="mod_mime.html#removeencoding">RemoveEncoding <var>extension</var> [<var>extension</var>]
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any content encoding associations for a set of file
extensions</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#removehandler">RemoveHandler <var>extension</var> [<var>extension</var>]
-...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any handler associations for a set of file
+<tr><td><a href="mod_mime.html#removehandler">RemoveHandler <var>extension</var> [<var>extension</var>]
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any handler associations for a set of file
extensions</td></tr>
-<tr><td><a href="mod_mime.html#removeinputfilter">RemoveInputFilter <var>extension</var> [<var>extension</var>]
-...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any input filter associations for a set of file
+<tr class="odd"><td><a href="mod_mime.html#removeinputfilter">RemoveInputFilter <var>extension</var> [<var>extension</var>]
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any input filter associations for a set of file
extensions</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#removelanguage">RemoveLanguage <var>extension</var> [<var>extension</var>]
-...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any language associations for a set of file
+<tr><td><a href="mod_mime.html#removelanguage">RemoveLanguage <var>extension</var> [<var>extension</var>]
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any language associations for a set of file
extensions</td></tr>
-<tr><td><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter <var>extension</var> [<var>extension</var>]
-...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any output filter associations for a set of file
+<tr class="odd"><td><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter <var>extension</var> [<var>extension</var>]
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any output filter associations for a set of file
extensions</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#removetype">RemoveType <var>extension</var> [<var>extension</var>]
-...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any content type associations for a set of file
+<tr><td><a href="mod_mime.html#removetype">RemoveType <var>extension</var> [<var>extension</var>]
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any content type associations for a set of file
extensions</td></tr>
-<tr><td><a href="mod_headers.html#requestheader">RequestHeader set|append|add|unset <var>header</var>
-[<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">HTTP ¿äû Çì´õ¸¦ ±¸¼ºÇÑ´Ù</td></tr>
-<tr class="odd"><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout
+<tr class="odd"><td><a href="mod_headers.html#requestheader">RequestHeader set|append|add|unset <var>header</var>
+[<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">HTTP ¿äû Çì´õ¸¦ ±¸¼ºÇÑ´Ù</td></tr>
+<tr><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout
[header=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
[body=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
-</a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
+</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
</td></tr>
-<tr><td><a href="core.html#require">Require <var>entity-name</var> [<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Selects which authenticated users can access
+<tr class="odd"><td><a href="core.html#require">Require <var>entity-name</var> [<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Selects which authenticated users can access
a resource</td></tr>
-<tr class="odd"><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr>
-<tr><td><a href="mod_rewrite.html#rewritecond"> RewriteCond
- <em>TestString</em> <em>CondPattern</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
+<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr>
+<tr class="odd"><td><a href="mod_rewrite.html#rewritecond"> RewriteCond
+ <em>TestString</em> <em>CondPattern</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a condition under which rewriting will take place
</td></tr>
-<tr class="odd"><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr>
-<tr><td><a href="mod_rewrite.html#rewritelock">RewriteLock <em>file-path</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the name of the lock file used for <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+<tr><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr>
+<tr class="odd"><td><a href="mod_rewrite.html#rewritelock">RewriteLock <em>file-path</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of the lock file used for <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
synchronization</td></tr>
-<tr class="odd"><td><a href="mod_rewrite.html#rewritelog">RewriteLog <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of the file used for logging rewrite engine
+<tr><td><a href="mod_rewrite.html#rewritelog">RewriteLog <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the name of the file used for logging rewrite engine
processing</td></tr>
-<tr><td><a href="mod_rewrite.html#rewriteloglevel">RewriteLogLevel <em>Level</em></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the verbosity of the log file used by the rewrite
+<tr class="odd"><td><a href="mod_rewrite.html#rewriteloglevel">RewriteLogLevel <em>Level</em></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the verbosity of the log file used by the rewrite
engine</td></tr>
-<tr class="odd"><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
-</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a mapping function for key-lookup</td></tr>
-<tr><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions <var>Options</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets some special options for the rewrite engine</td></tr>
-<tr class="odd"><td><a href="mod_rewrite.html#rewriterule">RewriteRule
- <em>Pattern</em> <em>Substitution</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines rules for the rewriting engine</td></tr>
-<tr><td><a href="core.html#rlimitcpu">RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the CPU consumption of processes launched
+<tr><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
+</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a mapping function for key-lookup</td></tr>
+<tr class="odd"><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions <var>Options</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets some special options for the rewrite engine</td></tr>
+<tr><td><a href="mod_rewrite.html#rewriterule">RewriteRule
+ <em>Pattern</em> <em>Substitution</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines rules for the rewriting engine</td></tr>
+<tr class="odd"><td><a href="core.html#rlimitcpu">RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the CPU consumption of processes launched
by Apache children</td></tr>
-<tr class="odd"><td><a href="core.html#rlimitmem">RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the memory consumption of processes launched
+<tr><td><a href="core.html#rlimitmem">RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the memory consumption of processes launched
by Apache children</td></tr>
-<tr><td><a href="core.html#rlimitnproc">RLimitNPROC <var>number</var>|max [<var>number</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of processes that can be launched by
+<tr class="odd"><td><a href="core.html#rlimitnproc">RLimitNPROC <var>number</var>|max [<var>number</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the number of processes that can be launched by
processes launched by Apache children</td></tr>
-<tr class="odd"><td><a href="core.html#satisfy" id="S" name="S">Satisfy Any|All</a></td><td> All </td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Interaction between host-level access control and
+<tr><td><a href="core.html#satisfy" id="S" name="S">Satisfy Any|All</a></td><td> All </td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Interaction between host-level access control and
user authentication</td></tr>
-<tr><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>file-path</var></a></td><td> logs/apache_status </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Location of the file used to store coordination data for
+<tr class="odd"><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>file-path</var></a></td><td> logs/apache_status </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the file used to store coordination data for
the child processes</td></tr>
-<tr class="odd"><td><a href="mod_actions.html#script">Script <var>method</var> <var>cgi-script</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ƯÁ¤ ¿äû¸Þ¼­µå¿¡ ´ëÇØ CGI ½ºÅ©¸³Æ®¸¦
+<tr><td><a href="mod_actions.html#script">Script <var>method</var> <var>cgi-script</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">ƯÁ¤ ¿äû¸Þ¼­µå¿¡ ´ëÇØ CGI ½ºÅ©¸³Æ®¸¦
»ç¿ëÇÑ´Ù.</td></tr>
-<tr><td><a href="mod_alias.html#scriptalias">ScriptAlias <var>URL-path</var>
-<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">URLÀ» ƯÁ¤ ÆÄÀϽýºÅÛ Àå¼Ò·Î ´ëÀÀÇÏ°í ´ë»óÀÌ CGI
+<tr class="odd"><td><a href="mod_alias.html#scriptalias">ScriptAlias <var>URL-path</var>
+<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">URLÀ» ƯÁ¤ ÆÄÀϽýºÅÛ Àå¼Ò·Î ´ëÀÀÇÏ°í ´ë»óÀÌ CGI
½ºÅ©¸³Æ®¶ó°í ¾Ë¸°´Ù</td></tr>
-<tr class="odd"><td><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch <var>regex</var>
-<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ¿© URLÀ» ƯÁ¤ ÆÄÀϽýºÅÛ Àå¼Ò·Î
+<tr><td><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch <var>regex</var>
+<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ¿© URLÀ» ƯÁ¤ ÆÄÀϽýºÅÛ Àå¼Ò·Î
´ëÀÀÇÏ°í ´ë»óÀÌ CGI ½ºÅ©¸³Æ®¶ó°í ¾Ë¸°´Ù</td></tr>
-<tr><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource Registry|Registry-Strict|Script</a></td><td> Script </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Technique for locating the interpreter for CGI
+<tr class="odd"><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource Registry|Registry-Strict|Script</a></td><td> Script </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Technique for locating the interpreter for CGI
scripts</td></tr>
-<tr class="odd"><td><a href="mod_cgi.html#scriptlog">ScriptLog <var>file-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">CGI ½ºÅ©¸³Æ® ¿À·ù·Î±×ÆÄÀÏÀÇ À§Ä¡</td></tr>
-<tr><td><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer <var>bytes</var></a></td><td> 1024 </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">½ºÅ©¸³Æ® ·Î±×¿¡ ±â·ÏÇÒ PUT ȤÀº POST ¿äûÀÇ ÃÖ´ë·®</td></tr>
-<tr class="odd"><td><a href="mod_cgi.html#scriptloglength">ScriptLogLength <var>bytes</var></a></td><td> 10385760 </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">CGI ½ºÅ©¸³Æ® ·Î±×ÆÄÀÏÀÇ Å©±â Á¦ÇÑ</td></tr>
-<tr><td><a href="mod_cgid.html#scriptsock">ScriptSock <var>file-path</var></a></td><td> logs/cgisock </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">cgi µ¥¸ó°ú Åë½ÅÀ» À§ÇØ »ç¿ëÇÒ ¼ÒÄÏÀÇ À̸§</td></tr>
-<tr class="odd"><td><a href="mod_nw_ssl.html#securelisten">SecureListen [<var>IP-address</var>:]<var>portnumber</var>
-<var>Certificate-Name</var> [MUTUAL]</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enables SSL encryption for the specified port</td></tr>
+<tr><td><a href="mod_cgi.html#scriptlog">ScriptLog <var>file-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">CGI ½ºÅ©¸³Æ® ¿À·ù·Î±×ÆÄÀÏÀÇ À§Ä¡</td></tr>
+<tr class="odd"><td><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer <var>bytes</var></a></td><td> 1024 </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">½ºÅ©¸³Æ® ·Î±×¿¡ ±â·ÏÇÒ PUT ȤÀº POST ¿äûÀÇ ÃÖ´ë·®</td></tr>
+<tr><td><a href="mod_cgi.html#scriptloglength">ScriptLogLength <var>bytes</var></a></td><td> 10385760 </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">CGI ½ºÅ©¸³Æ® ·Î±×ÆÄÀÏÀÇ Å©±â Á¦ÇÑ</td></tr>
+<tr class="odd"><td><a href="mod_cgid.html#scriptsock">ScriptSock <var>file-path</var></a></td><td> logs/cgisock </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">cgi µ¥¸ó°ú Åë½ÅÀ» À§ÇØ »ç¿ëÇÒ ¼ÒÄÏÀÇ À̸§</td></tr>
+<tr><td><a href="mod_nw_ssl.html#securelisten">SecureListen [<var>IP-address</var>:]<var>portnumber</var>
+<var>Certificate-Name</var> [MUTUAL]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enables SSL encryption for the specified port</td></tr>
+<tr class="odd"><td><a href="mod_status.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Determine if mod_status displays the first 63 characters
+of a request or the last 63, assuming the request itself is greater than
+63 chars.</td></tr>
<tr><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">TCP buffer size</td></tr>
<tr class="odd"><td><a href="core.html#serveradmin">ServerAdmin <var>email-address</var>|<var>URL</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Email address that the server includes in error
messages sent to the client</td></tr>
@@ -663,8 +681,8 @@ proxy handshake</td></tr>
<tr><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr>
<tr><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
+<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
Certificate verification</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em>
[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding
@@ -688,41 +706,42 @@ Certificate verification</td></tr>
<tr class="odd"><td><a href="mpm_common.html#startservers">StartServers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of child server processes created at startup</td></tr>
<tr><td><a href="mpm_common.html#startthreads">StartThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of threads created on startup</td></tr>
<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr>
-<tr><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">CGI ÇÁ·Î±×·¥ÀÌ »ç¿ëÇÒ »ç¿ëÀÚ¿Í ±×·ì ±ÇÇÑ</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads
+<tr><td><a href="core.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Enable or disable the suEXEC feature</td></tr>
+<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">CGI ÇÁ·Î±×·¥ÀÌ »ç¿ëÇÒ »ç¿ëÀÚ¿Í ±×·ì ±ÇÇÑ</td></tr>
+<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads
per child process</td></tr>
-<tr><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of threads created by each child process</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">The size in bytes of the stack used by threads handling
+<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of threads created by each child process</td></tr>
+<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The size in bytes of the stack used by threads handling
client connections</td></tr>
-<tr><td><a href="core.html#timeout">TimeOut <var>seconds</var></a></td><td> 300 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Amount of time the server will wait for
+<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>seconds</var></a></td><td> 300 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for
certain events before failing a request</td></tr>
-<tr class="odd"><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the behaviour on <code>TRACE</code>
+<tr><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines the behaviour on <code>TRACE</code>
requests</td></tr>
-<tr><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">·Î±×ÆÄÀÏ À§Ä¡¸¦ ¼³Á¤ÇÑ´Ù</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr>
-<tr><td><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv <var>env-variable</var> [<var>env-variable</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ȯ°æº¯¼ö¸¦ Á¦°ÅÇÑ´Ù</td></tr>
-<tr class="odd"><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own name and
+<tr class="odd"><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">·Î±×ÆÄÀÏ À§Ä¡¸¦ ¼³Á¤ÇÑ´Ù</td></tr>
+<tr><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr>
+<tr class="odd"><td><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv <var>env-variable</var> [<var>env-variable</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ȯ°æº¯¼ö¸¦ Á¦°ÅÇÑ´Ù</td></tr>
+<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and
port</td></tr>
-<tr><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and
+<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own name and
port</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">The userid under which the server will answer
+<tr><td><a href="mpm_common.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The userid under which the server will answer
requests</td></tr>
-<tr><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em></a></td><td> public_html </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">»ç¿ëÀÚº° µð·ºÅ丮 À§Ä¡</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root
+<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em></a></td><td> public_html </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">»ç¿ëÀÚº° µð·ºÅ丮 À§Ä¡</td></tr>
+<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root
for a given virtual host</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root
for a given virtual host</td></tr>
-<tr class="odd"><td><a href="core.html#virtualhost">&lt;VirtualHost
+<tr><td><a href="core.html#virtualhost">&lt;VirtualHost
<var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]]
- ...&gt; ... &lt;/VirtualHost&gt;</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only to a specific
+ ...&gt; ... &lt;/VirtualHost&gt;</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only to a specific
hostname or IP address</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for
a given virtual host</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
+<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
a given virtual host</td></tr>
-<tr><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
-<tr class="odd"><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
+<tr class="odd"><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
+<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
set</td></tr>
</table></div>
<div class="bottomlang">
@@ -732,8 +751,9 @@ set</td></tr>
<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/quickreference.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/quickreference.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/quickreference.html.ru.koi8-r b/docs/manual/mod/quickreference.html.ru.koi8-r
index 69939987..bb3dfb37 100644
--- a/docs/manual/mod/quickreference.html.ru.koi8-r
+++ b/docs/manual/mod/quickreference.html.ru.koi8-r
@@ -26,7 +26,8 @@
<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/quickreference.html" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">üÔÏÔ ÐÅÒÅ×ÏÄ ÍÏÖÅÔ ÂÙÔØ ÕÓÔÁÒÅ×ÛÉÍ. óÍÏÔÒÉÔÅ
ÁÎÇÌÉÊÓËÕÀ ×ÅÒÓÉÀ ÄÌÑ ÏÚÎÁËÏÍÌÅÎÉÑ ÓÏ ×ÓÅÍÉ ÐÏÓÌÅÄÎÉÍÉ ÉÚÍÅÎÅÎÉÑÍÉ
@@ -123,7 +124,7 @@ expressions</td></tr>
server</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#allowconnect">AllowCONNECT <var>port</var> [<var>port</var>] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the
proxy</td></tr>
-<tr><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines whether encoded path separators in URLs are allowed to
+<tr><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off|NoDecode</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines whether encoded path separators in URLs are allowed to
be passed through</td></tr>
<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>directive-type</var>
[<var>directive-type</var>] ...</a></td><td> All </td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Types of directives that are allowed in
@@ -298,7 +299,7 @@ server cannot determine a type in any other way</td></tr>
server</td></tr>
<tr><td><a href="core.html#directory">&lt;Directory <var>directory-path</var>&gt;
... &lt;/Directory&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that apply only to the
-named file-system directory and sub-directories</td></tr>
+named file-system directory, sub-directories, and their contents</td></tr>
<tr class="odd"><td><a href="mod_dir.html#directoryindex">DirectoryIndex
<var>local-url</var> [<var>local-url</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">List of resources to look for when the client requests
a directory</td></tr>
@@ -351,165 +352,167 @@ found</td></tr>
<tr><td><a href="core.html#forcetype">ForceType <var>MIME-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be served with the specified
MIME content-type</td></tr>
<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr>
-<tr><td><a href="mpm_common.html#gracefulshutdowntimeout" id="G" name="G">GracefulShutDownTimeout <var>seconds</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server
+<tr><td><a href="core.html#gprofdir" id="G" name="G">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Directory to write gmon.out profiling data to. </td></tr>
+<tr class="odd"><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutDownTimeout <var>seconds</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server
will exit.</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Group under which the server will answer
+<tr><td><a href="mpm_common.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Group under which the server will answer
requests</td></tr>
-<tr><td><a href="mod_headers.html#header" id="H" name="H">Header [<var>condition</var>] set|append|merge|add|unset|echo|edit
-<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP response headers</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the file that will be inserted at the top
+<tr class="odd"><td><a href="mod_headers.html#header" id="H" name="H">Header [<var>condition</var>] set|append|merge|add|unset|echo|edit
+<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure HTTP response headers</td></tr>
+<tr><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Name of the file that will be inserted at the top
of the index listing</td></tr>
-<tr><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables DNS lookups on client IP addresses</td></tr>
-<tr class="odd"><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables logging of the RFC 1413 identity of the remote
+<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables DNS lookups on client IP addresses</td></tr>
+<tr><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables logging of the RFC 1413 identity of the remote
user</td></tr>
-<tr><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the timeout duration for ident requests</td></tr>
-<tr class="odd"><td><a href="core.html#ifdefine">&lt;IfDefine [!]<var>parameter-name</var>&gt; ...
- &lt;/IfDefine&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that will be processed only
+<tr class="odd"><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the timeout duration for ident requests</td></tr>
+<tr><td><a href="core.html#ifdefine">&lt;IfDefine [!]<var>parameter-name</var>&gt; ...
+ &lt;/IfDefine&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only
if a test is true at startup</td></tr>
-<tr><td><a href="core.html#ifmodule">&lt;IfModule [!]<var>module-file</var>|<var>module-identifier</var>&gt; ...
- &lt;/IfModule&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that are processed conditional on the
+<tr class="odd"><td><a href="core.html#ifmodule">&lt;IfModule [!]<var>module-file</var>|<var>module-identifier</var>&gt; ...
+ &lt;/IfModule&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the
presence or absence of a specific module</td></tr>
-<tr class="odd"><td><a href="mod_version.html#ifversion">&lt;IfVersion [[!]<var>operator</var>] <var>version</var>&gt; ...
-&lt;/IfVersion&gt;</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">contains version dependent configuration</td></tr>
-<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr>
-<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default action when an imagemap is called with coordinates
+<tr><td><a href="mod_version.html#ifversion">&lt;IfVersion [[!]<var>operator</var>] <var>version</var>&gt; ...
+&lt;/IfVersion&gt;</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">contains version dependent configuration</td></tr>
+<tr class="odd"><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr>
+<tr><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Default action when an imagemap is called with coordinates
that are not explicitly mapped</td></tr>
-<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action if no coordinates are given when calling
+<tr class="odd"><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action if no coordinates are given when calling
an imagemap</td></tr>
-<tr class="odd"><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Includes other configuration files from within
+<tr><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Includes other configuration files from within
the server configuration files</td></tr>
-<tr><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Adds to the list of files to hide when listing
+<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr>
+<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td> "." </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds to the list of files to hide when listing
a directory</td></tr>
-<tr><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Various configuration settings for directory
+<tr class="odd"><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Various configuration settings for directory
indexing</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending
-Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the default ordering of the directory index</td></tr>
-<tr><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds a CSS stylesheet to the directory index</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
+<tr><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending
+Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets the default ordering of the directory index</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Adds a CSS stylesheet to the directory index</td></tr>
+<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
ISAPI extensions to the error log</td></tr>
-<tr><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
+<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
ISAPI extensions to the query field</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>]
-...</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr>
-<tr><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Log unsupported feature requests from ISAPI
+<tr><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>]
+...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr>
+<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr>
+<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Log unsupported feature requests from ISAPI
extensions</td></tr>
-<tr><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI
+<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI
extensions</td></tr>
-<tr class="odd"><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables HTTP persistent connections</td></tr>
-<tr><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>seconds</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Amount of time the server will wait for subsequent
+<tr><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables HTTP persistent connections</td></tr>
+<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>seconds</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for subsequent
requests on a persistent connection</td></tr>
-<tr class="odd"><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The precendence of language variants for cases where
+<tr><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">The precendence of language variants for cases where
the client does not express a preference</td></tr>
-<tr><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that cached items remain valid</td></tr>
-<tr><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of entries used to cache LDAP compare
+<tr class="odd"><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr>
+<tr><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that cached items remain valid</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr>
+<tr><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Number of entries used to cache LDAP compare
operations</td></tr>
-<tr><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that entries in the operation cache remain
+<tr class="odd"><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that entries in the operation cache remain
valid</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the shared memory cache file</td></tr>
-<tr><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file containing or nickname referring to a per
+<tr><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the shared memory cache file</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr>
+<tr><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file containing or nickname referring to a per
connection client certificate. Not all LDAP toolkits support per
connection client certificates.</td></tr>
-<tr><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file or database containing global trusted
+<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file or database containing global trusted
Certificate Authority or global client certificates</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr>
-<tr><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert <var>On|Off</var></a></td><td> On </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Force server certificate verification</td></tr>
-<tr class="odd"><td><a href="core.html#limit">&lt;Limit <var>method</var> [<var>method</var>] ... &gt; ...
- &lt;/Limit&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restrict enclosed access controls to only certain HTTP
+<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert <var>On|Off</var></a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force server certificate verification</td></tr>
+<tr><td><a href="core.html#limit">&lt;Limit <var>method</var> [<var>method</var>] ... &gt; ...
+ &lt;/Limit&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Restrict enclosed access controls to only certain HTTP
methods</td></tr>
-<tr><td><a href="core.html#limitexcept">&lt;LimitExcept <var>method</var> [<var>method</var>] ... &gt; ...
- &lt;/LimitExcept&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Restrict access controls to all HTTP methods
+<tr class="odd"><td><a href="core.html#limitexcept">&lt;LimitExcept <var>method</var> [<var>method</var>] ... &gt; ...
+ &lt;/LimitExcept&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restrict access controls to all HTTP methods
except the named ones</td></tr>
-<tr class="odd"><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>number</var> [<var>number</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determine maximum number of internal redirects and nested
+<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>number</var> [<var>number</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determine maximum number of internal redirects and nested
subrequests</td></tr>
-<tr><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Restricts the total size of the HTTP request body sent
+<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restricts the total size of the HTTP request body sent
from the client</td></tr>
-<tr class="odd"><td><a href="core.html#limitrequestfields">LimitRequestFields <var>number</var></a></td><td> 100 </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the number of HTTP request header fields that
+<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of HTTP request header fields that
will be accepted from the client</td></tr>
-<tr><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bytes</var></a></td><td> 8190 </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the size of the HTTP request header allowed from the
+<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of the HTTP request header allowed from the
client</td></tr>
-<tr class="odd"><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limit the size of the HTTP request line that will be accepted
+<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limit the size of the HTTP request line that will be accepted
from the client</td></tr>
-<tr><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the size of an XML-based request body</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#listen">Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">IP addresses and ports that the server
+<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of an XML-based request body</td></tr>
+<tr><td><a href="mpm_common.html#listen">Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">IP addresses and ports that the server
listens to</td></tr>
-<tr><td><a href="mpm_common.html#listenbacklog">ListenBacklog <var>backlog</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum length of the queue of pending connections</td></tr>
-<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>filename</em> [<em>filename</em>] ...</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Link in the named object file or library</td></tr>
-<tr><td><a href="mod_so.html#loadmodule">LoadModule <em>module filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Links in the object file or library, and adds to the list
+<tr class="odd"><td><a href="mpm_common.html#listenbacklog">ListenBacklog <var>backlog</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum length of the queue of pending connections</td></tr>
+<tr><td><a href="mod_so.html#loadfile">LoadFile <em>filename</em> [<em>filename</em>] ...</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Link in the named object file or library</td></tr>
+<tr class="odd"><td><a href="mod_so.html#loadmodule">LoadModule <em>module filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Links in the object file or library, and adds to the list
of active modules</td></tr>
-<tr class="odd"><td><a href="core.html#location">&lt;Location
- <var>URL-path</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Applies the enclosed directives only to matching
+<tr><td><a href="core.html#location">&lt;Location
+ <var>URL-path</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Applies the enclosed directives only to matching
URLs</td></tr>
-<tr><td><a href="core.html#locationmatch">&lt;LocationMatch
- <var>regex</var>&gt; ... &lt;/LocationMatch&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Applies the enclosed directives only to regular-expression
+<tr class="odd"><td><a href="core.html#locationmatch">&lt;LocationMatch
+ <var>regex</var>&gt; ... &lt;/LocationMatch&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Applies the enclosed directives only to regular-expression
matching URLs</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#lockfile">LockFile <var>filename</var></a></td><td> logs/accept.lock </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the accept serialization lock file</td></tr>
-<tr><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>nickname</var>
-[<var>nickname</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Describes a format for use in a log file</td></tr>
-<tr class="odd"><td><a href="core.html#loglevel">LogLevel <var>level</var></a></td><td> warn </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the verbosity of the ErrorLog</td></tr>
-<tr><td><a href="mpm_common.html#maxclients" id="M" name="M">MaxClients <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of connections that will be processed
+<tr><td><a href="mpm_common.html#lockfile">LockFile <var>filename</var></a></td><td> logs/accept.lock </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Location of the accept serialization lock file</td></tr>
+<tr class="odd"><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>nickname</var>
+[<var>nickname</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Describes a format for use in a log file</td></tr>
+<tr><td><a href="core.html#loglevel">LogLevel <var>level</var></a></td><td> warn </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls the verbosity of the ErrorLog</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#maxclients" id="M" name="M">MaxClients <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of connections that will be processed
simultaneously</td></tr>
-<tr class="odd"><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Number of requests allowed on a persistent
+<tr><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of requests allowed on a persistent
connection</td></tr>
-<tr><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KBytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum amount of memory that the main allocator is allowed
+<tr class="odd"><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KBytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of memory that the main allocator is allowed
to hold without calling <code>free()</code></td></tr>
-<tr class="odd"><td><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild <var>number</var></a></td><td> 10000 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of requests that an individual child server
+<tr><td><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild <var>number</var></a></td><td> 10000 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limit on the number of requests that an individual child server
will handle during its life</td></tr>
-<tr><td><a href="beos.html#maxrequestsperthread">MaxRequestsPerThread <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limit on the number of requests that an individual thread
+<tr class="odd"><td><a href="beos.html#maxrequestsperthread">MaxRequestsPerThread <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of requests that an individual thread
will handle during its life</td></tr>
-<tr class="odd"><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>number</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of idle child server processes</td></tr>
-<tr><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of idle threads</td></tr>
-<tr class="odd"><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr>
-<tr><td><a href="mod_mem_cache.html#mcachemaxobjectcount">MCacheMaxObjectCount <var>value</var></a></td><td> 1009 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum number of objects allowed to be placed in the
+<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>number</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of idle child server processes</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of idle threads</td></tr>
+<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr>
+<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxobjectcount">MCacheMaxObjectCount <var>value</var></a></td><td> 1009 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum number of objects allowed to be placed in the
cache</td></tr>
-<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxobjectsize">MCacheMaxObjectSize <var>bytes</var></a></td><td> 10000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum size (in bytes) of a document allowed in the
+<tr><td><a href="mod_mem_cache.html#mcachemaxobjectsize">MCacheMaxObjectSize <var>bytes</var></a></td><td> 10000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum size (in bytes) of a document allowed in the
cache</td></tr>
-<tr><td><a href="mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer <var>size_in_bytes</var></a></td><td> the smaller of 1000 +</td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum amount of a streamed response to buffer in memory
+<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer <var>size_in_bytes</var></a></td><td> the smaller of 1000 +</td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of a streamed response to buffer in memory
before declaring the response uncacheable</td></tr>
-<tr class="odd"><td><a href="mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize <var>bytes</var></a></td><td> 1 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of a document to be allowed in the
+<tr><td><a href="mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize <var>bytes</var></a></td><td> 1 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum size (in bytes) of a document to be allowed in the
cache</td></tr>
-<tr><td><a href="mod_mem_cache.html#mcacheremovalalgorithm">MCacheRemovalAlgorithm LRU|GDSF</a></td><td> GDSF </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The algorithm used to select documents for removal from the
+<tr class="odd"><td><a href="mod_mem_cache.html#mcacheremovalalgorithm">MCacheRemovalAlgorithm LRU|GDSF</a></td><td> GDSF </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The algorithm used to select documents for removal from the
cache</td></tr>
-<tr class="odd"><td><a href="mod_mem_cache.html#mcachesize">MCacheSize <var>KBytes</var></a></td><td> 100 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum amount of memory used by the cache in
+<tr><td><a href="mod_mem_cache.html#mcachesize">MCacheSize <var>KBytes</var></a></td><td> 100 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum amount of memory used by the cache in
KBytes</td></tr>
-<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the directory to find CERN-style meta information
+<tr class="odd"><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the directory to find CERN-style meta information
files</td></tr>
-<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr>
-<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">File name suffix for the file containg CERN-style
+<tr><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr>
+<tr class="odd"><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File name suffix for the file containg CERN-style
meta information</td></tr>
-<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable MIME-type determination based on file contents
+<tr><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable MIME-type determination based on file contents
using the specified magic file</td></tr>
-<tr><td><a href="prefork.html#minspareservers">MinSpareServers <var>number</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimum number of idle child server processes</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of idle threads available to handle request
+<tr class="odd"><td><a href="prefork.html#minspareservers">MinSpareServers <var>number</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of idle child server processes</td></tr>
+<tr><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimum number of idle threads available to handle request
spikes</td></tr>
-<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code>
+<tr class="odd"><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr>
+<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code>
components as part of the filename</td></tr>
-<tr><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
-[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">The types of files that will be included when searching for
+<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
+[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The types of files that will be included when searching for
a matching file with MultiViews</td></tr>
-<tr class="odd"><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>addr</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Designates an IP address for name-virtual
+<tr><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>addr</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Designates an IP address for name-virtual
hosting</td></tr>
-<tr><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to
+<tr class="odd"><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to
directly</td></tr>
-<tr class="odd"><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">List of additional client certificates</td></tr>
-<tr><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr>
-<tr class="odd"><td><a href="core.html#options" id="O" name="O">Options
- [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> All </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures what features are available in a particular
+<tr><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">List of additional client certificates</td></tr>
+<tr class="odd"><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr>
+<tr><td><a href="core.html#options" id="O" name="O">Options
+ [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> All </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures what features are available in a particular
directory</td></tr>
-<tr><td><a href="mod_authz_host.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Controls the default access state and the order in which
+<tr class="odd"><td><a href="mod_authz_host.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the default access state and the order in which
<code class="directive">Allow</code> and <code class="directive">Deny</code> are
evaluated.</td></tr>
-<tr class="odd"><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>env-variable</var> [<var>env-variable</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Passes environment variables from the shell</td></tr>
-<tr><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">File where the server records the process ID
+<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>env-variable</var> [<var>env-variable</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Passes environment variables from the shell</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">File where the server records the process ID
of the daemon</td></tr>
+<tr><td><a href="core.html#protocol">Protocol <var>protocol</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Protocol for a listening socket</td></tr>
<tr class="odd"><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Turn the echo server on or off</td></tr>
<tr><td><a href="mod_proxy.html#proxy">&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines how to handle bad header lines in a
@@ -595,7 +598,7 @@ extensions</td></tr>
<tr><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout
[header=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
[body=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
-</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
+</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
</td></tr>
<tr class="odd"><td><a href="core.html#require">Require <var>entity-name</var> [<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Selects which authenticated users can access
a resource</td></tr>
@@ -732,8 +735,8 @@ proxy handshake</td></tr>
<tr><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr>
<tr><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
+<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
Certificate verification</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em>
[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding
@@ -757,42 +760,43 @@ Certificate verification</td></tr>
<tr class="odd"><td><a href="mpm_common.html#startservers">StartServers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of child server processes created at startup</td></tr>
<tr><td><a href="mpm_common.html#startthreads">StartThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of threads created on startup</td></tr>
<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr>
-<tr><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">User and group for CGI programs to run as</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads
+<tr><td><a href="core.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Enable or disable the suEXEC feature</td></tr>
+<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">User and group for CGI programs to run as</td></tr>
+<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads
per child process</td></tr>
-<tr><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of threads created by each child process</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">The size in bytes of the stack used by threads handling
+<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of threads created by each child process</td></tr>
+<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The size in bytes of the stack used by threads handling
client connections</td></tr>
-<tr><td><a href="core.html#timeout">TimeOut <var>seconds</var></a></td><td> 300 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Amount of time the server will wait for
+<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>seconds</var></a></td><td> 300 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for
certain events before failing a request</td></tr>
-<tr class="odd"><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the behaviour on <code>TRACE</code>
+<tr><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines the behaviour on <code>TRACE</code>
requests</td></tr>
-<tr><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Specify location of a log file</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr>
-<tr><td><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv <var>env-variable</var> [<var>env-variable</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes variables from the environment</td></tr>
-<tr class="odd"><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own name and
+<tr class="odd"><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify location of a log file</td></tr>
+<tr><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr>
+<tr class="odd"><td><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv <var>env-variable</var> [<var>env-variable</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes variables from the environment</td></tr>
+<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and
port</td></tr>
-<tr><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and
+<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own name and
port</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">The userid under which the server will answer
+<tr><td><a href="mpm_common.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The userid under which the server will answer
requests</td></tr>
-<tr><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ...
-</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Location of the user-specific directories</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root
+<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ...
+</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the user-specific directories</td></tr>
+<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root
for a given virtual host</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root
for a given virtual host</td></tr>
-<tr class="odd"><td><a href="core.html#virtualhost">&lt;VirtualHost
+<tr><td><a href="core.html#virtualhost">&lt;VirtualHost
<var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]]
- ...&gt; ... &lt;/VirtualHost&gt;</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only to a specific
+ ...&gt; ... &lt;/VirtualHost&gt;</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only to a specific
hostname or IP address</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for
a given virtual host</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
+<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
a given virtual host</td></tr>
-<tr><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
-<tr class="odd"><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
+<tr class="odd"><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
+<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
set</td></tr>
</table></div>
<div class="bottomlang">
@@ -802,8 +806,9 @@ set</td></tr>
<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/quickreference.html" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">íÏÄÕÌÉ</a> | <a href="../mod/directives.html">äÉÒÅËÔÉ×Ù</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">çÌÏÓÓÁÒÉÊ</a> | <a href="../sitemap.html">ëÁÒÔÁ ÓÁÊÔÁ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/quickreference.html.tr.utf8 b/docs/manual/mod/quickreference.html.tr.utf8
index dbb5322a..f0e78392 100644
--- a/docs/manual/mod/quickreference.html.tr.utf8
+++ b/docs/manual/mod/quickreference.html.tr.utf8
@@ -26,14 +26,23 @@
<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/quickreference.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/quickreference.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/quickreference.html" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
- <p>Bu hızlı yönerge kılavuzunda Apache yapılandırma yönergelerinin kullanımı, öntanımlı değerleri, durumu ve bağlamı gösterilmiştir. Bunların her biri hakkında ayrıntılı bilgi almak için <a href="directive-dict.html">Yönerge Sözlüğü</a>ne bakınız.</p>
+ <p>Bu hızlı yönerge kılavuzunda Apache yapılandırma yönergelerinin kullanımı,
+ öntanımlı değerleri, durumu ve bağlamı gösterilmiştir. Bunların her biri
+ hakkında ayrıntılı bilgi almak için
+ <a href="directive-dict.html">Yönerge Sözlüğü</a>ne bakınız.</p>
- <p>İlk sütunda yönergenin ismi ve kullanımı belirtilmiştir. İkinci sütunda yönergenin varsa öntanımlı değeri gösterilmiştir. Eğer öntanımlı değer sütuna sığmayacak kadar uzunsa sığmayan kısmın yerine “+†imi konmuştur.</p>
+ <p>İlk sütunda yönergenin ismi ve kullanımı belirtilmiştir. İkinci sütunda
+ yönergenin varsa öntanımlı değeri gösterilmiştir. Eğer öntanımlı değer
+ sütuna sığmayacak kadar uzunsa sığmayan kısım atılıp yerine “+†imi
+ konmuÅŸtur.</p>
- <p>Aşağıda sağdaki gösterge tablolarına uygun olarak, üçüncü sütunda yönergenin kullanımına izin verilen bağlamlar, dördüncü sütunda ise yönergenin durumu gösterilmiştir.</p>
+ <p>Aşağıda sağdaki gösterge tablolarına uygun olarak, üçüncü sütunda
+ yönergenin kullanımına izin verilen bağlamlar, dördüncü sütunda ise
+ yönergenin durumu gösterilmiştir.</p>
</div>
<div id="directive-ref"><table id="legend">
<tr><td class="letters"><span><a href="#A">&nbsp;A&nbsp;</a> | <a href="#B">&nbsp;B&nbsp;</a> | <a href="#C">&nbsp;C&nbsp;</a> | <a href="#D">&nbsp;D&nbsp;</a> | <a href="#E">&nbsp;E&nbsp;</a> | <a href="#F">&nbsp;F&nbsp;</a> | <a href="#G">&nbsp;G&nbsp;</a> | <a href="#H">&nbsp;H&nbsp;</a> | <a href="#I">&nbsp;I&nbsp;</a> | <a href="#K">&nbsp;K&nbsp;</a> | <a href="#L">&nbsp;L&nbsp;</a> | <a href="#M">&nbsp;M&nbsp;</a> | <a href="#N">&nbsp;N&nbsp;</a> | <a href="#O">&nbsp;O&nbsp;</a> | <a href="#P">&nbsp;P&nbsp;</a> | <a href="#R">&nbsp;R&nbsp;</a> | <a href="#S">&nbsp;S&nbsp;</a> | <a href="#T">&nbsp;T&nbsp;</a> | <a href="#U">&nbsp;U&nbsp;</a> | <a href="#V">&nbsp;V&nbsp;</a> | <a href="#W">&nbsp;W&nbsp;</a> | <a href="#X">&nbsp;X&nbsp;</a></span></td>
@@ -116,7 +125,7 @@ eÅŸler.</td></tr>
server</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#allowconnect">AllowCONNECT <var>port</var> [<var>port</var>] ...</a></td><td> 443 563 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the
proxy</td></tr>
-<tr><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off</a></td><td> Off </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Kodlanmış dosya yolu ayracı içeren URL’lere izin verilip
+<tr><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off|NoDecode</a></td><td> Off </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Kodlanmış dosya yolu ayracı içeren URL’lere izin verilip
verilmeyeceÄŸini belirler.</td></tr>
<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>yönerge-türü</var>
[<var>yönerge-türü</var>] ...</a></td><td> All </td><td>d</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4"><code>.htaccess</code> dosyalarında bulunmasına izin verilen
@@ -292,8 +301,9 @@ language</td></tr>
[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts are denied access to the
server</td></tr>
<tr><td><a href="core.html#directory">&lt;Directory <var>dizin-yolu</var>&gt;
-... &lt;/Directory&gt;</a></td><td></td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sadece ismi belirtilen dosya sistemi dizininde ve bunun
- altdizinlerinde uygulanacak bir yönerge grubunu sarmalar.</td></tr>
+... &lt;/Directory&gt;</a></td><td></td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sadece ismi belirtilen dosya sistemi dizinine ve bunun
+ altdizinleri ile içeriklerine uygulanacak bir yönerge grubunu
+ sarmalar.</td></tr>
<tr class="odd"><td><a href="mod_dir.html#directoryindex">DirectoryIndex
<var>yerel-url</var> [<var>yerel-url</var>] ...</a></td><td> index.html </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">İstemci bir dizin istediğinde dizin içeriğini listeler.
</td></tr>
@@ -347,168 +357,170 @@ found</td></tr>
<tr><td><a href="core.html#forcetype">ForceType <var>MIME-türü</var>|None</a></td><td></td><td>dh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bütün dosyaların belirtilen MIME içerik türüyle sunulmasına
sebep olur.</td></tr>
<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>dosya-adı</var>|<var>borulu-süreç</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adli günlük için dosya ismini belirler.</td></tr>
-<tr><td><a href="mpm_common.html#gracefulshutdowntimeout" id="G" name="G">GracefulShutDownTimeout <var>saniye</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sunucunun nazikçe kapatılmasının ardından ana süreç çıkana kadar
+<tr><td><a href="core.html#gprofdir" id="G" name="G">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">gmon.out profilleme verisinin yazılacağı dizin.</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutDownTimeout <var>saniye</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucunun nazikçe kapatılmasının ardından ana süreç çıkana kadar
geçecek süre için bir zaman aşımı belirler.</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#group">Group <var>unix-grubu</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">İsteklere yanıt verecek sunucunun ait olacağı grubu belirler.</td></tr>
-<tr><td><a href="mod_headers.html#header" id="H" name="H">Header [<var>condition</var>] set|append|merge|add|unset|echo|edit
-<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP response headers</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#headername">HeaderName <var>dosya-ismi</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Dizin listesinin tepesine yerleştirilecek dosyanın ismini
+<tr><td><a href="mpm_common.html#group">Group <var>unix-grubu</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">İsteklere yanıt verecek sunucunun ait olacağı grubu belirler.</td></tr>
+<tr class="odd"><td><a href="mod_headers.html#header" id="H" name="H">Header [<var>condition</var>] set|append|merge|add|unset|echo|edit
+<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure HTTP response headers</td></tr>
+<tr><td><a href="mod_autoindex.html#headername">HeaderName <var>dosya-ismi</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Dizin listesinin tepesine yerleştirilecek dosyanın ismini
belirler.</td></tr>
-<tr><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>skd</td><td>Ç</td></tr><tr><td class="descr" colspan="4">İstemci IP adresleri üzerinde DNS sorgularını etkin kılar.
+<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>skd</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İstemci IP adresleri üzerinde DNS sorgularını etkin kılar.
</td></tr>
-<tr class="odd"><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables logging of the RFC 1413 identity of the remote
+<tr><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables logging of the RFC 1413 identity of the remote
user</td></tr>
-<tr><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the timeout duration for ident requests</td></tr>
-<tr class="odd"><td><a href="core.html#ifdefine">&lt;IfDefine [!]<var>parametre-adı</var>&gt; ...
- &lt;/IfDefine&gt;</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Başlatma sırasında bir doğruluk sınamasından sonra işleme
+<tr class="odd"><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the timeout duration for ident requests</td></tr>
+<tr><td><a href="core.html#ifdefine">&lt;IfDefine [!]<var>parametre-adı</var>&gt; ...
+ &lt;/IfDefine&gt;</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Başlatma sırasında bir doğruluk sınamasından sonra işleme
sokulacak yönergeleri sarmalar.</td></tr>
-<tr><td><a href="core.html#ifmodule">&lt;IfModule [!]<var>modül-dosyası</var>|<var>modül-betimleyici</var>&gt; ...
- &lt;/IfModule&gt;</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Belli bir modülün varlığına veya yokluğuna göre işleme sokulacak
+<tr class="odd"><td><a href="core.html#ifmodule">&lt;IfModule [!]<var>modül-dosyası</var>|<var>modül-betimleyici</var>&gt; ...
+ &lt;/IfModule&gt;</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Belli bir modülün varlığına veya yokluğuna göre işleme sokulacak
yönergeleri sarmalar.</td></tr>
-<tr class="odd"><td><a href="mod_version.html#ifversion">&lt;IfVersion [[!]<var>operator</var>] <var>version</var>&gt; ...
-&lt;/IfVersion&gt;</a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">contains version dependent configuration</td></tr>
-<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr>
-<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Default action when an imagemap is called with coordinates
+<tr><td><a href="mod_version.html#ifversion">&lt;IfVersion [[!]<var>operator</var>] <var>version</var>&gt; ...
+&lt;/IfVersion&gt;</a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">contains version dependent configuration</td></tr>
+<tr class="odd"><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr>
+<tr><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Default action when an imagemap is called with coordinates
that are not explicitly mapped</td></tr>
-<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Action if no coordinates are given when calling
+<tr class="odd"><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Action if no coordinates are given when calling
an imagemap</td></tr>
-<tr class="odd"><td><a href="core.html#include">Include <var>dosya-yolu</var>|<var>dizin-yolu</var></a></td><td></td><td>skd</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucu yapılandırma dosyalarının başka dosyaları içermesini sağlar.
+<tr><td><a href="core.html#include">Include <var>dosya-yolu</var>|<var>dizin-yolu</var></a></td><td></td><td>skd</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sunucu yapılandırma dosyalarının başka dosyaları içermesini sağlar.
</td></tr>
-<tr><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"imlenim ..."</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Bir dizin sayfasının HEAD bölümüne metin yerleştirir.
+<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"imlenim ..."</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Bir dizin sayfasının HEAD bölümüne metin yerleştirir.
</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>dosya</var> [<var>dosya</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Dizin içerik listesinden gizlenecek dosyaların listesi belirtilir.
+<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>dosya</var> [<var>dosya</var>] ...</a></td><td> "." </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Dizin içerik listesinden gizlenecek dosyaların listesi belirtilir.
</td></tr>
-<tr><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>seçenek</var> [[+|-]<var>seçenek</var>]
-...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Dizin içerik listesini yapılandıracak seçenekler belirtilir.
+<tr class="odd"><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>seçenek</var> [[+|-]<var>seçenek</var>]
+...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Dizin içerik listesini yapılandıracak seçenekler belirtilir.
</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending
-Name|Date|Size|Description</a></td><td> Ascending Name </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Dizin içerik listesinin öntanımlı sıralamasını belirler.
+<tr><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending
+Name|Date|Size|Description</a></td><td> Ascending Name </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Dizin içerik listesinin öntanımlı sıralamasını belirler.
</td></tr>
-<tr><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-yolu</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Dizin listesine bir biçembent ekler.</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
+<tr class="odd"><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-yolu</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Dizin listesine bir biçembent ekler.</td></tr>
+<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
ISAPI extensions to the error log</td></tr>
-<tr><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
+<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
ISAPI extensions to the query field</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>]
-...</a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr>
-<tr><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Log unsupported feature requests from ISAPI
+<tr><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>]
+...</a></td><td></td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr>
+<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr>
+<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Log unsupported feature requests from ISAPI
extensions</td></tr>
-<tr><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI
+<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI
extensions</td></tr>
-<tr class="odd"><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">HTTP kalıcı bağlantılarını etkin kılar</td></tr>
-<tr><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>saniye</var></a></td><td> 5 </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bir kalıcı bağlantıda sunucunun bir sonraki isteği bekleme süresi
+<tr><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">HTTP kalıcı bağlantılarını etkin kılar</td></tr>
+<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>saniye</var></a></td><td> 5 </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Bir kalıcı bağlantıda sunucunun bir sonraki isteği bekleme süresi
</td></tr>
-<tr class="odd"><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>]
-...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">The precendence of language variants for cases where
+<tr><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>]
+...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">The precendence of language variants for cases where
the client does not express a preference</td></tr>
-<tr><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that cached items remain valid</td></tr>
-<tr><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of entries used to cache LDAP compare
+<tr class="odd"><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr>
+<tr><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that cached items remain valid</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr>
+<tr><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Number of entries used to cache LDAP compare
operations</td></tr>
-<tr><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that entries in the operation cache remain
+<tr class="odd"><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that entries in the operation cache remain
valid</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the shared memory cache file</td></tr>
-<tr><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file containing or nickname referring to a per
+<tr><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the shared memory cache file</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr>
+<tr><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file containing or nickname referring to a per
connection client certificate. Not all LDAP toolkits support per
connection client certificates.</td></tr>
-<tr><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file or database containing global trusted
+<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file or database containing global trusted
Certificate Authority or global client certificates</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr>
-<tr><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert <var>On|Off</var></a></td><td> On </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Force server certificate verification</td></tr>
-<tr class="odd"><td><a href="core.html#limit">&lt;Limit <var>yöntem</var> [<var>yöntem</var>] ... &gt; ...
- &lt;/Limit&gt;</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Erişimi sınırlanacak HTTP yöntemleri için erişim sınırlayıcıları
+<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert <var>On|Off</var></a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force server certificate verification</td></tr>
+<tr><td><a href="core.html#limit">&lt;Limit <var>yöntem</var> [<var>yöntem</var>] ... &gt; ...
+ &lt;/Limit&gt;</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Erişimi sınırlanacak HTTP yöntemleri için erişim sınırlayıcıları
sarmalar.</td></tr>
-<tr><td><a href="core.html#limitexcept">&lt;LimitExcept <var>yöntem</var> [<var>yöntem</var>] ... &gt; ...
- &lt;/LimitExcept&gt;</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">İsimleri belirtilenler dışında kalan HTTP yöntemleri için
+<tr class="odd"><td><a href="core.html#limitexcept">&lt;LimitExcept <var>yöntem</var> [<var>yöntem</var>] ... &gt; ...
+ &lt;/LimitExcept&gt;</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İsimleri belirtilenler dışında kalan HTTP yöntemleri için
kullanılacak erişim sınırlayıcıları sarmalar.</td></tr>
-<tr class="odd"><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>sayı</var> [<var>sayı</var>]</a></td><td> 10 </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Dahili yönlendirmelerin ve istek içi isteklerin azami sayısını
+<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>sayı</var> [<var>sayı</var>]</a></td><td> 10 </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Dahili yönlendirmelerin ve istek içi isteklerin azami sayısını
belirler.</td></tr>
-<tr><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bayt-sayısı</var></a></td><td> 0 </td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">İstemci tarafından gönderilen HTTP istek gövdesinin toplam
+<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bayt-sayısı</var></a></td><td> 0 </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İstemci tarafından gönderilen HTTP istek gövdesinin toplam
uzunluğunu sınırlar.</td></tr>
-<tr class="odd"><td><a href="core.html#limitrequestfields">LimitRequestFields <var>sayı</var></a></td><td> 100 </td><td>s</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İstemciden kabul edilecek HTTP isteği başlık alanlarının sayısını
+<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>sayı</var></a></td><td> 100 </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">İstemciden kabul edilecek HTTP isteği başlık alanlarının sayısını
sınırlar.</td></tr>
-<tr><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bayt-sayısı</var></a></td><td> 8190 </td><td>s</td><td>Ç</td></tr><tr><td class="descr" colspan="4">İstemciden kabul edilecek HTTP isteği başlık uzunluğunu sınırlar.
+<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bayt-sayısı</var></a></td><td> 8190 </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İstemciden kabul edilecek HTTP isteği başlık uzunluğunu sınırlar.
</td></tr>
-<tr class="odd"><td><a href="core.html#limitrequestline">LimitRequestLine <var>bayt-sayısı</var></a></td><td> 8190 </td><td>s</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İstemciden kabul edilecek HTTP istek satırının uzunluğunu sınırlar.
+<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>bayt-sayısı</var></a></td><td> 8190 </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">İstemciden kabul edilecek HTTP istek satırının uzunluğunu sınırlar.
</td></tr>
-<tr><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bayt-sayısı</var></a></td><td> 1000000 </td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bir XML temelli istek gövdesinin uzunluğunu sınırlar.</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#listen">Listen [<var>IP-adresi</var>:]<var>port-numarası</var>
- [<var>protokol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucunun dinleyeceÄŸi IP adresini ve portu belirler.</td></tr>
-<tr><td><a href="mpm_common.html#listenbacklog">ListenBacklog <var>kuyruk-uzunluğu</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Bekleyen bağlantılar kuyruğunun azami uzunluğunu
+<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bayt-sayısı</var></a></td><td> 1000000 </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Bir XML temelli istek gövdesinin uzunluğunu sınırlar.</td></tr>
+<tr><td><a href="mpm_common.html#listen">Listen [<var>IP-adresi</var>:]<var>port-numarası</var>
+ [<var>protokol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sunucunun dinleyeceÄŸi IP adresini ve portu belirler.</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#listenbacklog">ListenBacklog <var>kuyruk-uzunluğu</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Bekleyen bağlantılar kuyruğunun azami uzunluğunu
belirler</td></tr>
-<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>dosya-ismi</em> [<em>dosya-ismi</em>] ...</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler.
+<tr><td><a href="mod_so.html#loadfile">LoadFile <em>dosya-ismi</em> [<em>dosya-ismi</em>] ...</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler.
</td></tr>
-<tr><td><a href="mod_so.html#loadmodule">LoadModule <em>modül dosya-ismi</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler
+<tr class="odd"><td><a href="mod_so.html#loadmodule">LoadModule <em>modül dosya-ismi</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler
ve etkin modül listesine ekler.</td></tr>
-<tr class="odd"><td><a href="core.html#location">&lt;Location <var>URL-yolu</var>|<var>URL</var>&gt; ...
-&lt;/Location&gt;</a></td><td></td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İçerdiği yönergeler sadece eşleşen URL’lere uygulanır.
+<tr><td><a href="core.html#location">&lt;Location <var>URL-yolu</var>|<var>URL</var>&gt; ...
+&lt;/Location&gt;</a></td><td></td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">İçerdiği yönergeler sadece eşleşen URL’lere uygulanır.
</td></tr>
-<tr><td><a href="core.html#locationmatch">&lt;LocationMatch
- <var>düzifade</var>&gt; ... &lt;/LocationMatch&gt;</a></td><td></td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">İçerdiği yönergeler sadece düzenli ifadelerle eşleşen URL’lere
+<tr class="odd"><td><a href="core.html#locationmatch">&lt;LocationMatch
+ <var>düzifade</var>&gt; ... &lt;/LocationMatch&gt;</a></td><td></td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İçerdiği yönergeler sadece düzenli ifadelerle eşleşen URL’lere
uygulanır.</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#lockfile">LockFile <var>dosya</var></a></td><td> logs/accept.lock </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Apache HTTPd Sunucusunun aÄŸ soketlerinden istekleri kabul eden
+<tr><td><a href="mpm_common.html#lockfile">LockFile <var>dosya</var></a></td><td> logs/accept.lock </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Apache HTTPd Sunucusunun aÄŸ soketlerinden istekleri kabul eden
çok sayıda çocuk süreci sıraya sokarken kullandığı kilit dosyasının yerini
belirler.</td></tr>
-<tr><td><a href="mod_log_config.html#logformat">LogFormat <var>biçem</var>|<var>takma-ad</var>
-[<var>takma-ad</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Bir günlük dosyasında kullanılmak üzere girdi biçemi tanımlar.
+<tr class="odd"><td><a href="mod_log_config.html#logformat">LogFormat <var>biçem</var>|<var>takma-ad</var>
+[<var>takma-ad</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Bir günlük dosyasında kullanılmak üzere girdi biçemi tanımlar.
</td></tr>
-<tr class="odd"><td><a href="core.html#loglevel">LogLevel <var>seviye</var></a></td><td> warn </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Hata günlüklerinin ayrıntı seviyesini belirler.</td></tr>
-<tr><td><a href="mpm_common.html#maxclients" id="M" name="M">MaxClients <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Aynı anda işleme sokulacak azami bağlantı sayısı</td></tr>
-<tr class="odd"><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>sayı</var></a></td><td> 100 </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Bir kalıcı bağlantıda izin verilen istek sayısı</td></tr>
-<tr><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>kB-sayısı</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4"><code>free()</code> çağrılmaksızın ana bellek ayırıcının
+<tr><td><a href="core.html#loglevel">LogLevel <var>seviye</var></a></td><td> warn </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Hata günlüklerinin ayrıntı seviyesini belirler.</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#maxclients" id="M" name="M">MaxClients <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Aynı anda işleme sokulacak azami bağlantı sayısı</td></tr>
+<tr><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>sayı</var></a></td><td> 100 </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bir kalıcı bağlantıda izin verilen istek sayısı</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>kB-sayısı</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4"><code>free()</code> çağrılmaksızın ana bellek ayırıcının
ayırmasına izin verilen azami bellek miktarını belirler.</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild <var>sayı</var></a></td><td> 10000 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Tek bir çocuk sürecin ömrü boyunca işleme sokabileceği istek
+<tr><td><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild <var>sayı</var></a></td><td> 10000 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Tek bir çocuk sürecin ömrü boyunca işleme sokabileceği istek
sayısını sınırlamakta kullanılır.</td></tr>
-<tr><td><a href="beos.html#maxrequestsperthread">MaxRequestsPerThread <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limit on the number of requests that an individual thread
+<tr class="odd"><td><a href="beos.html#maxrequestsperthread">MaxRequestsPerThread <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of requests that an individual thread
will handle during its life</td></tr>
-<tr class="odd"><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>sayı</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Boştaki çocuk süreçlerin azami sayısı</td></tr>
-<tr><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Boştaki azami evre sayısını belirler</td></tr>
-<tr class="odd"><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr>
-<tr><td><a href="mod_mem_cache.html#mcachemaxobjectcount">MCacheMaxObjectCount <var>value</var></a></td><td> 1009 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum number of objects allowed to be placed in the
+<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>sayı</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Boştaki çocuk süreçlerin azami sayısı</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Boştaki azami evre sayısını belirler</td></tr>
+<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr>
+<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxobjectcount">MCacheMaxObjectCount <var>value</var></a></td><td> 1009 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum number of objects allowed to be placed in the
cache</td></tr>
-<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxobjectsize">MCacheMaxObjectSize <var>bytes</var></a></td><td> 10000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum size (in bytes) of a document allowed in the
+<tr><td><a href="mod_mem_cache.html#mcachemaxobjectsize">MCacheMaxObjectSize <var>bytes</var></a></td><td> 10000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum size (in bytes) of a document allowed in the
cache</td></tr>
-<tr><td><a href="mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer <var>size_in_bytes</var></a></td><td> the smaller of 1000 +</td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum amount of a streamed response to buffer in memory
+<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer <var>size_in_bytes</var></a></td><td> the smaller of 1000 +</td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of a streamed response to buffer in memory
before declaring the response uncacheable</td></tr>
-<tr class="odd"><td><a href="mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize <var>bytes</var></a></td><td> 1 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of a document to be allowed in the
+<tr><td><a href="mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize <var>bytes</var></a></td><td> 1 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum size (in bytes) of a document to be allowed in the
cache</td></tr>
-<tr><td><a href="mod_mem_cache.html#mcacheremovalalgorithm">MCacheRemovalAlgorithm LRU|GDSF</a></td><td> GDSF </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The algorithm used to select documents for removal from the
+<tr class="odd"><td><a href="mod_mem_cache.html#mcacheremovalalgorithm">MCacheRemovalAlgorithm LRU|GDSF</a></td><td> GDSF </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The algorithm used to select documents for removal from the
cache</td></tr>
-<tr class="odd"><td><a href="mod_mem_cache.html#mcachesize">MCacheSize <var>KBytes</var></a></td><td> 100 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum amount of memory used by the cache in
+<tr><td><a href="mod_mem_cache.html#mcachesize">MCacheSize <var>KBytes</var></a></td><td> 100 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum amount of memory used by the cache in
KBytes</td></tr>
-<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the directory to find CERN-style meta information
+<tr class="odd"><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the directory to find CERN-style meta information
files</td></tr>
-<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr>
-<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">File name suffix for the file containg CERN-style
+<tr><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr>
+<tr class="odd"><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File name suffix for the file containg CERN-style
meta information</td></tr>
-<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable MIME-type determination based on file contents
+<tr><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable MIME-type determination based on file contents
using the specified magic file</td></tr>
-<tr><td><a href="prefork.html#minspareservers">MinSpareServers <var>sayı</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Boştaki çocuk süreçlerin asgari sayısı</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">İsteklerin ani artışında devreye girecek boştaki evrelerin asgari
+<tr class="odd"><td><a href="prefork.html#minspareservers">MinSpareServers <var>sayı</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Boştaki çocuk süreçlerin asgari sayısı</td></tr>
+<tr><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">İsteklerin ani artışında devreye girecek boştaki evrelerin asgari
sayısını belirler.</td></tr>
-<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code>
+<tr class="odd"><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr>
+<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>T</td></tr><tr><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code>
components as part of the filename</td></tr>
-<tr><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
-[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">The types of files that will be included when searching for
+<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
+[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">The types of files that will be included when searching for
a matching file with MultiViews</td></tr>
-<tr class="odd"><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>adres</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İsme dayalı sanal konaklar için IP adresi belirtir</td></tr>
-<tr><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to
+<tr><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>adres</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>Ç</td></tr><tr><td class="descr" colspan="4">İsme dayalı sanal konaklar için IP adresi belirtir</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to
directly</td></tr>
-<tr class="odd"><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">List of additional client certificates</td></tr>
-<tr><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr>
-<tr class="odd"><td><a href="core.html#options" id="O" name="O">Options
- [+|-]<var>seçenek</var> [[+|-]<var>seçenek</var>] ...</a></td><td> All </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Belli bir dizinde geçerli olacak özellikleri yapılandırır.
+<tr><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">List of additional client certificates</td></tr>
+<tr class="odd"><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr>
+<tr><td><a href="core.html#options" id="O" name="O">Options
+ [+|-]<var>seçenek</var> [[+|-]<var>seçenek</var>] ...</a></td><td> All </td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Belli bir dizinde geçerli olacak özellikleri yapılandırır.
</td></tr>
-<tr><td><a href="mod_authz_host.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>T</td></tr><tr><td class="descr" colspan="4">Controls the default access state and the order in which
+<tr class="odd"><td><a href="mod_authz_host.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the default access state and the order in which
<code class="directive">Allow</code> and <code class="directive">Deny</code> are
evaluated.</td></tr>
-<tr class="odd"><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>ortam-deÄŸiÅŸkeni</var> [<var>ortam-deÄŸiÅŸkeni</var>]
-...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Ortam değişkenlerini kabuktan aktarır.</td></tr>
-<tr><td><a href="mpm_common.html#pidfile">PidFile <var>dosya</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Ana sürecin süreç kimliğinin (PID) kaydedileceği dosyayı belirler.</td></tr>
+<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>ortam-deÄŸiÅŸkeni</var> [<var>ortam-deÄŸiÅŸkeni</var>]
+...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Ortam değişkenlerini kabuktan aktarır.</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>dosya</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Ana sürecin süreç kimliğinin (PID) kaydedileceği dosyayı belirler.</td></tr>
+<tr><td><a href="core.html#protocol">Protocol <var>protokol</var></a></td><td></td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Dinlenen bir soket için protokol</td></tr>
<tr class="odd"><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sk</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Turn the echo server on or off</td></tr>
<tr><td><a href="mod_proxy.html#proxy">&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines how to handle bad header lines in a
@@ -594,7 +606,7 @@ extensions</td></tr>
<tr><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout
[header=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
[body=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
-</a></td><td></td><td>sk</td><td>D</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
+</a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
</td></tr>
<tr class="odd"><td><a href="core.html#require">Require <var>öğe-adı</var> [<var>öğe-adı</var>] ...</a></td><td></td><td>dh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Bir özkaynağa erişebilecek kimliği doğrulanmış kullanıcıları belirler</td></tr>
<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr>
@@ -728,8 +740,8 @@ proxy handshake</td></tr>
<tr><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr>
<tr><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
+<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
Certificate verification</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em>
[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding
@@ -755,43 +767,44 @@ Certificate verification</td></tr>
<tr><td><a href="mpm_common.html#startthreads">StartThreads <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sunucunun başlatılması sırasında oluşturulan evrelerin sayısını
belirler.</td></tr>
<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr>
-<tr><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>Kullanıcı Grup</em></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">CGI betiklerini çalıştıracak kullanıcı ve grup belirtilir.
+<tr><td><a href="core.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>Ç</td></tr><tr><td class="descr" colspan="4">suEXEC özelliğini açar veya kapar</td></tr>
+<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>Kullanıcı Grup</em></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">CGI betiklerini çalıştıracak kullanıcı ve grup belirtilir.
</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Çocuk süreç başına ayarlanabilir evre sayısının üst sınırını
+<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Çocuk süreç başına ayarlanabilir evre sayısının üst sınırını
belirler.</td></tr>
-<tr><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Her çocuk süreç tarafından oluşturulan evrelerin sayısını
+<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Her çocuk süreç tarafından oluşturulan evrelerin sayısını
belirler.</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>boyut</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">İstemci bağlantılarını elde eden evreler tarafından kullanılan
+<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>boyut</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">İstemci bağlantılarını elde eden evreler tarafından kullanılan
yığıtın bayt cinsinden uzunluğunu belirler.</td></tr>
-<tr><td><a href="core.html#timeout">TimeOut <var>saniye</var></a></td><td> 300 </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bir istek için başarısız olmadan önce belirli olayların
+<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>saniye</var></a></td><td> 300 </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Bir istek için başarısız olmadan önce belirli olayların
gerçekleşmesi için sunucunun geçmesini bekleyeceği süre.</td></tr>
-<tr class="odd"><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4"><code>TRACE</code> isteklerinde davranış şeklini belirler
+<tr><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>Ç</td></tr><tr><td class="descr" colspan="4"><code>TRACE</code> isteklerinde davranış şeklini belirler
</td></tr>
-<tr><td><a href="mod_log_config.html#transferlog">TransferLog <var>dosya</var>|<var>borulu-süreç</var>
-[<var>takma-ad</var>]</a></td><td></td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Bir günlük dosyasının yerini belirtir.</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr>
-<tr><td><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv <var>ortam-deÄŸiÅŸkeni</var> [<var>ortam-deÄŸiÅŸkeni</var>]
-...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Ortamdaki değişkenleri tanımsız hale getirir.</td></tr>
-<tr class="odd"><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>skd</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar
+<tr class="odd"><td><a href="mod_log_config.html#transferlog">TransferLog <var>dosya</var>|<var>borulu-süreç</var>
+[<var>takma-ad</var>]</a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Bir günlük dosyasının yerini belirtir.</td></tr>
+<tr><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr>
+<tr class="odd"><td><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv <var>ortam-deÄŸiÅŸkeni</var> [<var>ortam-deÄŸiÅŸkeni</var>]
+...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Ortamdaki değişkenleri tanımsız hale getirir.</td></tr>
+<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>skd</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar
</td></tr>
-<tr><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>skd</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar
+<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>skd</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar
</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#user">User <var>unix-kullanıcısı</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">İsteklere yanıt verecek sunucunun ait olacağı kullanıcıyı
+<tr><td><a href="mpm_common.html#user">User <var>unix-kullanıcısı</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">İsteklere yanıt verecek sunucunun ait olacağı kullanıcıyı
belirler.</td></tr>
-<tr><td><a href="mod_userdir.html#userdir">UserDir <em>dizin</em> [<em>dizin</em>] ...</a></td><td></td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Kullanıcıya özel dizinlerin yeri</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>hesaplanan-dizin</em>|none</a></td><td> none </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Bir sanal konağın belge kök dizinini devingen olarak yapılandırır.
+<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>dizin</em> [<em>dizin</em>] ...</a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Kullanıcıya özel dizinlerin yeri</td></tr>
+<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>hesaplanan-dizin</em>|none</a></td><td> none </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Bir sanal konağın belge kök dizinini devingen olarak yapılandırır.
</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>hesaplanan-dizin</em>|none</a></td><td> none </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Bir sanal konağın belge kök dizinini devingen olarak yapılandırır.
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>hesaplanan-dizin</em>|none</a></td><td> none </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Bir sanal konağın belge kök dizinini devingen olarak yapılandırır.
</td></tr>
-<tr class="odd"><td><a href="core.html#virtualhost">&lt;VirtualHost
+<tr><td><a href="core.html#virtualhost">&lt;VirtualHost
<var>adres</var>[:<var>port</var>] [<var>adres</var>[:<var>port</var>]]
- ...&gt; ... &lt;/VirtualHost&gt;</a></td><td></td><td>s</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Sadece belli bir konak ismine ve porta uygulanacak yönergeleri barındırır.</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>hesaplanan-dizin</em>|none</a></td><td> none </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Bir sanal konağın CGI dizinini devingen olarak yapılandırır.
+ ...&gt; ... &lt;/VirtualHost&gt;</a></td><td></td><td>s</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sadece belli bir konak ismine ve porta uygulanacak yönergeleri barındırır.</td></tr>
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>hesaplanan-dizin</em>|none</a></td><td> none </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Bir sanal konağın CGI dizinini devingen olarak yapılandırır.
</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>hesaplanan-dizin</em>|none</a></td><td> none </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Bir sanal konağın CGI dizinini devingen olarak yapılandırır.
+<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>hesaplanan-dizin</em>|none</a></td><td> none </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Bir sanal konağın CGI dizinini devingen olarak yapılandırır.
</td></tr>
-<tr><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
-<tr class="odd"><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
+<tr class="odd"><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
+<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
set</td></tr>
</table></div>
<div class="bottomlang">
@@ -801,8 +814,9 @@ set</td></tr>
<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/mod/quickreference.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/mod/quickreference.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/mod/quickreference.html" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/quickreference.html.zh-cn b/docs/manual/mod/quickreference.html.zh-cn
new file mode 100644
index 00000000..5a9f9df7
--- /dev/null
+++ b/docs/manual/mod/quickreference.html.zh-cn
@@ -0,0 +1,803 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>指令快速索引 - Apache HTTP æœåŠ¡å™¨</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="directive-index">
+<div id="page-header">
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.2</a> &gt; <a href="./">模å—</a></div>
+<div id="preamble"><h1>指令快速索引</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../ru/mod/quickreference.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+ <p>指令快速索引显示指令的用法,默认值,状æ€å’Œä¸Šä¸‹æ–‡ã€‚è¦èŽ·å¾—更多信æ¯ï¼Œè¯·å‚è§ <a href="directive-dict.html">æ述指令的术语</a>。</p>
+
+ <p>第一列给出指令的å称与用法。第二列显示指令的默认值(如果有的è¯)。
+ 如果因为默认值太长而被截断显示,会在最åŽä¸€ä¸ªå­—符之åŽæ˜¾ç¤ºå­—符 “+â€ã€‚</p>
+
+ <p>第三列显示å…许此指令的上下文,第四列显示指令的状æ€ã€‚</p>
+ </div>
+<div id="directive-ref"><table id="legend">
+<tr><td class="letters"><span><a href="#A">&nbsp;A&nbsp;</a> | <a href="#B">&nbsp;B&nbsp;</a> | <a href="#C">&nbsp;C&nbsp;</a> | <a href="#D">&nbsp;D&nbsp;</a> | <a href="#E">&nbsp;E&nbsp;</a> | <a href="#F">&nbsp;F&nbsp;</a> | <a href="#G">&nbsp;G&nbsp;</a> | <a href="#H">&nbsp;H&nbsp;</a> | <a href="#I">&nbsp;I&nbsp;</a> | <a href="#K">&nbsp;K&nbsp;</a> | <a href="#L">&nbsp;L&nbsp;</a> | <a href="#M">&nbsp;M&nbsp;</a> | <a href="#N">&nbsp;N&nbsp;</a> | <a href="#O">&nbsp;O&nbsp;</a> | <a href="#P">&nbsp;P&nbsp;</a> | <a href="#R">&nbsp;R&nbsp;</a> | <a href="#S">&nbsp;S&nbsp;</a> | <a href="#T">&nbsp;T&nbsp;</a> | <a href="#U">&nbsp;U&nbsp;</a> | <a href="#V">&nbsp;V&nbsp;</a> | <a href="#W">&nbsp;W&nbsp;</a> | <a href="#X">&nbsp;X&nbsp;</a></span></td>
+<td><table><tr><th>s</th><td>æœåŠ¡å™¨é…ç½®</td></tr>
+<tr><th>v</th><td>虚拟主机</td></tr>
+<tr><th>d</th><td>目录</td></tr>
+<tr><th>h</th><td>.htaccess</td></tr>
+</table></td>
+<td><table><tr><th>C</th><td>核心</td></tr>
+<tr><th>M</th><td>MPM</td></tr>
+<tr><th>B</th><td>基础</td></tr>
+<tr><th>E</th><td>扩展</td></tr>
+<tr><th>X</th><td>实验</td></tr>
+</table></td></tr>
+</table>
+<table class="qref">
+<tr><td><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter <var>protocol</var> <var>accept_filter</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures optimizations for a Protocol's Listener Sockets</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#acceptmutex">AcceptMutex Default|<var>method</var></a></td><td> Default </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Method that Apache uses to serialize multiple children
+accepting requests on network sockets</td></tr>
+<tr><td><a href="core.html#acceptpathinfo">AcceptPathInfo On|Off|Default</a></td><td> Default </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Resources accept trailing pathname information</td></tr>
+<tr class="odd"><td><a href="core.html#accessfilename">AccessFileName <var>filename</var> [<var>filename</var>] ...</a></td><td> .htaccess </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the distributed configuration file</td></tr>
+<tr><td><a href="mod_actions.html#action">Action <var>action-type</var> <var>cgi-script</var> [virtual]</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Activates a CGI script for a particular handler or
+content-type</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#addalt">AddAlt <var>string</var> <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Alternate text to display for a file, instead of an
+icon selected by filename</td></tr>
+<tr><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding <var>string</var> <var>MIME-encoding</var>
+[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Alternate text to display for a file instead of an icon
+selected by MIME-encoding</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#addaltbytype">AddAltByType <var>string</var> <var>MIME-type</var>
+[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Alternate text to display for a file, instead of an
+icon selected by MIME content-type</td></tr>
+<tr><td><a href="mod_mime.html#addcharset">AddCharset <var>charset</var> <var>extension</var>
+[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions to the specified content
+charset</td></tr>
+<tr class="odd"><td><a href="core.html#adddefaultcharset">AddDefaultCharset On|Off|<var>charset</var></a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Default charset parameter to be added when a response
+content-type is <code>text/plain</code> or <code>text/html</code></td></tr>
+<tr><td><a href="mod_autoindex.html#adddescription">AddDescription <var>string file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Description to display for a file</td></tr>
+<tr class="odd"><td><a href="mod_mime.html#addencoding">AddEncoding <var>MIME-enc</var> <var>extension</var>
+[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the given filename extensions to the specified encoding
+type</td></tr>
+<tr><td><a href="mod_mime.html#addhandler">AddHandler <var>handler-name</var> <var>extension</var>
+[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the filename extensions to the specified
+handler</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#addicon">AddIcon <var>icon</var> <var>name</var> [<var>name</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icon to display for a file selected by name</td></tr>
+<tr><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding <var>icon</var> <var>MIME-encoding</var>
+[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display next to files selected by MIME
+content-encoding</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#addiconbytype">AddIconByType <var>icon</var> <var>MIME-type</var>
+[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icon to display next to files selected by MIME
+content-type</td></tr>
+<tr><td><a href="mod_mime.html#addinputfilter">AddInputFilter <var>filter</var>[;<var>filter</var>...]
+<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps filename extensions to the filters that will process
+client requests</td></tr>
+<tr class="odd"><td><a href="mod_mime.html#addlanguage">AddLanguage <var>MIME-lang</var> <var>extension</var>
+[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the given filename extension to the specified content
+language</td></tr>
+<tr><td><a href="mod_info.html#addmoduleinfo">AddModuleInfo <var>module-name</var> <var>string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Adds additional information to the module
+information displayed by the server-info handler</td></tr>
+<tr class="odd"><td><a href="mod_mime.html#addoutputfilter">AddOutputFilter <var>filter</var>[;<var>filter</var>...]
+<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps filename extensions to the filters that will process
+responses from the server</td></tr>
+<tr><td><a href="core.html#addoutputfilterbytype">AddOutputFilterByType <var>filter</var>[;<var>filter</var>...]
+<var>MIME-type</var> [<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">assigns an output filter to a particular MIME-type</td></tr>
+<tr class="odd"><td><a href="mod_mime.html#addtype">AddType <var>MIME-type</var> <var>extension</var>
+[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the given filename extensions onto the specified content
+type</td></tr>
+<tr><td><a href="mod_alias.html#alias">Alias <var>URL-path</var>
+<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps URLs to filesystem locations</td></tr>
+<tr class="odd"><td><a href="mod_alias.html#aliasmatch">AliasMatch <var>regex</var>
+<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps URLs to filesystem locations using regular
+expressions</td></tr>
+<tr><td><a href="mod_authz_host.html#allow"> Allow from all|<var>host</var>|env=[!]<var>env-variable</var>
+[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Controls which hosts can access an area of the
+server</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#allowconnect">AllowCONNECT <var>port</var> [<var>port</var>] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the
+proxy</td></tr>
+<tr><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off|NoDecode</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines whether encoded path separators in URLs are allowed to
+be passed through</td></tr>
+<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>directive-type</var>
+[<var>directive-type</var>] ...</a></td><td> All </td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Types of directives that are allowed in
+<code>.htaccess</code> files</td></tr>
+<tr><td><a href="mod_authn_anon.html#anonymous">Anonymous <var>user</var> [<var>user</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies userIDs that are allowed access without
+password verification</td></tr>
+<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether the password entered will be logged in the
+error log</td></tr>
+<tr><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies whether blank passwords are allowed</td></tr>
+<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether the userID field may be empty</td></tr>
+<tr><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether to check the password field for a correctly
+formatted email address</td></tr>
+<tr class="odd"><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization and authentication are passed to
+lower level modules</td></tr>
+<tr><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider <var>provider-name</var>
+[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr>
+<tr class="odd"><td><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SQL query to look up a password for a user</td></tr>
+<tr><td><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">SQL query to look up a password hash for a user and realm.
+</td></tr>
+<tr class="odd"><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of the database file containing the list
+of user groups for authorization</td></tr>
+<tr><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to
+store passwords</td></tr>
+<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a database file containing the list of users and
+passwords for authentication</td></tr>
+<tr><td><a href="mod_authn_default.html#authdefaultauthoritative">AuthDefaultAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets whether authentication is passed to lower level
+modules</td></tr>
+<tr class="odd"><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm MD5|MD5-sess</a></td><td> MD5 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Selects the algorithm used to calculate the challenge and
+response hashes in digest authentication</td></tr>
+<tr><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">URIs that are in the same protection space for digest
+authentication</td></tr>
+<tr class="odd"><td><a href="mod_auth_digest.html#authdigestnccheck">AuthDigestNcCheck On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables or disables checking of the nonce-count sent by the
+server</td></tr>
+<tr><td><a href="mod_auth_digest.html#authdigestnonceformat">AuthDigestNonceFormat <var>format</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines how the nonce is generated</td></tr>
+<tr class="odd"><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime <var>seconds</var></a></td><td> 300 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How long the server nonce is valid</td></tr>
+<tr><td><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider <var>provider-name</var>
+[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr>
+<tr class="odd"><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop none|auth|auth-int [auth|auth-int]</a></td><td> auth </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the quality-of-protection to use in digest
+authentication</td></tr>
+<tr><td><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize <var>size</var></a></td><td> 1000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The amount of shared memory to allocate for keeping track
+of clients</td></tr>
+<tr class="odd"><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a text file containing the list
+of user groups for authorization</td></tr>
+<tr><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative<em>off|on</em></a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.</td></tr>
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN <em>distinguished-name</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Optional DN to use in binding to the LDAP server</td></tr>
+<tr><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword <em>password</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Password used in conjuction with the bind DN</td></tr>
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig <em>file-path</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Language to charset conversion configuration file</td></tr>
+<tr><td><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the LDAP server to compare the DNs</td></tr>
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases never|searching|finding|always</a></td><td> Always </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">When will the module de-reference aliases</td></tr>
+<tr><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute <em>attribute</em></a></td><td> member uniquemember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">LDAP attributes used to check for group membership</td></tr>
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the DN of the client username when checking for
+group membership</td></tr>
+<tr><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute uid</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the value of the attribute returned during the user
+query to set the REMOTE_USER environment variable</td></tr>
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the DN of the client username to set the REMOTE_USER
+environment variable</td></tr>
+<tr><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPUrl <em>url [NONE|SSL|TLS|STARTTLS]</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">URL specifying the LDAP search parameters</td></tr>
+<tr class="odd"><td><a href="core.html#authname">AuthName <var>auth-domain</var></a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Authorization realm for use in HTTP
+authentication</td></tr>
+<tr><td><a href="mod_authn_alias.html#authnprovideralias">&lt;AuthnProviderAlias <var>baseProvider Alias</var>&gt;
+... &lt;/AuthnProviderAlias&gt;</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that represent an
+extension of a base authentication provider and referenced by
+the specified alias</td></tr>
+<tr class="odd"><td><a href="core.html#authtype">AuthType Basic|Digest</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Type of user authentication</td></tr>
+<tr><td><a href="mod_authn_file.html#authuserfile">AuthUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets the name of a text file containing the list of users and
+passwords for authentication</td></tr>
+<tr class="odd"><td><a href="mod_authz_dbm.html#authzdbmauthoritative">AuthzDBMAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization will be passed on to lower level
+modules</td></tr>
+<tr><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to
+store list of user groups</td></tr>
+<tr class="odd"><td><a href="mod_authz_default.html#authzdefaultauthoritative">AuthzDefaultAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization is passed to lower level
+modules</td></tr>
+<tr><td><a href="mod_authz_groupfile.html#authzgroupfileauthoritative">AuthzGroupFileAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets whether authorization will be passed on to lower level
+modules</td></tr>
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authzldapauthoritative">AuthzLDAPAuthoritative on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Prevent other authentication modules from
+authenticating the user if this one fails</td></tr>
+<tr><td><a href="mod_authz_owner.html#authzownerauthoritative">AuthzOwnerAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether authorization will be passed on to lower level
+modules</td></tr>
+<tr class="odd"><td><a href="mod_authz_user.html#authzuserauthoritative">AuthzUserAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization will be passed on to lower level
+modules</td></tr>
+<tr><td><a href="mod_proxy.html#balancermember" id="B" name="B">BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Add a member to a load balancing group</td></tr>
+<tr class="odd"><td><a href="mod_setenvif.html#browsermatch">BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>]
+[[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables conditional on HTTP User-Agent
+</td></tr>
+<tr><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>]
+ [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables conditional on User-Agent without
+respect to case</td></tr>
+<tr class="odd"><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Buffer log entries in memory before writing to disk</td></tr>
+<tr><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (one hour) </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The default duration to cache a document when no expiry date is specified.</td></tr>
+<tr class="odd"><td><a href="mod_disk_cache.html#cachedirlength">CacheDirLength <var>length</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The number of characters in subdirectory names</td></tr>
+<tr><td><a href="mod_disk_cache.html#cachedirlevels">CacheDirLevels <var>levels</var></a></td><td> 3 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The number of levels of subdirectories in the
+cache.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachedisable">CacheDisable <var> url-string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Disable caching of specified URLs</td></tr>
+<tr><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> <var>url-string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable caching of specified URLs using a specified storage
+manager</td></tr>
+<tr class="odd"><td><a href="mod_file_cache.html#cachefile">CacheFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Cache a list of file handles at startup time</td></tr>
+<tr><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore request to not serve cached content to client</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Do not store the given HTTP header(s) in the cache.
+</td></tr>
+<tr><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore the fact that a response has no Last Modified
+header.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore query string when caching</td></tr>
+<tr><td><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore defined session identifiers encoded in the URL when caching
+</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The factor used to compute an expiry date based on the
+LastModified date.</td></tr>
+<tr><td><a href="mod_cache.html#cachelock">CacheLock <var>on|off</var></a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable the thundering herd lock.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge <var>integer</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum possible age of a cache lock.</td></tr>
+<tr><td><a href="mod_cache.html#cachelockpath">CacheLockPath <var>directory</var></a></td><td> /tmp/mod_cache-lock +</td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the lock path directory.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>seconds</var></a></td><td> 86400 (one day) </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum time in seconds to cache a document</td></tr>
+<tr><td><a href="mod_disk_cache.html#cachemaxfilesize">CacheMaxFileSize <var>bytes</var></a></td><td> 1000000 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum size (in bytes) of a document to be placed in the
+cache</td></tr>
+<tr class="odd"><td><a href="mod_disk_cache.html#cacheminfilesize">CacheMinFileSize <var>bytes</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of a document to be placed in the
+cache</td></tr>
+<tr><td><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs On|Off</a></td><td> Off </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows content-negotiated documents to be
+cached by proxy servers</td></tr>
+<tr class="odd"><td><a href="mod_disk_cache.html#cacheroot">CacheRoot <var>directory</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The directory root under which cache files are
+stored</td></tr>
+<tr><td><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache requests or responses that have been marked as no-store.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Attempt to cache responses that the server has marked as private</td></tr>
+<tr><td><a href="core.html#cgimapextension">CGIMapExtension <var>cgi-path</var> <var>.extension</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Technique for locating the interpreter for CGI
+scripts</td></tr>
+<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Charset to translate into</td></tr>
+<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> DebugLevel=0 NoImpl +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures charset translation behavior</td></tr>
+<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Source charset of files</td></tr>
+<tr><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Limits the action of the speling module to case corrections</td></tr>
+<tr class="odd"><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables the spelling
+module</td></tr>
+<tr><td><a href="mpm_common.html#chrootdir">ChrootDir <var>/path/to/directory</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Directory for apache to run chroot(8) after startup.</td></tr>
+<tr class="odd"><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables the generation of <code>Content-MD5</code> HTTP Response
+headers</td></tr>
+<tr><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The domain to which the tracking cookie applies</td></tr>
+<tr class="odd"><td><a href="mod_usertrack.html#cookieexpires">CookieExpires <em>expiry-period</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Expiry time for the tracking cookie</td></tr>
+<tr><td><a href="mod_log_config.html#cookielog">CookieLog <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename for the logging of cookies</td></tr>
+<tr class="odd"><td><a href="mod_usertrack.html#cookiename">CookieName <em>token</em></a></td><td> Apache </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the tracking cookie</td></tr>
+<tr><td><a href="mod_usertrack.html#cookiestyle">CookieStyle
+ <em>Netscape|Cookie|Cookie2|RFC2109|RFC2965</em></a></td><td> Netscape </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Format of the cookie header field</td></tr>
+<tr class="odd"><td><a href="mod_usertrack.html#cookietracking">CookieTracking on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables tracking cookie</td></tr>
+<tr><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <var>directory</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Directory where Apache attempts to
+switch before dumping core</td></tr>
+<tr class="odd"><td><a href="mod_log_config.html#customlog">CustomLog <var>file</var>|<var>pipe</var>
+<var>format</var>|<var>nickname</var>
+[env=[!]<var>environment-variable</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename and format of log file</td></tr>
+<tr><td><a href="mod_dav.html#dav" id="D" name="D">Dav On|Off|<var>provider-name</var></a></td><td> Off </td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable WebDAV HTTP methods</td></tr>
+<tr class="odd"><td><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity on|off</a></td><td> off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Allow PROPFIND, Depth: Infinity requests</td></tr>
+<tr><td><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB <var>file-path</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Location of the DAV lock database</td></tr>
+<tr class="odd"><td><a href="mod_dav_fs.html#davlockdb">DavLockDB <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the DAV lock database</td></tr>
+<tr><td><a href="mod_dav.html#davmintimeout">DavMinTimeout <var>seconds</var></a></td><td> 0 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimum amount of time the server holds a lock on
+a DAV resource</td></tr>
+<tr class="odd"><td><a href="mod_dbd.html#dbdexptime">DBDExptime <var>time-in-seconds</var></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr>
+<tr><td><a href="mod_dbd.html#dbdkeep">DBDKeep <var>number</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum sustained number of connections</td></tr>
+<tr class="odd"><td><a href="mod_dbd.html#dbdmax">DBDMax <var>number</var></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of connections</td></tr>
+<tr><td><a href="mod_dbd.html#dbdmin">DBDMin <var>number</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimum number of connections</td></tr>
+<tr class="odd"><td><a href="mod_dbd.html#dbdparams">DBDParams
+<var>param1</var>=<var>value1</var>[,<var>param2</var>=<var>value2</var>]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Parameters for database connection</td></tr>
+<tr><td><a href="mod_dbd.html#dbdpersist">DBDPersist On|Off</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether to use persistent connections</td></tr>
+<tr class="odd"><td><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL <var>"SQL statement"</var> <var>label</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define an SQL prepared statement</td></tr>
+<tr><td><a href="mod_dbd.html#dbdriver">DBDriver <var>name</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify an SQL driver</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#defaulticon">DefaultIcon <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icon to display for files when no specific icon is
+configured</td></tr>
+<tr><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage <var>MIME-lang</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets all files in the given scope to the specified
+language</td></tr>
+<tr class="odd"><td><a href="core.html#defaulttype">DefaultType <var>MIME-type|none</var></a></td><td> text/plain </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">MIME content-type that will be sent if the
+server cannot determine a type in any other way</td></tr>
+<tr><td><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize <var>value</var></a></td><td> 8096 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Fragment size to be compressed at one time by zlib</td></tr>
+<tr class="odd"><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How much compression do we apply to the output</td></tr>
+<tr><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr>
+<tr class="odd"><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How much memory should be used by zlib for compression</td></tr>
+<tr><td><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize <var>value</var></a></td><td> 15 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Zlib compression window size</td></tr>
+<tr class="odd"><td><a href="mod_authz_host.html#deny"> Deny from all|<var>host</var>|env=[!]<var>env-variable</var>
+[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts are denied access to the
+server</td></tr>
+<tr><td><a href="core.html#directory">&lt;Directory <var>directory-path</var>&gt;
+... &lt;/Directory&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that apply only to the
+named file-system directory, sub-directories, and their contents</td></tr>
+<tr class="odd"><td><a href="mod_dir.html#directoryindex">DirectoryIndex
+ <var>local-url</var> [<var>local-url</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">List of resources to look for when the client requests
+a directory</td></tr>
+<tr><td><a href="core.html#directorymatch">&lt;DirectoryMatch <var>regex</var>&gt;
+... &lt;/DirectoryMatch&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose directives that apply to
+file-system directories matching a regular expression and their
+subdirectories</td></tr>
+<tr class="odd"><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Toggle trailing slash redirects on or off</td></tr>
+<tr><td><a href="core.html#documentroot">DocumentRoot <var>directory-path</var></a></td><td> /usr/local/apache/h +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Directory that forms the main document tree visible
+from the web</td></tr>
+<tr class="odd"><td><a href="mod_dumpio.html#dumpioinput">DumpIOInput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dump all input data to the error log</td></tr>
+<tr><td><a href="mod_dumpio.html#dumpiologlevel">DumpIOLogLevel <var>level</var></a></td><td> debug </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Controls the logging level of the DumpIO output</td></tr>
+<tr class="odd"><td><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dump all output data to the error log</td></tr>
+<tr><td><a href="mpm_common.html#enableexceptionhook" id="E" name="E">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Enables a hook that runs exception handlers
+after a crash</td></tr>
+<tr class="odd"><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Use memory-mapping to read files during delivery</td></tr>
+<tr><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Use the kernel sendfile support to deliver files to the client</td></tr>
+<tr class="odd"><td><a href="core.html#errordocument">ErrorDocument <var>error-code</var> <var>document</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">What the server will return to the client
+in case of an error</td></tr>
+<tr><td><a href="core.html#errorlog"> ErrorLog <var>file-path</var>|syslog[:<var>facility</var>]</a></td><td> logs/error_log (Uni +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Location where the server will log errors</td></tr>
+<tr class="odd"><td><a href="mod_example.html#example">Example</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Demonstration directive to illustrate the Apache module
+API</td></tr>
+<tr><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables generation of <code>Expires</code>
+headers</td></tr>
+<tr class="odd"><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var>
+<var>&lt;code&gt;seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Value of the <code>Expires</code> header configured
+by MIME type</td></tr>
+<tr><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var>&lt;code&gt;seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Default algorithm for calculating expiration time</td></tr>
+<tr class="odd"><td><a href="mod_status.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Keep track of extended status information for each
+request</td></tr>
+<tr><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>filtername</var> <var>parameters</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Define an external filter</td></tr>
+<tr class="odd"><td><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions <var>option</var> [<var>option</var>] ...</a></td><td> DebugLevel=0 NoLogS +</td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> options</td></tr>
+<tr><td><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource <var>local-url</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a default URL for requests that don't map to a file</td></tr>
+<tr class="odd"><td><a href="core.html#fileetag">FileETag <var>component</var> ...</a></td><td> INode MTime Size </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">File attributes used to create the ETag
+HTTP response header for static files</td></tr>
+<tr><td><a href="core.html#files">&lt;Files <var>filename</var>&gt; ... &lt;/Files&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply to matched
+filenames</td></tr>
+<tr class="odd"><td><a href="core.html#filesmatch">&lt;FilesMatch <var>regex</var>&gt; ... &lt;/FilesMatch&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply to regular-expression matched
+filenames</td></tr>
+<tr><td><a href="mod_filter.html#filterchain">FilterChain [+=-@!]<var>filter-name</var> <var>...</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Configure the filter chain</td></tr>
+<tr class="odd"><td><a href="mod_filter.html#filterdeclare">FilterDeclare <var>filter-name</var> <var>[type]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare a smart filter</td></tr>
+<tr><td><a href="mod_filter.html#filterprotocol">FilterProtocol <var>filter-name</var> [<var>provider-name</var>]
+ <var>proto-flags</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Deal with correct HTTP protocol handling</td></tr>
+<tr class="odd"><td><a href="mod_filter.html#filterprovider">FilterProvider <var>filter-name</var> <var>provider-name</var>
+ [req|resp|env]=<var>dispatch</var> <var>match</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Register a content filter</td></tr>
+<tr><td><a href="mod_filter.html#filtertrace">FilterTrace <var>filter-name</var> <var>level</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Get debug/diagnostic information from
+ <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td></tr>
+<tr class="odd"><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</a></td><td> Prefer </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action to take if a single acceptable document is not
+found</td></tr>
+<tr><td><a href="core.html#forcetype">ForceType <var>MIME-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be served with the specified
+MIME content-type</td></tr>
+<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr>
+<tr><td><a href="core.html#gprofdir" id="G" name="G">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Directory to write gmon.out profiling data to. </td></tr>
+<tr class="odd"><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutDownTimeout <var>seconds</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server
+will exit.</td></tr>
+<tr><td><a href="mpm_common.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Group under which the server will answer
+requests</td></tr>
+<tr class="odd"><td><a href="mod_headers.html#header" id="H" name="H">Header [<var>condition</var>] set|append|merge|add|unset|echo|edit
+<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure HTTP response headers</td></tr>
+<tr><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Name of the file that will be inserted at the top
+of the index listing</td></tr>
+<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables DNS lookups on client IP addresses</td></tr>
+<tr><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables logging of the RFC 1413 identity of the remote
+user</td></tr>
+<tr class="odd"><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the timeout duration for ident requests</td></tr>
+<tr><td><a href="core.html#ifdefine">&lt;IfDefine [!]<var>parameter-name</var>&gt; ...
+ &lt;/IfDefine&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only
+if a test is true at startup</td></tr>
+<tr class="odd"><td><a href="core.html#ifmodule">&lt;IfModule [!]<var>module-file</var>|<var>module-identifier</var>&gt; ...
+ &lt;/IfModule&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the
+presence or absence of a specific module</td></tr>
+<tr><td><a href="mod_version.html#ifversion">&lt;IfVersion [[!]<var>operator</var>] <var>version</var>&gt; ...
+&lt;/IfVersion&gt;</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">contains version dependent configuration</td></tr>
+<tr class="odd"><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr>
+<tr><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Default action when an imagemap is called with coordinates
+that are not explicitly mapped</td></tr>
+<tr class="odd"><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action if no coordinates are given when calling
+an imagemap</td></tr>
+<tr><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Includes other configuration files from within
+the server configuration files</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr>
+<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td> "." </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds to the list of files to hide when listing
+a directory</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Various configuration settings for directory
+indexing</td></tr>
+<tr><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending
+Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets the default ordering of the directory index</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Adds a CSS stylesheet to the directory index</td></tr>
+<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
+ISAPI extensions to the error log</td></tr>
+<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from
+ISAPI extensions to the query field</td></tr>
+<tr><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>]
+...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr>
+<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr>
+<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Log unsupported feature requests from ISAPI
+extensions</td></tr>
+<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI
+extensions</td></tr>
+<tr><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables HTTP persistent connections</td></tr>
+<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>seconds</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for subsequent
+requests on a persistent connection</td></tr>
+<tr><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">The precendence of language variants for cases where
+the client does not express a preference</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr>
+<tr><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that cached items remain valid</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr>
+<tr><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Number of entries used to cache LDAP compare
+operations</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that entries in the operation cache remain
+valid</td></tr>
+<tr><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the shared memory cache file</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr>
+<tr><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file containing or nickname referring to a per
+connection client certificate. Not all LDAP toolkits support per
+connection client certificates.</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file or database containing global trusted
+Certificate Authority or global client certificates</td></tr>
+<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert <var>On|Off</var></a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force server certificate verification</td></tr>
+<tr><td><a href="core.html#limit">&lt;Limit <var>method</var> [<var>method</var>] ... &gt; ...
+ &lt;/Limit&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Restrict enclosed access controls to only certain HTTP
+methods</td></tr>
+<tr class="odd"><td><a href="core.html#limitexcept">&lt;LimitExcept <var>method</var> [<var>method</var>] ... &gt; ...
+ &lt;/LimitExcept&gt;</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restrict access controls to all HTTP methods
+except the named ones</td></tr>
+<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>number</var> [<var>number</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determine maximum number of internal redirects and nested
+subrequests</td></tr>
+<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restricts the total size of the HTTP request body sent
+from the client</td></tr>
+<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of HTTP request header fields that
+will be accepted from the client</td></tr>
+<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of the HTTP request header allowed from the
+client</td></tr>
+<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limit the size of the HTTP request line that will be accepted
+from the client</td></tr>
+<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of an XML-based request body</td></tr>
+<tr><td><a href="mpm_common.html#listen">Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">IP addresses and ports that the server
+listens to</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#listenbacklog">ListenBacklog <var>backlog</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum length of the queue of pending connections</td></tr>
+<tr><td><a href="mod_so.html#loadfile">LoadFile <em>filename</em> [<em>filename</em>] ...</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Link in the named object file or library</td></tr>
+<tr class="odd"><td><a href="mod_so.html#loadmodule">LoadModule <em>module filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Links in the object file or library, and adds to the list
+of active modules</td></tr>
+<tr><td><a href="core.html#location">&lt;Location
+ <var>URL-path</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Applies the enclosed directives only to matching
+URLs</td></tr>
+<tr class="odd"><td><a href="core.html#locationmatch">&lt;LocationMatch
+ <var>regex</var>&gt; ... &lt;/LocationMatch&gt;</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Applies the enclosed directives only to regular-expression
+matching URLs</td></tr>
+<tr><td><a href="mpm_common.html#lockfile">LockFile <var>filename</var></a></td><td> logs/accept.lock </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Location of the accept serialization lock file</td></tr>
+<tr class="odd"><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>nickname</var>
+[<var>nickname</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Describes a format for use in a log file</td></tr>
+<tr><td><a href="core.html#loglevel">LogLevel <var>level</var></a></td><td> warn </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls the verbosity of the ErrorLog</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#maxclients" id="M" name="M">MaxClients <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of connections that will be processed
+simultaneously</td></tr>
+<tr><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of requests allowed on a persistent
+connection</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KBytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of memory that the main allocator is allowed
+to hold without calling <code>free()</code></td></tr>
+<tr><td><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild <var>number</var></a></td><td> 10000 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limit on the number of requests that an individual child server
+will handle during its life</td></tr>
+<tr class="odd"><td><a href="beos.html#maxrequestsperthread">MaxRequestsPerThread <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of requests that an individual thread
+will handle during its life</td></tr>
+<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>number</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of idle child server processes</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of idle threads</td></tr>
+<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr>
+<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxobjectcount">MCacheMaxObjectCount <var>value</var></a></td><td> 1009 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum number of objects allowed to be placed in the
+cache</td></tr>
+<tr><td><a href="mod_mem_cache.html#mcachemaxobjectsize">MCacheMaxObjectSize <var>bytes</var></a></td><td> 10000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum size (in bytes) of a document allowed in the
+cache</td></tr>
+<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer <var>size_in_bytes</var></a></td><td> the smaller of 1000 +</td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of a streamed response to buffer in memory
+before declaring the response uncacheable</td></tr>
+<tr><td><a href="mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize <var>bytes</var></a></td><td> 1 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum size (in bytes) of a document to be allowed in the
+cache</td></tr>
+<tr class="odd"><td><a href="mod_mem_cache.html#mcacheremovalalgorithm">MCacheRemovalAlgorithm LRU|GDSF</a></td><td> GDSF </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The algorithm used to select documents for removal from the
+cache</td></tr>
+<tr><td><a href="mod_mem_cache.html#mcachesize">MCacheSize <var>KBytes</var></a></td><td> 100 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum amount of memory used by the cache in
+KBytes</td></tr>
+<tr class="odd"><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the directory to find CERN-style meta information
+files</td></tr>
+<tr><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr>
+<tr class="odd"><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File name suffix for the file containg CERN-style
+meta information</td></tr>
+<tr><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable MIME-type determination based on file contents
+using the specified magic file</td></tr>
+<tr class="odd"><td><a href="prefork.html#minspareservers">MinSpareServers <var>number</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of idle child server processes</td></tr>
+<tr><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimum number of idle threads available to handle request
+spikes</td></tr>
+<tr class="odd"><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr>
+<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code>
+components as part of the filename</td></tr>
+<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
+[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The types of files that will be included when searching for
+a matching file with MultiViews</td></tr>
+<tr><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>addr</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Designates an IP address for name-virtual
+hosting</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to
+directly</td></tr>
+<tr><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">List of additional client certificates</td></tr>
+<tr class="odd"><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr>
+<tr><td><a href="core.html#options" id="O" name="O">Options
+ [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> All </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures what features are available in a particular
+directory</td></tr>
+<tr class="odd"><td><a href="mod_authz_host.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the default access state and the order in which
+<code class="directive">Allow</code> and <code class="directive">Deny</code> are
+evaluated.</td></tr>
+<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>env-variable</var> [<var>env-variable</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Passes environment variables from the shell</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">File where the server records the process ID
+of the daemon</td></tr>
+<tr><td><a href="core.html#protocol">Protocol <var>protocol</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Protocol for a listening socket</td></tr>
+<tr class="odd"><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Turn the echo server on or off</td></tr>
+<tr><td><a href="mod_proxy.html#proxy">&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines how to handle bad header lines in a
+response</td></tr>
+<tr><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var>
+[<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Words, hosts, or domains that are banned from being
+proxied</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Default domain name for proxied requests</td></tr>
+<tr><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxyftpdircharset">ProxyFtpDirCharset <var>character set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr>
+<tr><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>bytes</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine size of internal data throughput buffer</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxymatch">&lt;ProxyMatch <var>regex</var>&gt; ...&lt;/ProxyMatch&gt;</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to regular-expression-matched
+proxied resources</td></tr>
+<tr><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>number</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximium number of proxies that a request can be forwarded
+through</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var>
+<var>key=value</var> ...]] [nocanon] [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maps remote servers into the local server URL-space</td></tr>
+<tr><td><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var>
+ <var>[key=value</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maps remote servers into the local server URL-space using regular expressions</td></tr>
+<tr><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>path</var>] <var>url</var>
+[<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the URL in HTTP response headers sent from a reverse
+proxied server</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>internal-domain</var>
+<var>public-domain</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adjusts the Domain string in Set-Cookie headers from a reverse-
+proxied server</td></tr>
+<tr><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>internal-path</var>
+<var>public-path</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the Path string in Set-Cookie headers from a reverse-
+proxied server</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use incoming Host HTTP request header for proxy
+request</td></tr>
+<tr><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Network buffer size for proxied HTTP and FTP
+connections</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>match</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Remote proxy used to handle certain requests</td></tr>
+<tr><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Remote proxy used to handle requests matched by regular
+expressions</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables forward (standard) proxy requests</td></tr>
+<tr><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off</a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable or disable internal redirect responses from the
+backend</td></tr>
+<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>Headername</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable evaluation of <var>X-Sendfile</var> pseudo response
+header</td></tr>
+<tr><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>key=value [key=value ...]</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Set various Proxy balancer or member parameters</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Show Proxy LoadBalancer status in mod_status</td></tr>
+<tr><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>seconds</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Network timeout for proxied requests</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Information provided in the <code>Via</code> HTTP response
+header for proxied requests</td></tr>
+<tr><td><a href="mod_autoindex.html#readmename" id="R" name="R">ReadmeName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Name of the file that will be inserted at the end
+of the index listing</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP receive buffer size</td></tr>
+<tr><td><a href="mod_alias.html#redirect">Redirect [<var>status</var>] <var>URL-path</var>
+<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sends an external redirect asking the client to fetch
+a different URL</td></tr>
+<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch [<var>status</var>] <var>regex</var>
+<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sends an external redirect based on a regular expression match
+of the current URL</td></tr>
+<tr><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sends an external permanent redirect asking the client to fetch
+a different URL</td></tr>
+<tr class="odd"><td><a href="mod_alias.html#redirecttemp">RedirectTemp <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sends an external temporary redirect asking the client to fetch
+a different URL</td></tr>
+<tr><td><a href="mod_mime.html#removecharset">RemoveCharset <var>extension</var> [<var>extension</var>]
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any character set associations for a set of file
+extensions</td></tr>
+<tr class="odd"><td><a href="mod_mime.html#removeencoding">RemoveEncoding <var>extension</var> [<var>extension</var>]
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any content encoding associations for a set of file
+extensions</td></tr>
+<tr><td><a href="mod_mime.html#removehandler">RemoveHandler <var>extension</var> [<var>extension</var>]
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any handler associations for a set of file
+extensions</td></tr>
+<tr class="odd"><td><a href="mod_mime.html#removeinputfilter">RemoveInputFilter <var>extension</var> [<var>extension</var>]
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any input filter associations for a set of file
+extensions</td></tr>
+<tr><td><a href="mod_mime.html#removelanguage">RemoveLanguage <var>extension</var> [<var>extension</var>]
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any language associations for a set of file
+extensions</td></tr>
+<tr class="odd"><td><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter <var>extension</var> [<var>extension</var>]
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any output filter associations for a set of file
+extensions</td></tr>
+<tr><td><a href="mod_mime.html#removetype">RemoveType <var>extension</var> [<var>extension</var>]
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any content type associations for a set of file
+extensions</td></tr>
+<tr class="odd"><td><a href="mod_headers.html#requestheader">RequestHeader set|append|merge|add|unset|edit <var>header</var>
+[<var>value</var>] [<var>replacement</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure HTTP request headers</td></tr>
+<tr><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout
+[header=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
+[body=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
+</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
+</td></tr>
+<tr class="odd"><td><a href="core.html#require">Require <var>entity-name</var> [<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Selects which authenticated users can access
+a resource</td></tr>
+<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr>
+<tr class="odd"><td><a href="mod_rewrite.html#rewritecond"> RewriteCond
+ <em>TestString</em> <em>CondPattern</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a condition under which rewriting will take place
+</td></tr>
+<tr><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr>
+<tr class="odd"><td><a href="mod_rewrite.html#rewritelock">RewriteLock <em>file-path</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of the lock file used for <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+synchronization</td></tr>
+<tr><td><a href="mod_rewrite.html#rewritelog">RewriteLog <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the name of the file used for logging rewrite engine
+processing</td></tr>
+<tr class="odd"><td><a href="mod_rewrite.html#rewriteloglevel">RewriteLogLevel <em>Level</em></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the verbosity of the log file used by the rewrite
+engine</td></tr>
+<tr><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
+</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a mapping function for key-lookup</td></tr>
+<tr class="odd"><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions <var>Options</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets some special options for the rewrite engine</td></tr>
+<tr><td><a href="mod_rewrite.html#rewriterule">RewriteRule
+ <em>Pattern</em> <em>Substitution</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines rules for the rewriting engine</td></tr>
+<tr class="odd"><td><a href="core.html#rlimitcpu">RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the CPU consumption of processes launched
+by Apache children</td></tr>
+<tr><td><a href="core.html#rlimitmem">RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the memory consumption of processes launched
+by Apache children</td></tr>
+<tr class="odd"><td><a href="core.html#rlimitnproc">RLimitNPROC <var>number</var>|max [<var>number</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the number of processes that can be launched by
+processes launched by Apache children</td></tr>
+<tr><td><a href="core.html#satisfy" id="S" name="S">Satisfy Any|All</a></td><td> All </td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Interaction between host-level access control and
+user authentication</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>file-path</var></a></td><td> logs/apache_status </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the file used to store coordination data for
+the child processes</td></tr>
+<tr><td><a href="mod_actions.html#script">Script <var>method</var> <var>cgi-script</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Activates a CGI script for a particular request
+method.</td></tr>
+<tr class="odd"><td><a href="mod_alias.html#scriptalias">ScriptAlias <var>URL-path</var>
+<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps a URL to a filesystem location and designates the
+target as a CGI script</td></tr>
+<tr><td><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch <var>regex</var>
+<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps a URL to a filesystem location using a regular expression
+and designates the target as a CGI script</td></tr>
+<tr class="odd"><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource Registry|Registry-Strict|Script</a></td><td> Script </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Technique for locating the interpreter for CGI
+scripts</td></tr>
+<tr><td><a href="mod_cgi.html#scriptlog">ScriptLog <var>file-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Location of the CGI script error logfile</td></tr>
+<tr class="odd"><td><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer <var>bytes</var></a></td><td> 1024 </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of PUT or POST requests that will be recorded
+in the scriptlog</td></tr>
+<tr><td><a href="mod_cgi.html#scriptloglength">ScriptLogLength <var>bytes</var></a></td><td> 10385760 </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Size limit of the CGI script logfile</td></tr>
+<tr class="odd"><td><a href="mod_cgid.html#scriptsock">ScriptSock <var>file-path</var></a></td><td> logs/cgisock </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The filename prefix of the socket to use for communication with
+the cgi daemon</td></tr>
+<tr><td><a href="mod_nw_ssl.html#securelisten">SecureListen [<var>IP-address</var>:]<var>portnumber</var>
+<var>Certificate-Name</var> [MUTUAL]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enables SSL encryption for the specified port</td></tr>
+<tr class="odd"><td><a href="mod_status.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Determine if mod_status displays the first 63 characters
+of a request or the last 63, assuming the request itself is greater than
+63 chars.</td></tr>
+<tr><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">TCP buffer size</td></tr>
+<tr class="odd"><td><a href="core.html#serveradmin">ServerAdmin <var>email-address</var>|<var>URL</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Email address that the server includes in error
+messages sent to the client</td></tr>
+<tr><td><a href="core.html#serveralias">ServerAlias <var>hostname</var> [<var>hostname</var>] ...</a></td><td></td><td>v</td><td>C</td></tr><tr><td class="descr" colspan="4">Alternate names for a host used when matching requests
+to name-virtual hosts</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#serverlimit">ServerLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Upper limit on configurable number of processes</td></tr>
+<tr><td><a href="core.html#servername">ServerName [<var>scheme</var>://]<var>fully-qualified-domain-name</var>[:<var>port</var>]</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Hostname and port that the server uses to identify
+itself</td></tr>
+<tr class="odd"><td><a href="core.html#serverpath">ServerPath <var>URL-path</var></a></td><td></td><td>v</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Legacy URL pathname for a name-based virtual host that
+is accessed by an incompatible browser</td></tr>
+<tr><td><a href="core.html#serverroot">ServerRoot <var>directory-path</var></a></td><td> /usr/local/apache </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Base directory for the server installation</td></tr>
+<tr class="odd"><td><a href="core.html#serversignature">ServerSignature On|Off|EMail</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the footer on server-generated documents</td></tr>
+<tr><td><a href="core.html#servertokens">ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</a></td><td> Full </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures the <code>Server</code> HTTP response
+header</td></tr>
+<tr class="odd"><td><a href="mod_env.html#setenv">SetEnv <var>env-variable</var> <var>value</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables</td></tr>
+<tr><td><a href="mod_setenvif.html#setenvif">SetEnvIf <em>attribute
+ regex [!]env-variable</em>[=<em>value</em>]
+ [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables based on attributes of the request
+</td></tr>
+<tr class="odd"><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase <em>attribute regex
+ [!]env-variable</em>[=<em>value</em>]
+ [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables based on attributes of the request
+without respect to case</td></tr>
+<tr><td><a href="core.html#sethandler">SetHandler <var>handler-name</var>|None</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be processed by a
+handler</td></tr>
+<tr class="odd"><td><a href="core.html#setinputfilter">SetInputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the filters that will process client requests and POST
+input</td></tr>
+<tr><td><a href="core.html#setoutputfilter">SetOutputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Sets the filters that will process responses from the
+server</td></tr>
+<tr class="odd"><td><a href="mod_include.html#ssienableaccess">SSIEnableAccess on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enable the -A flag during conditional flow control processing.</td></tr>
+<tr><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "--&gt;" </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">String that ends an include element</td></tr>
+<tr class="odd"><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg <var>message</var></a></td><td> "[an error occurred +</td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Error message displayed when there is an SSI
+error</td></tr>
+<tr><td><a href="mod_include.html#ssietag">SSIETag on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Controls whether ETags are generated by the server.</td></tr>
+<tr class="odd"><td><a href="mod_include.html#ssilastmodified">SSILastModified on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls whether <code>Last-Modified</code> headers are generated by the
+server.</td></tr>
+<tr><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "&lt;!--#" </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">String that starts an include element</td></tr>
+<tr class="odd"><td><a href="mod_include.html#ssitimeformat">SSITimeFormat <var>formatstring</var></a></td><td> "%A, %d-%b-%Y %H:%M +</td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the format in which date strings are
+displayed</td></tr>
+<tr><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho <var>string</var></a></td><td> "(none)" </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">String displayed when an unset variable is echoed</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates
+for Client Auth</td></tr>
+<tr><td><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for
+Client Auth</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates
+for defining acceptable CA names</td></tr>
+<tr><td><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for
+defining acceptable CA names</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for
+Client Auth</td></tr>
+<tr><td><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for
+Client Auth</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of PEM-encoded Server CA Certificates</td></tr>
+<tr><td><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Server PEM-encoded X.509 Certificate file</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Server PEM-encoded Private Key file</td></tr>
+<tr><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL
+handshake</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice <em>engine</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable use of a cryptographic hardware accelerator</td></tr>
+<tr><td><a href="mod_ssl.html#sslengine">SSLEngine on|off|optional</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SSL Engine Operation Switch</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslfips">SSLFIPS on|off</a></td><td> off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL FIPS mode Switch</td></tr>
+<tr><td><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder <em>flag</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Option to prefer the server's cipher preference order</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation <em>flag</em></a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Option to enable support for insecure renegotiation</td></tr>
+<tr><td><a href="mod_ssl.html#sslmutex">SSLMutex <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Semaphore for internal mutual exclusion of
+operations</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#ssloptions">SSLOptions [+|-]<em>option</em> ...</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure various SSL engine run-time options</td></tr>
+<tr><td><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog <em>type</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of pass phrase dialog for encrypted private
+keys</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslprotocol">SSLProtocol [+|-]<em>protocol</em> ...</a></td><td> all </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL protocol flavors</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates
+for Remote Server Auth</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for
+Remote Server Auth</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for
+Remote Server Auth</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for
+Remote Server Auth</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether to check the remote server certificates CN field
+</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to check if remote server certificate is expired
+</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL
+proxy handshake</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL Proxy Engine Operation Switch</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server
+Certificate verification</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em>
+[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding
+source</td></tr>
+<tr><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize <var>bytes</var></a></td><td> 131072 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the size for the SSL renegotiation buffer</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslrequire">SSLRequire <em>expression</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Allow access only when an arbitrarily complex
+boolean expression is true</td></tr>
+<tr><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Deny access when SSL is not used for the
+HTTP request</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslsessioncache">SSLSessionCache <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of the global/inter-process SSL Session
+Cache</td></tr>
+<tr><td><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Number of seconds before an SSL session expires
+in the Session Cache</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to allow non SNI clients to access a name based virtual
+host.
+</td></tr>
+<tr><td><a href="mod_ssl.html#sslusername">SSLUserName <em>varname</em></a></td><td></td><td>sdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Variable name to determine user name</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of Client Certificate verification</td></tr>
+<tr><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum depth of CA Certificates in Client
+Certificate verification</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#startservers">StartServers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of child server processes created at startup</td></tr>
+<tr><td><a href="mpm_common.html#startthreads">StartThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of threads created on startup</td></tr>
+<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr>
+<tr><td><a href="core.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Enable or disable the suEXEC feature</td></tr>
+<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">User and group for CGI programs to run as</td></tr>
+<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads
+per child process</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of threads created by each child process</td></tr>
+<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The size in bytes of the stack used by threads handling
+client connections</td></tr>
+<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>seconds</var></a></td><td> 300 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for
+certain events before failing a request</td></tr>
+<tr><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines the behaviour on <code>TRACE</code>
+requests</td></tr>
+<tr class="odd"><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify location of a log file</td></tr>
+<tr><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr>
+<tr class="odd"><td><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv <var>env-variable</var> [<var>env-variable</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes variables from the environment</td></tr>
+<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and
+port</td></tr>
+<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own name and
+port</td></tr>
+<tr><td><a href="mpm_common.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The userid under which the server will answer
+requests</td></tr>
+<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ...
+</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the user-specific directories</td></tr>
+<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root
+for a given virtual host</td></tr>
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root
+for a given virtual host</td></tr>
+<tr><td><a href="core.html#virtualhost">&lt;VirtualHost
+ <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]]
+ ...&gt; ... &lt;/VirtualHost&gt;</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only to a specific
+hostname or IP address</td></tr>
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for
+a given virtual host</td></tr>
+<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
+a given virtual host</td></tr>
+<tr class="odd"><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
+<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
+set</td></tr>
+</table></div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../ru/mod/quickreference.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/mod/quickreference.html" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/worker.html.de b/docs/manual/mod/worker.html.de
index d486ce02..d6963585 100644
--- a/docs/manual/mod/worker.html.de
+++ b/docs/manual/mod/worker.html.de
@@ -167,6 +167,6 @@
<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/worker.html.en b/docs/manual/mod/worker.html.en
index 0f6d4bac..360f43c3 100644
--- a/docs/manual/mod/worker.html.en
+++ b/docs/manual/mod/worker.html.en
@@ -174,6 +174,6 @@ uses</a></li>
<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/worker.html.ja.utf8 b/docs/manual/mod/worker.html.ja.utf8
index 5c498caa..ca00918a 100644
--- a/docs/manual/mod/worker.html.ja.utf8
+++ b/docs/manual/mod/worker.html.ja.utf8
@@ -183,6 +183,6 @@
<a href="../ja/mod/worker.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/worker.html.tr.utf8 b/docs/manual/mod/worker.html.tr.utf8
index 736d9ebe..12689607 100644
--- a/docs/manual/mod/worker.html.tr.utf8
+++ b/docs/manual/mod/worker.html.tr.utf8
@@ -164,6 +164,6 @@ ayarlanması</a></li>
<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/worker.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mpm.html b/docs/manual/mpm.html
index e66905a0..065aa565 100644
--- a/docs/manual/mpm.html
+++ b/docs/manual/mpm.html
@@ -27,3 +27,7 @@ Content-type: text/html; charset=EUC-KR
URI: mpm.html.tr.utf8
Content-Language: tr
Content-type: text/html; charset=UTF-8
+
+URI: mpm.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/mpm.html.de b/docs/manual/mpm.html.de
index a82dd678..73271de0 100644
--- a/docs/manual/mpm.html.de
+++ b/docs/manual/mpm.html.de
@@ -24,7 +24,8 @@
<a href="./fr/mpm.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Das Dokument beschreibt, was ein Multi-Processing-Modul ist und wie solche
@@ -122,8 +123,9 @@
<a href="./fr/mpm.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Module</a> | <a href="./mod/directives.html">Direktiven</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossar</a> | <a href="./sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mpm.html.en b/docs/manual/mpm.html.en
index 2a462d7f..0f27496e 100644
--- a/docs/manual/mpm.html.en
+++ b/docs/manual/mpm.html.en
@@ -24,7 +24,8 @@
<a href="./fr/mpm.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>This document describes what a Multi-Processing Module is and
@@ -122,8 +123,9 @@ choice at compile-time.</p>
<a href="./fr/mpm.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mpm.html.es b/docs/manual/mpm.html.es
index 51baddeb..40a0f18c 100644
--- a/docs/manual/mpm.html.es
+++ b/docs/manual/mpm.html.es
@@ -24,7 +24,8 @@
<a href="./fr/mpm.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">Esta traducción podría estar
obsoleta. Consulte la versión en inglés de la
@@ -136,8 +137,9 @@ especifica lo contrario al compilar.</p>
<a href="./fr/mpm.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mpm.html.fr b/docs/manual/mpm.html.fr
index f68262fa..ef3368f7 100644
--- a/docs/manual/mpm.html.fr
+++ b/docs/manual/mpm.html.fr
@@ -24,7 +24,8 @@
<a href="./fr/mpm.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Ce document décrit ce qu'est un Module Multi-Processus, ainsi
@@ -124,8 +125,9 @@ pas un choix différent à la compilation.</p>
<a href="./fr/mpm.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mpm.html.ja.utf8 b/docs/manual/mpm.html.ja.utf8
index 75650032..5efb2db1 100644
--- a/docs/manual/mpm.html.ja.utf8
+++ b/docs/manual/mpm.html.ja.utf8
@@ -24,7 +24,8 @@
<a href="./fr/mpm.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>ã“ã®æ–‡æ›¸ã§ã¯ãƒžãƒ«ãƒãƒ—ロセッシングモジュールãŒã©ã®ã‚ˆã†ãªã‚‚ã®ã§ã€
@@ -127,8 +128,9 @@ Apache HTTP サーãƒã§ã©ã®ã‚ˆã†ã«ä½¿ç”¨ã•ã‚Œã‚‹ã‹ã«ã¤ã„ã¦è§£èª¬ã—ã
<a href="./fr/mpm.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mpm.html.ko.euc-kr b/docs/manual/mpm.html.ko.euc-kr
index e52427e1..9d67643a 100644
--- a/docs/manual/mpm.html.ko.euc-kr
+++ b/docs/manual/mpm.html.ko.euc-kr
@@ -24,7 +24,8 @@
<a href="./fr/mpm.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
@@ -119,8 +120,9 @@
<a href="./fr/mpm.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mpm.html.tr.utf8 b/docs/manual/mpm.html.tr.utf8
index 92a26b2b..4dab0bdb 100644
--- a/docs/manual/mpm.html.tr.utf8
+++ b/docs/manual/mpm.html.tr.utf8
@@ -24,7 +24,8 @@
<a href="./fr/mpm.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/mpm.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/mpm.html" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Bu belgede Çok Süreçlilik Modülü denince ne anlaşıldığı ve bunların
@@ -119,8 +120,9 @@
<a href="./fr/mpm.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/mpm.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/mpm.html" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/mpm.html.zh-cn b/docs/manual/mpm.html.zh-cn
new file mode 100644
index 00000000..ba7ad31a
--- /dev/null
+++ b/docs/manual/mpm.html.zh-cn
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>多处ç†æ¨¡å—(MPM) - Apache HTTP æœåŠ¡å™¨</title>
+<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="./images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="./mod/">模å—</a> | <a href="./mod/directives.html">指令</a> | <a href="./faq/">常è§é—®é¢˜</a> | <a href="./glossary.html">术语</a> | <a href="./sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="./images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="./">版本 2.2</a></div><div id="page-content"><div id="preamble"><h1>多处ç†æ¨¡å—(MPM)</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="./de/mpm.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="./en/mpm.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./es/mpm.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="./fr/mpm.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+<p>本文档介ç»äº†ä»€ä¹ˆæ˜¯å¤šå¤„ç†æ¨¡å—ï¼Œä»¥åŠ Apache HTTP æœåŠ¡å™¨å¦‚何使用它们。</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#introduction">介ç»</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#choosing">选择 MPM</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#defaults">默认 MPM</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="introduction" id="introduction">介ç»</a></h2>
+
+ <p>Apache HTTP æœåŠ¡å™¨è¢«è®¾è®¡ä¸ºä¸€ä¸ªåŠŸèƒ½å¼ºå¤§ï¼Œå¹¶ä¸”çµæ´»çš„ web æœåŠ¡å™¨ï¼Œ
+ å¯ä»¥åœ¨å¾ˆå¤šå¹³å°ä¸ŽçŽ¯å¢ƒä¸­å·¥ä½œã€‚ä¸åŒå¹³å°å’Œä¸åŒçš„环境往往需è¦ä¸åŒ
+ 的特性,或å¯èƒ½ä»¥ä¸åŒçš„æ–¹å¼å®žçŽ°ç›¸åŒçš„特性最有效率。Apache
+ 通过模å—化的设计æ¥é€‚应å„ç§çŽ¯å¢ƒã€‚è¿™ç§è®¾è®¡å…许网站管ç†å‘˜é€šè¿‡åœ¨
+ 编译时或è¿è¡Œæ—¶ï¼Œé€‰æ‹©å“ªäº›æ¨¡å—将会加载在æœåŠ¡å™¨ä¸­ï¼Œæ¥é€‰æ‹©æœåŠ¡å™¨ç‰¹æ€§ã€‚</p>
+
+ <p>Apache 2.0 扩展此模å—化设计到最基本的 web æœåŠ¡å™¨åŠŸèƒ½ã€‚
+ 它æ供了å¯ä»¥é€‰æ‹©çš„多处ç†æ¨¡å—(MPM),用æ¥ç»‘定到网络端å£ä¸Šï¼ŒæŽ¥å—请求,
+ 以åŠè°ƒåº¦å­è¿›ç¨‹å¤„ç†è¯·æ±‚。</p>
+
+ <p>扩展到这一级别的æœåŠ¡å™¨æ¨¡å—化设计,带æ¥ä¸¤ä¸ªé‡è¦çš„好处:</p>
+
+ <ul>
+ <li>Apache 能更优雅,更高效率的支æŒä¸åŒçš„å¹³å°ã€‚尤其是
+ Apache 的 Windows 版本现在更有效率了,因为
+ <code class="module"><a href="./mod/mpm_winnt.html">mpm_winnt</a></code> 能使用原生网络特性å–代在
+ Apache 1.3 中使用的 POSIX 层。它也å¯ä»¥æ‰©å±•åˆ°å…¶å®ƒå¹³å°
+ æ¥ä½¿ç”¨ä¸“用的 MPM。</li>
+
+ <li>Apache 能更好的为有特殊è¦æ±‚的站点定制。例如,è¦æ±‚
+ 更高伸缩性的站点å¯ä»¥é€‰æ‹©ä½¿ç”¨çº¿ç¨‹çš„ MPM,å³
+ <code class="module"><a href="./mod/worker.html">worker</a></code> 或 <code class="module"><a href="./mod/event.html">event</a></code>;
+ 需è¦å¯é æ€§æˆ–者与旧软件兼容的站点å¯ä»¥ä½¿ç”¨
+ <code class="module"><a href="./mod/prefork.html">prefork</a></code>。</li>
+ </ul>
+
+ <p>在用户看æ¥ï¼ŒMPM 很åƒå…¶å®ƒ Apache 模å—。主è¦æ˜¯åŒºåˆ«æ˜¯ï¼Œåœ¨ä»»ä½•æ—¶é—´ï¼Œ
+ 必须有一个,而且åªæœ‰ä¸€ä¸ª MPM 加载到æœåŠ¡å™¨ä¸­ã€‚å¯ç”¨çš„ MPM 列表ä½äºŽ
+ <a href="mod/">模å—索引页é¢</a>。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="choosing" id="choosing">选择 MPM</a></h2>
+
+ <p>MPM 必须在编译å‰å¤•ï¼Œé…置时指定,然åŽç¼–译到æœåŠ¡å™¨ç¨‹åºä¸­ã€‚
+ 仅当编译器知é“使用了线程时,它æ‰æœ‰èƒ½åŠ›ä¼˜åŒ–许多函数。</p>
+
+ <p>为了使用指定的 MPM,请在执行 <code class="program"><a href="./programs/configure.html">configure</a></code>
+ 时,使用å‚æ•° <code>--with-mpm=<em>NAME</em></code>。<em>NAME</em>
+ 是指定的 MPM å称。</p>
+
+ <p>编译完æˆåŽï¼Œå¯ä»¥ä½¿ç”¨ <code>./httpd -l</code> æ¥ç¡®å®šé€‰æ‹©çš„ MPM。
+ 此命令会列出编译到æœåŠ¡å™¨ç¨‹åºä¸­çš„所有模å—,包括 MPM。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="defaults" id="defaults">默认 MPM</a></h2>
+
+<p>下表列出了ä¸åŒç³»ç»Ÿçš„默认 MPM。如果你ä¸åœ¨ç¼–译时选择,那么它就是你将è¦ä½¿ç”¨çš„ MPM。</p>
+
+<table>
+
+<tr><td>BeOS</td><td><code class="module"><a href="./mod/beos.html">beos</a></code></td></tr>
+<tr><td>Netware</td><td><code class="module"><a href="./mod/mpm_netware.html">mpm_netware</a></code></td></tr>
+<tr><td>OS/2</td><td><code class="module"><a href="./mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
+<tr><td>Unix</td><td><code class="module"><a href="./mod/prefork.html">prefork</a></code></td></tr>
+<tr><td>Windows</td><td><code class="module"><a href="./mod/mpm_winnt.html">mpm_winnt</a></code></td></tr>
+</table>
+</div></div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="./de/mpm.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="./en/mpm.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./es/mpm.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="./fr/mpm.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/mpm.html" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="./mod/">模å—</a> | <a href="./mod/directives.html">指令</a> | <a href="./faq/">常è§é—®é¢˜</a> | <a href="./glossary.html">术语</a> | <a href="./sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/new_features_2_0.html.de b/docs/manual/new_features_2_0.html.de
index fa2a6488..cdd15dd1 100644
--- a/docs/manual/new_features_2_0.html.de
+++ b/docs/manual/new_features_2_0.html.de
@@ -260,6 +260,6 @@
<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Module</a> | <a href="./mod/directives.html">Direktiven</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossar</a> | <a href="./sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/new_features_2_0.html.en b/docs/manual/new_features_2_0.html.en
index da6db5c6..c1162dad 100644
--- a/docs/manual/new_features_2_0.html.en
+++ b/docs/manual/new_features_2_0.html.en
@@ -240,6 +240,6 @@
<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/new_features_2_0.html.fr b/docs/manual/new_features_2_0.html.fr
index 4e8a279d..a1981462 100644
--- a/docs/manual/new_features_2_0.html.fr
+++ b/docs/manual/new_features_2_0.html.fr
@@ -248,6 +248,6 @@
<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/new_features_2_0.html.ja.utf8 b/docs/manual/new_features_2_0.html.ja.utf8
index b5fa0084..b6896648 100644
--- a/docs/manual/new_features_2_0.html.ja.utf8
+++ b/docs/manual/new_features_2_0.html.ja.utf8
@@ -250,6 +250,6 @@
<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/new_features_2_0.html.ko.euc-kr b/docs/manual/new_features_2_0.html.ko.euc-kr
index ccf0b912..7ad2d858 100644
--- a/docs/manual/new_features_2_0.html.ko.euc-kr
+++ b/docs/manual/new_features_2_0.html.ko.euc-kr
@@ -230,6 +230,6 @@
<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/new_features_2_0.html.pt-br b/docs/manual/new_features_2_0.html.pt-br
index acfe16f9..55f5b022 100644
--- a/docs/manual/new_features_2_0.html.pt-br
+++ b/docs/manual/new_features_2_0.html.pt-br
@@ -239,6 +239,6 @@
<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licenciado sob a <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licenciado sob a <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Diretrizes</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossário</a> | <a href="./sitemap.html">Mapa do site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/new_features_2_0.html.ru.koi8-r b/docs/manual/new_features_2_0.html.ru.koi8-r
index fd8a4d4e..43c3e417 100644
--- a/docs/manual/new_features_2_0.html.ru.koi8-r
+++ b/docs/manual/new_features_2_0.html.ru.koi8-r
@@ -247,6 +247,6 @@
<a href="./ru/new_features_2_0.html" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">íÏÄÕÌÉ</a> | <a href="./mod/directives.html">äÉÒÅËÔÉ×Ù</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">çÌÏÓÓÁÒÉÊ</a> | <a href="./sitemap.html">ëÁÒÔÁ ÓÁÊÔÁ</a></p></div>
</body></html> \ 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 559a6cdc..fe857128 100644
--- a/docs/manual/new_features_2_0.html.tr.utf8
+++ b/docs/manual/new_features_2_0.html.tr.utf8
@@ -246,6 +246,6 @@
<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/new_features_2_0.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/new_features_2_2.html.en b/docs/manual/new_features_2_2.html.en
index 7ea4941b..faad508c 100644
--- a/docs/manual/new_features_2_2.html.en
+++ b/docs/manual/new_features_2_2.html.en
@@ -276,6 +276,6 @@
<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/new_features_2_2.html.fr b/docs/manual/new_features_2_2.html.fr
index 9835416f..3266cbb1 100644
--- a/docs/manual/new_features_2_2.html.fr
+++ b/docs/manual/new_features_2_2.html.fr
@@ -297,6 +297,6 @@
<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/new_features_2_2.html.ko.euc-kr b/docs/manual/new_features_2_2.html.ko.euc-kr
index 0a449e60..77801b42 100644
--- a/docs/manual/new_features_2_2.html.ko.euc-kr
+++ b/docs/manual/new_features_2_2.html.ko.euc-kr
@@ -125,6 +125,6 @@
<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Portugu&#234;s (Brasil)">&nbsp;pt-br&nbsp;</a> |
<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/new_features_2_2.html.pt-br b/docs/manual/new_features_2_2.html.pt-br
index 047642e8..f06c5970 100644
--- a/docs/manual/new_features_2_2.html.pt-br
+++ b/docs/manual/new_features_2_2.html.pt-br
@@ -134,6 +134,6 @@
<a href="./pt-br/new_features_2_2.html" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licenciado sob a <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licenciado sob a <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Diretrizes</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossário</a> | <a href="./sitemap.html">Mapa do site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/new_features_2_2.html.tr.utf8 b/docs/manual/new_features_2_2.html.tr.utf8
index 82792e52..838ba7d0 100644
--- a/docs/manual/new_features_2_2.html.tr.utf8
+++ b/docs/manual/new_features_2_2.html.tr.utf8
@@ -273,6 +273,6 @@
<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
<a href="./tr/new_features_2_2.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/platform/ebcdic.html.en b/docs/manual/platform/ebcdic.html.en
index 3417b79b..5ff02496 100644
--- a/docs/manual/platform/ebcdic.html.en
+++ b/docs/manual/platform/ebcdic.html.en
@@ -579,6 +579,6 @@
<p><span>Available Languages: </span><a href="../en/platform/ebcdic.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/platform/ebcdic.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/platform/ebcdic.html.ko.euc-kr b/docs/manual/platform/ebcdic.html.ko.euc-kr
index a8a2c986..e2c3e3e8 100644
--- a/docs/manual/platform/ebcdic.html.ko.euc-kr
+++ b/docs/manual/platform/ebcdic.html.ko.euc-kr
@@ -554,6 +554,6 @@
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/platform/ebcdic.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/platform/ebcdic.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/platform/index.html b/docs/manual/platform/index.html
index df57cd0f..c62e3ad8 100644
--- a/docs/manual/platform/index.html
+++ b/docs/manual/platform/index.html
@@ -7,3 +7,7 @@ Content-type: text/html; charset=ISO-8859-1
URI: index.html.ko.euc-kr
Content-Language: ko
Content-type: text/html; charset=EUC-KR
+
+URI: index.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/platform/index.html.en b/docs/manual/platform/index.html.en
index 988e0e13..8b080c8a 100644
--- a/docs/manual/platform/index.html.en
+++ b/docs/manual/platform/index.html.en
@@ -19,7 +19,8 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>Platform Specific Notes</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/platform/" title="English">&nbsp;en&nbsp;</a> |
-<a href="../ko/platform/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+<a href="../ko/platform/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../zh-cn/platform/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#win">Microsoft Windows</a></li>
@@ -87,8 +88,9 @@
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/platform/" title="English">&nbsp;en&nbsp;</a> |
-<a href="../ko/platform/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+<a href="../ko/platform/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../zh-cn/platform/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/platform/index.html.ko.euc-kr b/docs/manual/platform/index.html.ko.euc-kr
index 19fd4fe1..53d71959 100644
--- a/docs/manual/platform/index.html.ko.euc-kr
+++ b/docs/manual/platform/index.html.ko.euc-kr
@@ -19,7 +19,8 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>Ç÷¡Æûº° ¼³¸í</h1>
<div class="toplang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/platform/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
-<a href="../ko/platform/" title="Korean">&nbsp;ko&nbsp;</a></p>
+<a href="../ko/platform/" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../zh-cn/platform/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#win">Microsoft Windows</a></li>
@@ -87,8 +88,9 @@
</div></div>
<div class="bottomlang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/platform/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
-<a href="../ko/platform/" title="Korean">&nbsp;ko&nbsp;</a></p>
+<a href="../ko/platform/" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../zh-cn/platform/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/platform/index.html.zh-cn b/docs/manual/platform/index.html.zh-cn
new file mode 100644
index 00000000..f78a6bc8
--- /dev/null
+++ b/docs/manual/platform/index.html.zh-cn
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>å¹³å°ç›¸å…³è¯´æ˜Ž - Apache HTTP æœåŠ¡å™¨</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.2</a></div><div id="page-content"><div id="preamble"><h1>å¹³å°ç›¸å…³è¯´æ˜Ž</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/platform/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../ko/platform/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../zh-cn/platform/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#win">Microsoft Windows</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#other">其它平å°</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="win" id="win">Microsoft Windows</a></h2>
+
+
+
+ <dl>
+ <dt>使用 Apache</dt>
+ <dd>
+ <p>这篇文档解释了如何在 Microsoft Windows 中安装,é…置,以åŠè¿è¡Œ Apache 2.0 。</p>
+
+ <p>å‚è§: <a href="windows.html">在 Microsoft Windows 中使用 Apache</a></p>
+ </dd>
+ </dl>
+
+ <dl>
+ <dt>编译 Apache</dt>
+ <dd>
+ <p>这篇文档解释了编译 Apache çš„è¦ç‚¹ã€‚</p>
+
+ <p>å‚è§: <a href="win_compiling.html">为 Microsoft Windows 编译 Apache</a></p>
+ </dd>
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="other" id="other">其它平å°</a></h2>
+
+
+
+ <dl>
+ <dt>Novell NetWare</dt>
+ <dd>
+ <p>这篇文档解释了如何在 Novell NetWare 5.1 或更新的版本中,如何安装,é…置,以åŠè¿è¡Œ
+ Apache 2.0 。
+ </p>
+
+ <p>å‚è§: <a href="netware.html">在 Novell NetWare 中使用 Apache</a></p>
+ </dd>
+ </dl>
+
+ <dl>
+ <dt>EBCDIC</dt>
+ <dd>
+ <p>从 Apache HTTP 版本 1.3 开始支æŒä½¿ç”¨ EBCDIC 字符集作为原生字符集的(éž ASCII)主机。</p>
+
+ <div class="warning"><strong>警告:</strong>
+ 这篇文档尚未完全更新,以å映自 Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.0
+ 之åŽçš„修改。æŸäº›ä¿¡æ¯å¯èƒ½ä»æ—§é€‚用,但请å°å¿ƒä½¿ç”¨å®ƒã€‚</div>
+
+ <p>å‚è§: <a href="ebcdic.html">Apache 与 EBCDIC 系统</a></p>
+ </dd>
+ </dl>
+
+ </div></div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/platform/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../ko/platform/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../zh-cn/platform/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/platform/netware.html.en b/docs/manual/platform/netware.html.en
index 541542db..ff82867e 100644
--- a/docs/manual/platform/netware.html.en
+++ b/docs/manual/platform/netware.html.en
@@ -654,6 +654,6 @@
<p><span>Available Languages: </span><a href="../en/platform/netware.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/platform/netware.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/platform/netware.html.ko.euc-kr b/docs/manual/platform/netware.html.ko.euc-kr
index 57b96bc2..c1c5ce6b 100644
--- a/docs/manual/platform/netware.html.ko.euc-kr
+++ b/docs/manual/platform/netware.html.ko.euc-kr
@@ -576,6 +576,6 @@
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/platform/netware.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/platform/netware.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/platform/perf-hp.html.en b/docs/manual/platform/perf-hp.html.en
index 19fcf97e..d9c95fc7 100644
--- a/docs/manual/platform/perf-hp.html.en
+++ b/docs/manual/platform/perf-hp.html.en
@@ -100,6 +100,6 @@ Subject: HP-UX tuning tips
<p><span>Available Languages: </span><a href="../en/platform/perf-hp.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/platform/perf-hp.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/platform/perf-hp.html.ko.euc-kr b/docs/manual/platform/perf-hp.html.ko.euc-kr
index b8d8a4a0..fcc6ac08 100644
--- a/docs/manual/platform/perf-hp.html.ko.euc-kr
+++ b/docs/manual/platform/perf-hp.html.ko.euc-kr
@@ -97,6 +97,6 @@ Subject: HP-UX tuning tips
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/platform/perf-hp.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/platform/perf-hp.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/platform/win_compiling.html.en b/docs/manual/platform/win_compiling.html.en
index 1d06f459..5ce31534 100644
--- a/docs/manual/platform/win_compiling.html.en
+++ b/docs/manual/platform/win_compiling.html.en
@@ -414,6 +414,6 @@
<p><span>Available Languages: </span><a href="../en/platform/win_compiling.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/platform/win_compiling.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/platform/win_compiling.html.ko.euc-kr b/docs/manual/platform/win_compiling.html.ko.euc-kr
index 57c8c8f4..dbe18c42 100644
--- a/docs/manual/platform/win_compiling.html.ko.euc-kr
+++ b/docs/manual/platform/win_compiling.html.ko.euc-kr
@@ -418,6 +418,6 @@ nmake /f Makefile.win installd INSTDIR=<em>dir</em>
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/platform/win_compiling.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/platform/win_compiling.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/platform/windows.html.en b/docs/manual/platform/windows.html.en
index a26a1c2e..692d2631 100644
--- a/docs/manual/platform/windows.html.en
+++ b/docs/manual/platform/windows.html.en
@@ -42,6 +42,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#winsvc">Running Apache as a Service</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#wincons">Running Apache as a Console Application</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#test">Testing the Installation</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#windrivemap">Configuring Access to Network Resources</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
@@ -692,11 +693,56 @@
services include other WWW servers, some firewall implementations,
and even some client applications (such as Skype) which will use port
80 to attempt to bypass firewall issues.</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="windrivemap" id="windrivemap">Configuring Access to Network Resources</a></h2>
+
+
+ <p>Access to files over the network can be specified using two
+ mechanisms provided by Windows:</p>
+
+ <dl>
+ <dt>Mapped drive letters</dt>
+ <dd>e.g., <code>Alias /images/ Z:/</code></dd>
+
+ <dt>UNC paths</dt>
+ <dd>e.g., <code>Alias /images/ //imagehost/www/images/</code></dd>
+ </dl>
+
+ <p>Mapped drive letters allow the administrator to maintain the
+ mapping to a specific machine and path outside of the Apache httpd
+ configuration. However, these mappings are associated only with
+ interactive sessions and are not directly available to Apache httpd
+ when it is started as a service. <strong>Use only UNC paths for
+ network resources in httpd.conf</strong> so that the resources can
+ be accessed consistently regardless of how Apache httpd is started.
+ (Arcane and error prone procedures may work around the restriction
+ on mapped drive letters, but this is not recommended.)</p>
+
+ <div class="example"><h3>Example DocumentRoot with UNC path</h3><p><code>
+ DocumentRoot //dochost/www/html/
+ </code></p></div>
+
+ <div class="example"><h3>Example DocumentRoot with IP address in UNC path</h3><p><code>
+ DocumentRoot //192.168.1.50/docs/<br />
+ </code></p></div>
+
+ <div class="example"><h3>Example Alias and corresponding Directory with UNC path</h3><p><code>
+ Alias /images/ //imagehost/www/images/<br />
+ <br />
+ &lt;Directory //imagehost/www/images/&gt;<br />
+ ...<br />
+ &lt;Directory&gt;<br />
+ </code></p></div>
+
+ <p>When running Apache httpd as a service, you must create a
+ separate account in order to access network resources, as described
+ above.</p>
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/platform/windows.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/platform/windows.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/platform/windows.html.ko.euc-kr b/docs/manual/platform/windows.html.ko.euc-kr
index ced5d334..1e814e56 100644
--- a/docs/manual/platform/windows.html.ko.euc-kr
+++ b/docs/manual/platform/windows.html.ko.euc-kr
@@ -683,6 +683,6 @@
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/platform/windows.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/platform/windows.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/ab.html.en b/docs/manual/programs/ab.html.en
index 09691c1f..7399734a 100644
--- a/docs/manual/programs/ab.html.en
+++ b/docs/manual/programs/ab.html.en
@@ -217,6 +217,6 @@
<a href="../ko/programs/ab.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/ab.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/ab.html.ko.euc-kr b/docs/manual/programs/ab.html.ko.euc-kr
index d61516af..e5465eff 100644
--- a/docs/manual/programs/ab.html.ko.euc-kr
+++ b/docs/manual/programs/ab.html.ko.euc-kr
@@ -198,6 +198,6 @@
<a href="../ko/programs/ab.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/ab.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/ab.html.tr.utf8 b/docs/manual/programs/ab.html.tr.utf8
index 50d90da5..161ee84c 100644
--- a/docs/manual/programs/ab.html.tr.utf8
+++ b/docs/manual/programs/ab.html.tr.utf8
@@ -241,6 +241,6 @@
<a href="../ko/programs/ab.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/ab.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/apachectl.html.en b/docs/manual/programs/apachectl.html.en
index 37ac2b2b..df516bb5 100644
--- a/docs/manual/programs/apachectl.html.en
+++ b/docs/manual/programs/apachectl.html.en
@@ -155,6 +155,6 @@ use the normal <code>apachectl start</code>.</dd>
<a href="../ko/programs/apachectl.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/apachectl.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/apachectl.html.ko.euc-kr b/docs/manual/programs/apachectl.html.ko.euc-kr
index e8b95b7c..3c24ab0e 100644
--- a/docs/manual/programs/apachectl.html.ko.euc-kr
+++ b/docs/manual/programs/apachectl.html.ko.euc-kr
@@ -141,6 +141,6 @@ Ok</code> ȤÀº ƯÁ¤ ¼³Á¤¿À·ù¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾Ë·ÁÁØ´Ù.
<a href="../ko/programs/apachectl.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/apachectl.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/apachectl.html.tr.utf8 b/docs/manual/programs/apachectl.html.tr.utf8
index 1426e879..80be5bfe 100644
--- a/docs/manual/programs/apachectl.html.tr.utf8
+++ b/docs/manual/programs/apachectl.html.tr.utf8
@@ -162,6 +162,6 @@
<a href="../ko/programs/apachectl.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/apachectl.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/apxs.html.en b/docs/manual/programs/apxs.html.en
index b736f7a4..5155d52c 100644
--- a/docs/manual/programs/apxs.html.en
+++ b/docs/manual/programs/apxs.html.en
@@ -327,6 +327,6 @@
<a href="../ko/programs/apxs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/apxs.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/apxs.html.ko.euc-kr b/docs/manual/programs/apxs.html.ko.euc-kr
index 18191eef..8e9832ab 100644
--- a/docs/manual/programs/apxs.html.ko.euc-kr
+++ b/docs/manual/programs/apxs.html.ko.euc-kr
@@ -321,6 +321,6 @@
<a href="../ko/programs/apxs.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/apxs.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/apxs.html.tr.utf8 b/docs/manual/programs/apxs.html.tr.utf8
index 82faa60a..04fd9e8f 100644
--- a/docs/manual/programs/apxs.html.tr.utf8
+++ b/docs/manual/programs/apxs.html.tr.utf8
@@ -349,6 +349,6 @@
<a href="../ko/programs/apxs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/apxs.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/configure.html.en b/docs/manual/programs/configure.html.en
index ee0a8f84..bf2ba8d0 100644
--- a/docs/manual/programs/configure.html.en
+++ b/docs/manual/programs/configure.html.en
@@ -305,7 +305,7 @@
<dd>Disable support for as-is filetypes, which is provided by
<code class="module"><a href="../mod/mod_asis.html">mod_asis</a></code>.</dd>
- <dt><code>--disable-auth</code></dt>
+ <dt><code>--disable-auth-basic</code></dt>
<dd>Disable user-based access control provided by
<code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code>. This module provides for HTTP Basic
Authentication, where the usernames and passwords are stored in
@@ -398,15 +398,20 @@
below.</p>
<dl>
- <dt><code>--enable-auth-anon</code></dt>
+ <dt><code>--enable-authn-anon</code></dt>
<dd>Enable anonymous user access provided by
<code class="module"><a href="../mod/mod_auth_anon.html">mod_auth_anon</a></code>.</dd>
- <dt><code>--enable-auth-dbm</code></dt>
- <dd><code class="module"><a href="../mod/mod_auth_dbm.html">mod_auth_dbm</a></code> provides for HTTP Basic
+ <dt><code>--enable-authn-dbm</code></dt>
+ <dd><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> provides for HTTP Basic
Authentication, where the usernames and passwords are stored in DBM
type database files. Use this option to enable the module.</dd>
+ <dt><code>--enable-authz-dbm</code></dt>
+ <dd><code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> provides for HTTP Basic
+ Authorization, where the usernames and groups are stored in DBM
+ type database files. Use this option to enable the module.</dd>
+
<dt><code>--enable-auth-digest</code></dt>
<dd>Enable RFC2617 Digest authentication provided by
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>. This module uses plain text files
@@ -781,7 +786,8 @@
</dl>
<p>Several features of the Apache HTTP Server, including
- <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> and <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>'s DBM
+ <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>, <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>, and
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>'s DBM
<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> use simple
key/value databases for quick lookups of information. SDBM is included
in the APU, so this database is always available. If you would like to
@@ -946,6 +952,6 @@
<a href="../ko/programs/configure.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/configure.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/configure.html.ko.euc-kr b/docs/manual/programs/configure.html.ko.euc-kr
index cd228806..2b4e78bb 100644
--- a/docs/manual/programs/configure.html.ko.euc-kr
+++ b/docs/manual/programs/configure.html.ko.euc-kr
@@ -927,6 +927,6 @@
<a href="../ko/programs/configure.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/configure.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/configure.html.tr.utf8 b/docs/manual/programs/configure.html.tr.utf8
index 4f60a6e8..aa986fdf 100644
--- a/docs/manual/programs/configure.html.tr.utf8
+++ b/docs/manual/programs/configure.html.tr.utf8
@@ -317,7 +317,7 @@
<dd><code class="module"><a href="../mod/mod_asis.html">mod_asis</a></code> modülü tarafından sağlanan kendinden
HTTP başlıklı dosya türü desteğini iptal eder.</dd>
- <dt><code>--disable-auth</code></dt>
+ <dt><code>--disable-auth-basic</code></dt>
<dd><code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code> modülü tarafından sağlanan kullanıcıya
dayalı erişim denetimi iptal edilir. Bu modül, kullanıcı isminin ve
parolasının salt metin dosyalarda saklandığı Temel HTTP Kimlik
@@ -413,12 +413,18 @@
etkinleştirmek için aşağıdaki seçenekleri kullanabilirsiniz.</p>
<dl>
- <dt><code>--enable-auth-anon</code></dt>
+ <dt><code>--enable-authn-anon</code></dt>
<dd><code class="module"><a href="../mod/mod_auth_anon.html">mod_auth_anon</a></code> modülünün sağladığı anonim
kullanıcı erişimi etkin kılınır.</dd>
- <dt><code>--enable-auth-dbm</code></dt>
- <dd><code class="module"><a href="../mod/mod_auth_dbm.html">mod_auth_dbm</a></code> modülü kullanıcı isimlerinin ve
+ <dt><code>--enable-authn-dbm</code></dt>
+ <dd><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> modülü kullanıcı isimlerinin ve
+ parolalarının DBM türü veritabanı dosyalarında saklandığı HTTP Temel
+ Kimlik Kanıtlaması için destek sağlar. Bu seçeneği bu modülü etkin
+ kılmak için kullanabilirsiniz.</dd>
+
+ <dt><code>--enable-authz-dbm</code></dt>
+ <dd><code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> modülü kullanıcı isimlerinin ve
parolalarının DBM türü veritabanı dosyalarında saklandığı HTTP Temel
Kimlik Kanıtlaması için destek sağlar. Bu seçeneği bu modülü etkin
kılmak için kullanabilirsiniz.</dd>
@@ -816,7 +822,8 @@
</dl>
<p>Apache HTTP Sunucusunun çeşitli bölümleri,
- <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> modülü ve <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>, <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> ve
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
modülünün <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
yönergesi bilgilere erişimi hızlandırmak için basit anahtar/değer
veritabanları kullanırlar. SDBM, APU içinde mevcut olduğundan bu
@@ -1012,6 +1019,6 @@
<a href="../ko/programs/configure.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/configure.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/dbmmanage.html.en b/docs/manual/programs/dbmmanage.html.en
index 410ca268..a3bbe26a 100644
--- a/docs/manual/programs/dbmmanage.html.en
+++ b/docs/manual/programs/dbmmanage.html.en
@@ -188,6 +188,6 @@
<a href="../ko/programs/dbmmanage.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/dbmmanage.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/dbmmanage.html.ko.euc-kr b/docs/manual/programs/dbmmanage.html.ko.euc-kr
index 711210b3..2833e2c5 100644
--- a/docs/manual/programs/dbmmanage.html.ko.euc-kr
+++ b/docs/manual/programs/dbmmanage.html.ko.euc-kr
@@ -169,6 +169,6 @@
<a href="../ko/programs/dbmmanage.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/dbmmanage.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/dbmmanage.html.tr.utf8 b/docs/manual/programs/dbmmanage.html.tr.utf8
index 9695ba0d..58c25b03 100644
--- a/docs/manual/programs/dbmmanage.html.tr.utf8
+++ b/docs/manual/programs/dbmmanage.html.tr.utf8
@@ -204,6 +204,6 @@
<a href="../ko/programs/dbmmanage.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/dbmmanage.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/htcacheclean.html.en b/docs/manual/programs/htcacheclean.html.en
index 3384ce2c..6561ad11 100644
--- a/docs/manual/programs/htcacheclean.html.en
+++ b/docs/manual/programs/htcacheclean.html.en
@@ -117,6 +117,6 @@
<a href="../ko/programs/htcacheclean.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/htcacheclean.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/htcacheclean.html.ko.euc-kr b/docs/manual/programs/htcacheclean.html.ko.euc-kr
index 26e37c64..62cfceec 100644
--- a/docs/manual/programs/htcacheclean.html.ko.euc-kr
+++ b/docs/manual/programs/htcacheclean.html.ko.euc-kr
@@ -110,6 +110,6 @@
<a href="../ko/programs/htcacheclean.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/htcacheclean.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/htcacheclean.html.tr.utf8 b/docs/manual/programs/htcacheclean.html.tr.utf8
index 1a7dafef..9c06b457 100644
--- a/docs/manual/programs/htcacheclean.html.tr.utf8
+++ b/docs/manual/programs/htcacheclean.html.tr.utf8
@@ -121,6 +121,6 @@
<a href="../ko/programs/htcacheclean.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/htcacheclean.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/htdbm.html.en b/docs/manual/programs/htdbm.html.en
index 23c303d3..cbf242fc 100644
--- a/docs/manual/programs/htdbm.html.en
+++ b/docs/manual/programs/htdbm.html.en
@@ -278,6 +278,6 @@
<p><span>Available Languages: </span><a href="../en/programs/htdbm.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../tr/programs/htdbm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/htdbm.html.tr.utf8 b/docs/manual/programs/htdbm.html.tr.utf8
index 9163b535..43842758 100644
--- a/docs/manual/programs/htdbm.html.tr.utf8
+++ b/docs/manual/programs/htdbm.html.tr.utf8
@@ -285,6 +285,6 @@
<p><span>Mevcut Diller: </span><a href="../en/programs/htdbm.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../tr/programs/htdbm.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/htdigest.html.en b/docs/manual/programs/htdigest.html.en
index c99b35da..e04c6f70 100644
--- a/docs/manual/programs/htdigest.html.en
+++ b/docs/manual/programs/htdigest.html.en
@@ -75,6 +75,6 @@
<a href="../ko/programs/htdigest.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/htdigest.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/htdigest.html.ko.euc-kr b/docs/manual/programs/htdigest.html.ko.euc-kr
index 3a30736e..e424882f 100644
--- a/docs/manual/programs/htdigest.html.ko.euc-kr
+++ b/docs/manual/programs/htdigest.html.ko.euc-kr
@@ -72,6 +72,6 @@
<a href="../ko/programs/htdigest.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/htdigest.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/htdigest.html.tr.utf8 b/docs/manual/programs/htdigest.html.tr.utf8
index b37092a8..6f5c1845 100644
--- a/docs/manual/programs/htdigest.html.tr.utf8
+++ b/docs/manual/programs/htdigest.html.tr.utf8
@@ -79,6 +79,6 @@
<a href="../ko/programs/htdigest.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/htdigest.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/htpasswd.html.en b/docs/manual/programs/htpasswd.html.en
index 3772d8d8..aef34c18 100644
--- a/docs/manual/programs/htpasswd.html.en
+++ b/docs/manual/programs/htpasswd.html.en
@@ -105,14 +105,12 @@ distribution.</li></ul></div>
one) is omitted. It cannot be combined with the <code>-c</code> option.</dd>
<dt><code>-m</code></dt>
- <dd>Use MD5 encryption for passwords. On Windows, Netware and TPF, this is
- the default.</dd>
+ <dd>Use MD5 encryption for passwords. This is the default.</dd>
<dt><code>-d</code></dt>
- <dd>Use <code>crypt()</code> encryption for passwords. The default on all
- platforms but Windows, Netware and TPF. Though possibly supported by
- <code>htpasswd</code> on all platforms, it is not supported by the
- <code class="program"><a href="../programs/httpd.html">httpd</a></code> server on Windows, Netware and TPF.</dd>
+ <dd>Use <code>crypt()</code> encryption for passwords. This is not
+ supported by the <code class="program"><a href="../programs/httpd.html">httpd</a></code> server on Windows and
+ Netware and TPF.</dd>
<dt><code>-s</code></dt>
<dd>Use SHA encryption for passwords. Facilitates migration from/to Netscape
@@ -163,10 +161,9 @@ distribution.</li></ul></div>
</code></p></div>
<p>Adds or modifies the password for user <code>jsmith</code>. 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 <code>crypt()</code> routine will be used. If the file does not
- exist, <code>htpasswd</code> will do nothing except return an error.</p>
+ is prompted for the password. The password will be encrypted using the
+ modified Apache MD5 algorithm. If the file does not exist,
+ <code>htpasswd</code> will do nothing except return an error.</p>
<div class="example"><p><code>
htpasswd -c /home/doe/public_html/.htpasswd jane
@@ -178,11 +175,12 @@ distribution.</li></ul></div>
will display a message and return an error status.</p>
<div class="example"><p><code>
- htpasswd -mb /usr/web/.htpasswd-all jones Pwd4Steve
+ htpasswd -db /usr/web/.htpasswd-all jones Pwd4Steve
</code></p></div>
<p>Encrypts the password from the command line (<code>Pwd4Steve</code>)
- using the MD5 algorithm, and stores it in the specified file.</p>
+ using the <code>crypt()</code> algorithm, and stores it in the specified
+ file.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="security" id="security">Security Considerations</a></h2>
@@ -224,6 +222,6 @@ distribution.</li></ul></div>
<a href="../ko/programs/htpasswd.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/htpasswd.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/htpasswd.html.ko.euc-kr b/docs/manual/programs/htpasswd.html.ko.euc-kr
index 7e4ad90f..4983845f 100644
--- a/docs/manual/programs/htpasswd.html.ko.euc-kr
+++ b/docs/manual/programs/htpasswd.html.ko.euc-kr
@@ -214,6 +214,6 @@
<a href="../ko/programs/htpasswd.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/htpasswd.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/htpasswd.html.tr.utf8 b/docs/manual/programs/htpasswd.html.tr.utf8
index 9e9eebd9..3030ca38 100644
--- a/docs/manual/programs/htpasswd.html.tr.utf8
+++ b/docs/manual/programs/htpasswd.html.tr.utf8
@@ -111,15 +111,12 @@
<code><strong>-c</strong></code> seçeneği ile birlikte kullanılamaz.</dd>
<dt><code><strong>-m</strong></code></dt>
- <dd>Parolalar için MD5 şifrelemesi kullanılır. Windows, Netware ve TPF
- için öntanımlıdır.</dd>
+ <dd>Parolalar için MD5 şifrelemesi kullanılır ve bu öntanımlıdır.</dd>
<dt><code><strong>-d</strong></code></dt>
<dd>Parolaları şifrelemek için <code>crypt()</code> kullanılır. Windows,
- Netware ve TPF dışında öntanımlıdır.
- <code><strong>htpasswd</strong></code> tarafından tüm platformlarda
- destekleniyor olsa da Windows, Netware ve TPF üzerinde
- <code class="program"><a href="../programs/httpd.html">httpd</a></code> sunucusu tarafından desteklenmez.</dd>
+ Netware ve TPF üzerinde <code class="program"><a href="../programs/httpd.html">httpd</a></code> sunucusu tarafından
+ desteklenmez.</dd>
<dt><code><strong>-s</strong></code></dt>
<dd>Parolalar için SHA şifrelemesi kullanılır. LDAP Dizin değişim
@@ -172,11 +169,10 @@
</code></p></div>
<p><code>jsmith</code> kullanıcısı için parolayı ekler veya değiştirir.
- Parolayı vermesi için kullanıcıya parola isteği yapılır. Windows üzerinde
- çalıştırılırsa parola Apache MD5 algoritması ile şifrelenir, aksi
- takdirde sistemin <code>crypt()</code> yordamı kullanılır. Dosya mevcut
- değilse <code><strong>htpasswd</strong></code> beklenen hiçbir işlemi
- yapmadan bir hata vererek çıkar.</p>
+ Parolayı vermesi için kullanıcıya parola isteği yapılır. Parola Apache MD5
+ algoritması ile şifrelenir. Dosya mevcut değilse
+ <code><strong>htpasswd</strong></code> beklenen hiçbir işlemi yapmadan bir
+ hata vererek çıkar.</p>
<div class="example"><p><code>
htpasswd -c /home/doe/public_html/.htpasswd jane
@@ -189,11 +185,12 @@
ile çıkar.</p>
<div class="example"><p><code>
- htpasswd -mb /usr/web/.htpasswd-all jones Pwd4Steve
+ htpasswd -db /usr/web/.htpasswd-all jones Pwd4Steve
</code></p></div>
- <p>Komut satırından verilen parolayı (<code>Pwd4Steve</code>) MD5
- algoritmasıyla şifreler ve bunu belirtilen dosyada saklar.</p>
+ <p>Komut satırından verilen parolayı (<code>Pwd4Steve</code>)
+ <code>crypt()</code> algoritmasıyla şifreler ve bunu belirtilen dosyada
+ saklar.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="security" id="security">Güvenlik Değerlendirmeleri</a></h2>
@@ -236,6 +233,6 @@
<a href="../ko/programs/htpasswd.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/htpasswd.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/httpd.html.en b/docs/manual/programs/httpd.html.en
index b388b263..5b6595be 100644
--- a/docs/manual/programs/httpd.html.en
+++ b/docs/manual/programs/httpd.html.en
@@ -198,6 +198,6 @@ be read.</dd>
<a href="../ko/programs/httpd.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/httpd.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/httpd.html.ko.euc-kr b/docs/manual/programs/httpd.html.ko.euc-kr
index b8943c97..94ebb1a2 100644
--- a/docs/manual/programs/httpd.html.ko.euc-kr
+++ b/docs/manual/programs/httpd.html.ko.euc-kr
@@ -185,6 +185,6 @@
<a href="../ko/programs/httpd.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/httpd.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/httpd.html.tr.utf8 b/docs/manual/programs/httpd.html.tr.utf8
index 5afd86ff..cd80f328 100644
--- a/docs/manual/programs/httpd.html.tr.utf8
+++ b/docs/manual/programs/httpd.html.tr.utf8
@@ -186,6 +186,6 @@
<a href="../ko/programs/httpd.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/httpd.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/httxt2dbm.html.en b/docs/manual/programs/httxt2dbm.html.en
index c5742b33..3a8996da 100644
--- a/docs/manual/programs/httxt2dbm.html.en
+++ b/docs/manual/programs/httxt2dbm.html.en
@@ -80,6 +80,6 @@
<p><span>Available Languages: </span><a href="../en/programs/httxt2dbm.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../tr/programs/httxt2dbm.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/httxt2dbm.html.tr.utf8 b/docs/manual/programs/httxt2dbm.html.tr.utf8
index 40eb9e34..37dbab39 100644
--- a/docs/manual/programs/httxt2dbm.html.tr.utf8
+++ b/docs/manual/programs/httxt2dbm.html.tr.utf8
@@ -80,6 +80,6 @@
<p><span>Mevcut Diller: </span><a href="../en/programs/httxt2dbm.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../tr/programs/httxt2dbm.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/index.html b/docs/manual/programs/index.html
index 2f5b561b..cb303a01 100644
--- a/docs/manual/programs/index.html
+++ b/docs/manual/programs/index.html
@@ -19,3 +19,7 @@ Content-type: text/html; charset=KOI8-R
URI: index.html.tr.utf8
Content-Language: tr
Content-type: text/html; charset=UTF-8
+
+URI: index.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/programs/index.html.en b/docs/manual/programs/index.html.en
index 45a15324..58182644 100644
--- a/docs/manual/programs/index.html.en
+++ b/docs/manual/programs/index.html.en
@@ -22,7 +22,8 @@
<a href="../es/programs/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ko/programs/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/programs/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/programs/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/programs/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/programs/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>This page documents all the executable programs included
@@ -101,8 +102,9 @@
<a href="../es/programs/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ko/programs/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/programs/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/programs/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/programs/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/programs/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/index.html.es b/docs/manual/programs/index.html.es
index a8375f2e..463e75ef 100644
--- a/docs/manual/programs/index.html.es
+++ b/docs/manual/programs/index.html.es
@@ -22,7 +22,8 @@
<a href="../es/programs/" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ko/programs/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/programs/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/programs/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/programs/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/programs/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">Esta traducción podría estar
obsoleta. Consulte la versión en inglés de la
@@ -97,8 +98,9 @@
<a href="../es/programs/" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ko/programs/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/programs/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/programs/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/programs/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/programs/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="../faq/">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/index.html.ko.euc-kr b/docs/manual/programs/index.html.ko.euc-kr
index eb7f2c7b..f7c5e860 100644
--- a/docs/manual/programs/index.html.ko.euc-kr
+++ b/docs/manual/programs/index.html.ko.euc-kr
@@ -22,7 +22,8 @@
<a href="../es/programs/" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="../ko/programs/" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/programs/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/programs/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/programs/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/programs/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
@@ -93,8 +94,9 @@
<a href="../es/programs/" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="../ko/programs/" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/programs/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/programs/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/programs/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/programs/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/index.html.ru.koi8-r b/docs/manual/programs/index.html.ru.koi8-r
index ab33e76a..35cb66e7 100644
--- a/docs/manual/programs/index.html.ru.koi8-r
+++ b/docs/manual/programs/index.html.ru.koi8-r
@@ -22,7 +22,8 @@
<a href="../es/programs/" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="../ko/programs/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/programs/" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/programs/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/programs/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/programs/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>üÔÏÔ ÄÏËÕÍÅÎÔ ÏÐÉÓÙ×ÁÅÔ ÎÁÚÎÁÞÅÎÉÅ É ÉÐÏÌØÚÏ×ÁÎÉÅ
@@ -95,8 +96,9 @@
<a href="../es/programs/" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="../ko/programs/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/programs/" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/programs/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/programs/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/programs/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">íÏÄÕÌÉ</a> | <a href="../mod/directives.html">äÉÒÅËÔÉ×Ù</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">çÌÏÓÓÁÒÉÊ</a> | <a href="../sitemap.html">ëÁÒÔÁ ÓÁÊÔÁ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/index.html.tr.utf8 b/docs/manual/programs/index.html.tr.utf8
index 3c0fc714..25638ea9 100644
--- a/docs/manual/programs/index.html.tr.utf8
+++ b/docs/manual/programs/index.html.tr.utf8
@@ -22,7 +22,8 @@
<a href="../es/programs/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ko/programs/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/programs/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/programs/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/programs/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/programs/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Bu sayfada Apache HTTP Sunucusuna dahil tüm çalıştırılabilir programlar tanıtılmıştır.</p>
@@ -96,8 +97,9 @@
<a href="../es/programs/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ko/programs/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/programs/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/programs/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/programs/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/programs/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/index.html.zh-cn b/docs/manual/programs/index.html.zh-cn
new file mode 100644
index 00000000..df66924a
--- /dev/null
+++ b/docs/manual/programs/index.html.zh-cn
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache HTTP æœåŠ¡å™¨ä¸Žæ”¯æŒç¨‹åº - Apache HTTP æœåŠ¡å™¨</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page" class="no-sidebar"><div id="page-header">
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache HTTP æœåŠ¡å™¨ä¸Žæ”¯æŒç¨‹åº</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/programs/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/programs/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="../ko/programs/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../ru/programs/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
+<a href="../tr/programs/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/programs/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+ <p>本页æ述了 Apache HTTP æœåŠ¡å™¨åŒ…å«çš„所有å¯æ‰§è¡Œç¨‹åºã€‚</p>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="index" id="index">索引</a></h2>
+
+ <dl>
+ <dt><code class="program"><a href="../programs/httpd.html">httpd</a></code></dt>
+
+ <dd>Apache æœåŠ¡å™¨ã€‚</dd>
+
+ <dt><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></dt>
+
+ <dd>Apache HTTP æœåŠ¡å™¨æŽ§åˆ¶å·¥å…·ã€‚</dd>
+
+ <dt><code class="program"><a href="../programs/ab.html">ab</a></code></dt>
+
+ <dd>Apache HTTP æœåŠ¡å™¨æ€§èƒ½åŸºå‡†å·¥å…·ã€‚</dd>
+
+ <dt><code class="program"><a href="../programs/apxs.html">apxs</a></code></dt>
+
+ <dd>Apache 扩展工具。</dd>
+
+ <dt><code class="program"><a href="../programs/configure.html">configure</a></code></dt>
+
+ <dd>é…ç½®æºä»£ç ã€‚</dd>
+
+ <dt><code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code></dt>
+
+ <dd>为基本认è¯åˆ›å»ºå’Œæ›´æ–° DBM æ ¼å¼çš„用户认è¯æ–‡ä»¶ã€‚</dd>
+
+ <dt><code class="program"><a href="../programs/htcacheclean.html">htcacheclean</a></code></dt>
+ <dd>清ç†ç£ç›˜ç¼“存。</dd>
+
+ <dt><code class="program"><a href="../programs/htdigest.html">htdigest</a></code></dt>
+
+ <dd>为摘è¦è®¤è¯åˆ›å»ºå’Œæ›´æ–°ç”¨æˆ·è®¤è¯æ–‡ä»¶ã€‚</dd>
+
+ <dt><code class="program"><a href="../programs/htdbm.html">htdbm</a></code></dt>
+
+ <dd>æ“作 DBM 密ç æ•°æ®åº“。</dd>
+
+ <dt><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code></dt>
+
+ <dd>为基本认è¯åˆ›å»ºå’Œæ›´æ–°ç”¨æˆ·è®¤è¯æ–‡ä»¶ã€‚</dd>
+
+ <dt><code class="program"><a href="../programs/httxt2dbm.html">httxt2dbm</a></code></dt>
+
+ <dd>为 RewriteMap 创建 dbm 文件。</dd>
+
+ <dt><code class="program"><a href="../programs/logresolve.html">logresolve</a></code></dt>
+
+ <dd>å°† Apache 日志文件中的 IP 地å€è§£æžåˆ°ä¸»æœºå称。</dd>
+
+ <dt><code class="program"><a href="../programs/rotatelogs.html">rotatelogs</a></code></dt>
+
+ <dd>ä¸å…³é—­ Apache 而切æ¢æ—¥å¿—文件。</dd>
+
+ <dt><code class="program"><a href="../programs/suexec.html">suexec</a></code></dt>
+
+ <dd>执行外部程åºå‰åˆ‡æ¢ç”¨æˆ·ã€‚</dd>
+
+ <dt><a href="other.html">其它程åº</a></dt>
+ <dd>没有手册页的支æŒå·¥å…·ã€‚</dd>
+ </dl>
+</div></div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/programs/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/programs/" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="../ko/programs/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../ru/programs/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
+<a href="../tr/programs/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/programs/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/logresolve.html.en b/docs/manual/programs/logresolve.html.en
index afe5ceeb..311dad49 100644
--- a/docs/manual/programs/logresolve.html.en
+++ b/docs/manual/programs/logresolve.html.en
@@ -69,6 +69,6 @@ original address.</dd>
<a href="../ko/programs/logresolve.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/logresolve.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/logresolve.html.ko.euc-kr b/docs/manual/programs/logresolve.html.ko.euc-kr
index 0b94a5fc..2cca2254 100644
--- a/docs/manual/programs/logresolve.html.ko.euc-kr
+++ b/docs/manual/programs/logresolve.html.ko.euc-kr
@@ -66,6 +66,6 @@ IP ÁּҷΠȣ½ºÆ®¸íÀ» ãÀºÈÄ ±× È£½ºÆ®¸íÀ¸·Î ´Ù½Ã IP ÁÖ¼ÒµéÀ»
<a href="../ko/programs/logresolve.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/logresolve.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/logresolve.html.tr.utf8 b/docs/manual/programs/logresolve.html.tr.utf8
index ac3d8fd5..78558a02 100644
--- a/docs/manual/programs/logresolve.html.tr.utf8
+++ b/docs/manual/programs/logresolve.html.tr.utf8
@@ -66,6 +66,6 @@
<a href="../ko/programs/logresolve.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/logresolve.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/other.html.en b/docs/manual/programs/other.html.en
index b349a290..afb7c3a6 100644
--- a/docs/manual/programs/other.html.en
+++ b/docs/manual/programs/other.html.en
@@ -59,6 +59,6 @@
<a href="../ko/programs/other.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/other.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/other.html.ko.euc-kr b/docs/manual/programs/other.html.ko.euc-kr
index 249fa0cb..54dd9848 100644
--- a/docs/manual/programs/other.html.ko.euc-kr
+++ b/docs/manual/programs/other.html.ko.euc-kr
@@ -56,6 +56,6 @@
<a href="../ko/programs/other.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/other.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/other.html.tr.utf8 b/docs/manual/programs/other.html.tr.utf8
index 90c174c9..0fcb474a 100644
--- a/docs/manual/programs/other.html.tr.utf8
+++ b/docs/manual/programs/other.html.tr.utf8
@@ -59,6 +59,6 @@
<a href="../ko/programs/other.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/other.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/rotatelogs.html.en b/docs/manual/programs/rotatelogs.html.en
index de726ca0..51b146f5 100644
--- a/docs/manual/programs/rotatelogs.html.en
+++ b/docs/manual/programs/rotatelogs.html.en
@@ -67,7 +67,7 @@ causes problems from some automated logging tools).
<dt><code><var>logfile</var></code></dt>
-<dd>The path plus basename of the logfile. If <var>logfile</var>
+<dd><p>The path plus basename of the logfile. If <var>logfile</var>
includes any '%' characters, it is treated as a format string for
<code>strftime(3)</code>. Otherwise, the suffix
<var>.nnnnnnnnnn</var> is automatically added and is the time in
@@ -75,7 +75,17 @@ seconds. 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
<code>strftime(3)</code> format will all be zero, referring to the
-beginning of the current 24-hour period (midnight).</dd>
+beginning of the current 24-hour period (midnight).</p>
+<p>When using <code>strftime(3)</code> 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 <var>logfile</var> was
+<code>/var/logs/errorlog.%Y-%m-%d</code> 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.</p>
+</dd>
<dt><code><var>rotationtime</var></code></dt>
@@ -179,6 +189,6 @@ extensions.</p>
<a href="../ko/programs/rotatelogs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/rotatelogs.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/rotatelogs.html.ko.euc-kr b/docs/manual/programs/rotatelogs.html.ko.euc-kr
index 07abfb62..f1ef5e6b 100644
--- a/docs/manual/programs/rotatelogs.html.ko.euc-kr
+++ b/docs/manual/programs/rotatelogs.html.ko.euc-kr
@@ -142,6 +142,6 @@ GMT ½Ã°£Â÷°¡ º¯Çϴ ȯ°æ¿¡¼­ <code>-l</code>À» »ç¿ëÇÏ¸é ¿¹±âÄ¡
<a href="../ko/programs/rotatelogs.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/rotatelogs.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/rotatelogs.html.tr.utf8 b/docs/manual/programs/rotatelogs.html.tr.utf8
index 9ec452d3..214ce4f0 100644
--- a/docs/manual/programs/rotatelogs.html.tr.utf8
+++ b/docs/manual/programs/rotatelogs.html.tr.utf8
@@ -65,7 +65,7 @@
için geçerlidir.</em></dd>
<dt><code><var>dosyaismi</var></code></dt>
- <dd>Günlük dosyasının ismi yoluyla birlikte belirtilir.
+ <dd><p>Günlük dosyasının ismi yoluyla birlikte belirtilir.
<var>dosyaismi</var> '%' karakterleri içeriyorsa bunlar
<code>strftime(3)</code> biçem belirteçleri olarak ele alınır. Aksi
takdirde, özdevinimli olarak <var>.nnnnnnnnnn</var> uzantısı üretilir.
@@ -73,7 +73,15 @@
diliminin başlangıcına göre hesaplanır. Örneğin, döndürmenin 86400
saniyede bir yapılacağı belirtilmişse, <code>strftime(3)</code> biçeminde
oluşturulan saat, dakika ve saniye alanları, 24 saatlik sürenin
- başlangıcını (geceyarısı) göstermek üzere sıfırlarla doldurulur.</dd>
+ başlangıcını (geceyarısı) göstermek üzere sıfırlarla doldurulur.</p>
+ <p><code>strftime(3)</code> dosya ismi biçimlemesini kullanırken, günlük
+ dosyası biçiminin günlüğün her döndürülüşünde farklı bir dosya ismi üretecek
+ ayrıntılara sahip olmasın sağlamalısınız. Aksi takdirde, döndürme işlemi
+ sonucunda günlük yeni bir dosya yerine aynı dosyanın üzerine yazılacaktır.
+ Örneğin, <code><var>dosyaismi</var></code> olarak
+ <code>/var/logs/errorlog.%Y-%m-%d</code> belirtilmişse, günlük dosyası da 5
+ megabayta ulaşıyorsa, günlük döndürme ile aynı dosya ismi üretilir ve günlük
+ aynı dosyaya yazılmaya devam ederek bu boyut ikiye katlanır.</p></dd>
<dt><code><var>süre</var></code></dt>
<dd>Günlük dosyasının yenisinin kaç saniyede bir açılacağı belirtilir.
@@ -177,6 +185,6 @@
<a href="../ko/programs/rotatelogs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/rotatelogs.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/suexec.html.en b/docs/manual/programs/suexec.html.en
index 4bb69f31..a377c0a0 100644
--- a/docs/manual/programs/suexec.html.en
+++ b/docs/manual/programs/suexec.html.en
@@ -58,6 +58,6 @@ changeable only at compile time.</dd>
<a href="../ko/programs/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/suexec.html.ko.euc-kr b/docs/manual/programs/suexec.html.ko.euc-kr
index c439a355..1cbc95d6 100644
--- a/docs/manual/programs/suexec.html.ko.euc-kr
+++ b/docs/manual/programs/suexec.html.ko.euc-kr
@@ -59,6 +59,6 @@
<a href="../ko/programs/suexec.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/suexec.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/suexec.html.tr.utf8 b/docs/manual/programs/suexec.html.tr.utf8
index ca6555ca..b977a0f0 100644
--- a/docs/manual/programs/suexec.html.tr.utf8
+++ b/docs/manual/programs/suexec.html.tr.utf8
@@ -58,6 +58,6 @@
<a href="../ko/programs/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/suexec.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/rewrite_tech.html b/docs/manual/rewrite/access.html
index 18b37ed7..dad5faec 100644
--- a/docs/manual/rewrite/rewrite_tech.html
+++ b/docs/manual/rewrite/access.html
@@ -1,5 +1,5 @@
# GENERATED FROM XML -- DO NOT EDIT
-URI: rewrite_tech.html.en
+URI: access.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/rewrite/access.html.en b/docs/manual/rewrite/access.html.en
new file mode 100644
index 00000000..f13d733b
--- /dev/null
+++ b/docs/manual/rewrite/access.html.en
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Using mod_rewrite to control access - Apache HTTP Server</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Using mod_rewrite to control access</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/rewrite/access.html" title="English">&nbsp;en&nbsp;</a></p>
+</div>
+
+
+<p>This document supplements the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">reference documentation</a>. It describes
+how you can use <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> to control access to
+various resources, and other related techniques.
+This includes many examples of common uses of mod_rewrite,
+including detailed descriptions of how each works.</p>
+
+<div class="warning">Note that many of these examples won't work unchanged in your
+particular server configuration, so it's important that you understand
+them, rather than merely cutting and pasting the examples into your
+configuration.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#blocked-inline-images">Forbidding Image "Hotlinking"</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#blocking-of-robots">Blocking of Robots</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#host-deny">Denying Hosts in a Blacklist</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#referer-deflector">Referer-based Deflector</a></li>
+</ul><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module documentation</a></li><li><a href="intro.html">mod_rewrite introduction</a></li><li><a href="remapping.html">Redirection and remapping</a></li><li><a href="vhosts.html">Virtual hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Using RewriteMap</a></li><li><a href="advanced.html">Advanced techniques and tricks</a></li><li><a href="avoid.html">When not to use mod_rewrite</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="blocked-inline-images" id="blocked-inline-images">Forbidding Image "Hotlinking"</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>The following technique forbids the practice of other sites
+ including your images inline in their pages. This practice is
+ often referred to as "hotlinking", and results in
+ your bandwidth being used to serve content for someone else's
+ site.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>This technique relies on the value of the
+ <code>HTTP_REFERER</code> variable, which is optional. As
+ such, it's possible for some people to circumvent this
+ limitation. However, most users will experience the failed
+ request, which should, over time, result in the image being
+ removed from that other site.</p>
+ <p>There are several ways that you can handle this
+ situation.</p>
+
+ <p>In this first example, we simply deny the request, if it didn't
+ initiate from a page on our site. For the purpose of this example,
+ we assume that our site is <code>www.example.com</code>.</p>
+
+<div class="example"><p><code>
+RewriteCond %{HTTP_REFERER} <strong>!^$</strong><br />
+RewriteCond %{HTTP_REFERER} !www.example.com [NC]<br />
+RewriteRule <strong>\.(gif|jpg|png)$</strong> - [F,NC]
+</code></p></div>
+
+ <p>In this second example, instead of failing the request, we display
+ an alternate image instead.</p>
+
+<div class="example"><p><code>
+RewriteCond %{HTTP_REFERER} <strong>!^$</strong><br />
+RewriteCond %{HTTP_REFERER} !www.example.com [NC]<br />
+RewriteRule <strong>\.(gif|jpg|png)$</strong> /images/go-away.png [R,NC]
+</code></p></div>
+
+ <p>In the third example, we redirect the request to an image on some
+ other site.</p>
+
+<div class="example"><p><code>
+RewriteCond %{HTTP_REFERER} <strong>!^$</strong><br />
+RewriteCond %{HTTP_REFERER} !www.example.com [NC]<br />
+RewriteRule <strong>\.(gif|jpg|png)$</strong> http://other.example.com/image.gif [R,NC]
+</code></p></div>
+
+ <p>Of these techniques, the last two tend to be the most effective
+ in getting people to stop hotlinking your images, because they will
+ simply not see the image that they expected to see.</p>
+
+ </dd>
+
+ <dt>Discussion:</dt>
+
+ <dd>
+ <p>If all you wish to do is deny access to the resource, rather
+ than redirecting that request elsewhere, this can be
+ accomplished without the use of mod_rewrite:</p>
+
+ <div class="example"><p><code>
+ SetEnvIf Referer example\.com localreferer<br />
+ &lt;FilesMatch \.(jpg|png|gif)$&gt;<br />
+ Order deny,allow<br />
+ Deny from all<br />
+ Allow from env=localreferer<br />
+ &lt;/FilesMatch&gt;
+ </code></p></div>
+ </dd>
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="blocking-of-robots" id="blocking-of-robots">Blocking of Robots</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>
+ In this recipe, we discuss how to block persistent requests from
+ a particular robot, or user agent.</p>
+
+ <p>The standard for robot exclusion defines a file,
+ <code>/robots.txt</code> that specifies those portions of your
+ website where you which to exclude robots. However, some robots
+ do not honor these files.
+ </p>
+
+ <p>Note that there are methods of accomplishing this which do
+ not use mod_rewrite. Note also that any technique that relies on
+ the clients <code>USER_AGENT</code> string can be circumvented
+ very easily, since that string can be changed.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>We use a ruleset that specifies the directory to be
+ protected, and the client <code>USER_AGENT</code> that
+ identifies the malicious or persistent robot.</p>
+
+ <p>In this example, we are blocking a robot called
+ <code>NameOfBadRobot</code> from a location
+ <code>/secret/files</code>. You may also specify an IP address
+ range, if you are trying to block that user agent only from the
+ particular source.</p>
+
+<div class="example"><p><code>
+RewriteCond %{HTTP_USER_AGENT} ^<strong>NameOfBadRobot</strong><br />
+RewriteCond %{REMOTE_ADDR} =<strong>123\.45\.67\.[8-9]</strong><br />
+RewriteRule ^<strong>/secret/files/</strong> - [<strong>F</strong>]
+</code></p></div>
+ </dd>
+
+ <dt>Discussion:</dt>
+
+ <dd>
+ <p>
+ Rather than using mod_rewrite for this, you can accomplish the
+ same end using alternate means, as illustrated here:
+ </p>
+ <div class="example"><p><code>
+ SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway<br />
+ &lt;Location /secret/files&gt;<br />
+ Order allow,deny<br />
+ Allow from all<br />
+ Deny from env=goaway<br />
+ &lt;/Location&gt;
+ </code></p></div>
+ <p>
+ As noted above, this technique is trivial to circumvent, by simply
+ modifying the <code>USER_AGENT</code> request header. If you
+ are experiencing a sustained attack, you should consider blocking
+ it at a higher level, such as at your firewall.
+ </p>
+
+ </dd>
+
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="host-deny" id="host-deny">Denying Hosts in a Blacklist</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>We wish to maintain a blacklist of hosts, rather like
+ <code>hosts.deny</code>, and have those hosts blocked from
+ accessing our server.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+<div class="example"><p><code>
+RewriteEngine on<br />
+RewriteMap hosts-deny txt:/path/to/hosts.deny<br />
+RewriteCond ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND [OR]<br />
+RewriteCond ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND} !=NOT-FOUND<br />
+RewriteRule ^ - [F]
+</code></p></div>
+
+<div class="example"><p><code>
+##<br />
+## hosts.deny<br />
+##<br />
+## ATTENTION! This is a map, not a list, even when we treat it as such.<br />
+## mod_rewrite parses it for key/value pairs, so at least a<br />
+## dummy value "-" must be present for each entry.<br />
+##<br />
+<br />
+193.102.180.41 -<br />
+bsdti1.sdm.de -<br />
+192.76.162.40 -<br />
+</code></p></div>
+ </dd>
+
+ <dt>Discussion:</dt>
+ <dd>
+ <p>
+ The second RewriteCond assumes that you have HostNameLookups turned
+ on, so that client IP addresses will be resolved. If that's not the
+ case, you should drop the second RewriteCond, and drop the
+ <code>[OR]</code> flag from the first RewriteCond.
+ </p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="referer-deflector" id="referer-deflector">Referer-based Deflector</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>Redirect requests based on the Referer from which the request
+ came, with different targets per Referer.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>The following ruleset uses a map file to associate each Referer
+ with a redirection target.</p>
+
+<div class="example"><p><code>
+RewriteMap deflector txt:/path/to/deflector.map<br />
+<br />
+RewriteCond %{HTTP_REFERER} !=""<br />
+RewriteCond ${deflector:%{HTTP_REFERER}} =-<br />
+RewriteRule ^ %{HTTP_REFERER} [R,L]<br />
+<br />
+RewriteCond %{HTTP_REFERER} !=""<br />
+RewriteCond ${deflector:%{HTTP_REFERER}|NOT-FOUND} !=NOT-FOUND<br />
+RewriteRule ^.* ${deflector:%{HTTP_REFERER}} [R,L]
+</code></p></div>
+
+ <p>The map file lists redirection targets for each referer, or, if
+ we just wish to redirect back to where they came from, a "-" is
+ placed in the map:</p>
+
+<div class="example"><p><code>
+##<br />
+## deflector.map<br />
+##<br />
+<br />
+http://badguys.example.com/bad/index.html -<br />
+http://badguys.example.com/bad/index2.html -<br />
+http://badguys.example.com/bad/index3.html http://somewhere.example.com/
+</code></p></div>
+
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/rewrite/access.html" title="English">&nbsp;en&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/rewrite_flags.html b/docs/manual/rewrite/advanced.html
index ac41b36d..64d0639f 100644
--- a/docs/manual/rewrite/rewrite_flags.html
+++ b/docs/manual/rewrite/advanced.html
@@ -1,5 +1,5 @@
# GENERATED FROM XML -- DO NOT EDIT
-URI: rewrite_flags.html.en
+URI: advanced.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/rewrite/advanced.html.en b/docs/manual/rewrite/advanced.html.en
new file mode 100644
index 00000000..c0602748
--- /dev/null
+++ b/docs/manual/rewrite/advanced.html.en
@@ -0,0 +1,492 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Advanced Techniques with mod_rewrite - Apache HTTP Server</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Advanced Techniques with mod_rewrite</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/rewrite/avoid.html" title="English">&nbsp;en&nbsp;</a></p>
+</div>
+
+
+<p>This document supplements the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">reference documentation</a>. It provides
+a few advanced techniques and tricks using mod_rewrite.</p>
+
+<div class="warning">Note that many of these examples won't work unchanged in your
+particular server configuration, so it's important that you understand
+them, rather than merely cutting and pasting the examples into your
+configuration.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#sharding">URL-based sharding accross multiple backends</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#on-the-fly-content">On-the-fly Content-Regeneration</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#load-balancing">Load Balancing</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#autorefresh">Document With Autorefresh</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#structuredhomedirs">Structured Userdirs</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#redirectanchors">Redirecting Anchors</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#time-dependent">Time-Dependent Rewriting</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenvvars">Set Environment Variables Based On URL Parts</a></li>
+</ul><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module documentation</a></li><li><a href="intro.html">mod_rewrite introduction</a></li><li><a href="remapping.html">Redirection and remapping</a></li><li><a href="access.html">Controlling access</a></li><li><a href="vhosts.html">Virtual hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Using RewriteMap</a></li><li><a href="avoid.html">When not to use mod_rewrite</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="sharding" id="sharding">URL-based sharding accross multiple backends</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>A common technique for distributing the burden of
+ server load or storage space is called "sharding".
+ When using this method, a front-end server will use the
+ url to consistently "shard" users or objects to separate
+ backend servers.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>A mapping is maintained, from users to target servers, in
+ external map files. They look like:</p>
+
+<div class="example"><p><code>
+user1 physical_host_of_user1<br />
+user2 physical_host_of_user2<br />
+: :
+</code></p></div>
+
+ <p>We put this into a <code>map.users-to-hosts</code> file. The
+ aim is to map;</p>
+
+<div class="example"><p><code>
+/u/user1/anypath
+</code></p></div>
+
+ <p>to</p>
+
+<div class="example"><p><code>
+http://physical_host_of_user1/u/user/anypath
+</code></p></div>
+
+ <p>thus every URL path need not be valid on every backend physical
+ host. The following ruleset does this for us with the help of the map
+ files assuming that server0 is a default server which will be used if
+ a user has no entry in the map:</p>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+<br />
+RewriteMap users-to-hosts txt:/path/to/map.users-to-hosts<br />
+<br />
+RewriteRule ^/u/<strong>([^/]+)</strong>/?(.*) http://<strong>${users-to-hosts:$1|server0}</strong>/u/$1/$2
+</code></p></div>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="on-the-fly-content" id="on-the-fly-content">On-the-fly Content-Regeneration</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>We wish to dynamically generate content, but store it
+ statically once it is generated. This rule will check for the
+ existence of the static file, and if it's not there, generate
+ it. The static files can be removed periodically, if desired (say,
+ via cron) and will be regenerated on demand.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ This is done via the following ruleset:
+
+<div class="example"><p><code>
+# This example is valid in per-directory context only<br />
+RewriteCond %{REQUEST_FILENAME} <strong>!-s</strong><br />
+RewriteRule ^page\.<strong>html</strong>$ page.<strong>cgi</strong> [T=application/x-httpd-cgi,L]
+</code></p></div>
+
+ <p>Here a request for <code>page.html</code> leads to an
+ internal run of a corresponding <code>page.cgi</code> if
+ <code>page.html</code> is missing or has filesize
+ null. The trick here is that <code>page.cgi</code> is a
+ CGI script which (additionally to its <code>STDOUT</code>)
+ writes its output to the file <code>page.html</code>.
+ Once it has completed, the server sends out
+ <code>page.html</code>. When the webmaster wants to force
+ a refresh of the contents, he just removes
+ <code>page.html</code> (typically from <code>cron</code>).</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="load-balancing" id="load-balancing">Load Balancing</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>We wish to randomly distribute load across several servers
+ using mod_rewrite.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>We'll use <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> and a list of servers
+ to accomplish this.</p>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+RewriteMap lb rnd:/path/to/serverlist.txt<br />
+<br />
+RewriteRule ^/(.*) http://${lb:servers}/$1 [P,L]
+</code></p></div>
+
+<p><code>serverlist.txt</code> will contain a list of the servers:</p>
+
+<div class="example"><p><code>
+## serverlist.txt<br />
+<br />
+servers one.example.com|two.example.com|three.example.com<br />
+</code></p></div>
+
+<p>If you want one particular server to get more of the load than the
+others, add it more times to the list.</p>
+
+ </dd>
+
+ <dt>Discussion</dt>
+ <dd>
+<p>Apache comes with a load-balancing module -
+<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> - which is far more flexible and
+featureful than anything you can cobble together using mod_rewrite.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="autorefresh" id="autorefresh">Document With Autorefresh</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>Wouldn't it be nice, while creating a complex web page, if
+ the web browser would automatically refresh the page every
+ time we save a new version from within our editor?
+ Impossible?</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>No! We just combine the MIME multipart feature, the
+ web server NPH feature, and the URL manipulation power of
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. First, we establish a new
+ URL feature: Adding just <code>:refresh</code> to any
+ URL causes the 'page' to be refreshed every time it is
+ updated on the filesystem.</p>
+
+<div class="example"><p><code>
+RewriteRule ^(/[uge]/[^/]+/?.*):refresh /internal/cgi/apache/nph-refresh?f=$1
+</code></p></div>
+
+ <p>Now when we reference the URL</p>
+
+<div class="example"><p><code>
+/u/foo/bar/page.html:refresh
+</code></p></div>
+
+ <p>this leads to the internal invocation of the URL</p>
+
+<div class="example"><p><code>
+/internal/cgi/apache/nph-refresh?f=/u/foo/bar/page.html
+</code></p></div>
+
+ <p>The only missing part is the NPH-CGI script. Although
+ one would usually say "left as an exercise to the reader"
+ ;-) I will provide this, too.</p>
+
+<div class="example"><pre>
+#!/sw/bin/perl
+##
+## nph-refresh -- NPH/CGI script for auto refreshing pages
+## Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved.
+##
+$| = 1;
+
+# split the QUERY_STRING variable
+@pairs = split(/&amp;/, $ENV{'QUERY_STRING'});
+foreach $pair (@pairs) {
+($name, $value) = split(/=/, $pair);
+$name =~ tr/A-Z/a-z/;
+$name = 'QS_' . $name;
+$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+eval "\$$name = \"$value\"";
+}
+$QS_s = 1 if ($QS_s eq '');
+$QS_n = 3600 if ($QS_n eq '');
+if ($QS_f eq '') {
+print "HTTP/1.0 200 OK\n";
+print "Content-type: text/html\n\n";
+print "&amp;lt;b&amp;gt;ERROR&amp;lt;/b&amp;gt;: No file given\n";
+exit(0);
+}
+if (! -f $QS_f) {
+print "HTTP/1.0 200 OK\n";
+print "Content-type: text/html\n\n";
+print "&amp;lt;b&amp;gt;ERROR&amp;lt;/b&amp;gt;: File $QS_f not found\n";
+exit(0);
+}
+
+sub print_http_headers_multipart_begin {
+print "HTTP/1.0 200 OK\n";
+$bound = "ThisRandomString12345";
+print "Content-type: multipart/x-mixed-replace;boundary=$bound\n";
+&amp;print_http_headers_multipart_next;
+}
+
+sub print_http_headers_multipart_next {
+print "\n--$bound\n";
+}
+
+sub print_http_headers_multipart_end {
+print "\n--$bound--\n";
+}
+
+sub displayhtml {
+local($buffer) = @_;
+$len = length($buffer);
+print "Content-type: text/html\n";
+print "Content-length: $len\n\n";
+print $buffer;
+}
+
+sub readfile {
+local($file) = @_;
+local(*FP, $size, $buffer, $bytes);
+($x, $x, $x, $x, $x, $x, $x, $size) = stat($file);
+$size = sprintf("%d", $size);
+open(FP, "&amp;lt;$file");
+$bytes = sysread(FP, $buffer, $size);
+close(FP);
+return $buffer;
+}
+
+$buffer = &amp;readfile($QS_f);
+&amp;print_http_headers_multipart_begin;
+&amp;displayhtml($buffer);
+
+sub mystat {
+local($file) = $_[0];
+local($time);
+
+($x, $x, $x, $x, $x, $x, $x, $x, $x, $mtime) = stat($file);
+return $mtime;
+}
+
+$mtimeL = &amp;mystat($QS_f);
+$mtime = $mtime;
+for ($n = 0; $n &amp;lt; $QS_n; $n++) {
+while (1) {
+ $mtime = &amp;mystat($QS_f);
+ if ($mtime ne $mtimeL) {
+ $mtimeL = $mtime;
+ sleep(2);
+ $buffer = &amp;readfile($QS_f);
+ &amp;print_http_headers_multipart_next;
+ &amp;displayhtml($buffer);
+ sleep(5);
+ $mtimeL = &amp;mystat($QS_f);
+ last;
+ }
+ sleep($QS_s);
+}
+}
+
+&amp;print_http_headers_multipart_end;
+
+exit(0);
+
+##EOF##
+</pre></div>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="structuredhomedirs" id="structuredhomedirs">Structured Userdirs</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>Some sites with thousands of users use a
+ structured homedir layout, <em>i.e.</em> each homedir is in a
+ subdirectory which begins (for instance) with the first
+ character of the username. So, <code>/~larry/anypath</code>
+ is <code>/home/<strong>l</strong>/larry/public_html/anypath</code>
+ while <code>/~waldo/anypath</code> is
+ <code>/home/<strong>w</strong>/waldo/public_html/anypath</code>.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>We use the following ruleset to expand the tilde URLs
+ into the above layout.</p>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+RewriteRule ^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*) /home/<strong>$2</strong>/$1/public_html$3
+</code></p></div>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="redirectanchors" id="redirectanchors">Redirecting Anchors</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>By default, redirecting to an HTML anchor doesn't work,
+ because mod_rewrite escapes the <code>#</code> character,
+ turning it into <code>%23</code>. This, in turn, breaks the
+ redirection.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>Use the <code>[NE]</code> flag on the
+ <code>RewriteRule</code>. NE stands for No Escape.
+ </p>
+ </dd>
+
+ <dt>Discussion:</dt>
+ <dd>This technique will of course also work with other
+ special characters that mod_rewrite, by default, URL-encodes.</dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="time-dependent" id="time-dependent">Time-Dependent Rewriting</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>We wish to use mod_rewrite to serve different content based on
+ the time of day.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>There are a lot of variables named <code>TIME_xxx</code>
+ for rewrite conditions. In conjunction with the special
+ lexicographic comparison patterns <code>&lt;STRING</code>,
+ <code>&gt;STRING</code> and <code>=STRING</code> we can
+ do time-dependent redirects:</p>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+RewriteCond %{TIME_HOUR}%{TIME_MIN} &gt;0700<br />
+RewriteCond %{TIME_HOUR}%{TIME_MIN} &lt;1900<br />
+RewriteRule ^foo\.html$ foo.day.html [L]<br />
+RewriteRule ^foo\.html$ foo.night.html
+</code></p></div>
+
+ <p>This provides the content of <code>foo.day.html</code>
+ under the URL <code>foo.html</code> from
+ <code>07:01-18:59</code> and at the remaining time the
+ contents of <code>foo.night.html</code>.</p>
+
+ <div class="warning"><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>, intermediate proxies
+ and browsers may each cache responses and cause the either page to be
+ shown outside of the time-window configured.
+ <code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code> may be used to control this
+ effect. You are, of course, much better off simply serving the
+ content dynamically, and customizing it based on the time of day.</div>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="setenvvars" id="setenvvars">Set Environment Variables Based On URL Parts</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>At time, we want to maintain some kind of status when we
+ perform a rewrite. For example, you want to make a note that
+ you've done that rewrite, so that you can check later to see if a
+ request can via that rewrite. One way to do this is by setting an
+ environment variable.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>Use the [E] flag to set an environment variable.</p>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+RewriteRule ^/horse/(.*) /pony/$1 [E=<strong>rewritten:1</strong>]
+</code></p></div>
+
+ <p>Later in your ruleset you might check for this environment
+ variable using a RewriteCond:</p>
+
+<div class="example"><p><code>
+RewriteCond %{ENV:rewritten} =1
+</code></p></div>
+
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/rewrite/avoid.html" title="English">&nbsp;en&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/rewrite_guide.html b/docs/manual/rewrite/avoid.html
index 69c288c8..c45209be 100644
--- a/docs/manual/rewrite/rewrite_guide.html
+++ b/docs/manual/rewrite/avoid.html
@@ -1,5 +1,5 @@
# GENERATED FROM XML -- DO NOT EDIT
-URI: rewrite_guide.html.en
+URI: avoid.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/rewrite/avoid.html.en b/docs/manual/rewrite/avoid.html.en
new file mode 100644
index 00000000..b5e6ae51
--- /dev/null
+++ b/docs/manual/rewrite/avoid.html.en
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>When not to use mod_rewrite - Apache HTTP Server</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>When not to use mod_rewrite</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/rewrite/avoid.html" title="English">&nbsp;en&nbsp;</a></p>
+</div>
+
+
+<p>This document supplements the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">reference documentation</a>. It describes
+perhaps one of the most important concepts about mod_rewrite - namely,
+when to avoid using it.</p>
+
+<p>mod_rewrite should be considered a last resort, when other
+alternatives are found wanting. Using it when there are simpler
+alternatives leads to configurations which are confusing, fragile, and
+hard to maintain. Understanding what other alternatives are available is
+a very important step towards mod_rewrite mastery.</p>
+
+<p>Note that many of these examples won't work unchanged in your
+particular server configuration, so it's important that you understand
+them, rather than merely cutting and pasting the examples into your
+configuration.</p>
+
+<p>The most common situation in which <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> is
+the right tool is when the very best solution requires access to the
+server configuration files, and you don't have that access. Some
+configuration directives are only available in the server configuration
+file. So if you are in a hosting situation where you only have .htaccess
+files to work with, you may need to resort to
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#redirect">Simple Redirection</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#alias">URL Aliasing</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#vhosts">Virtual Hosting</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxy">Simple Proxying</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenv">Environment Variable Testing</a></li>
+</ul><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module documentation</a></li><li><a href="intro.html">mod_rewrite introduction</a></li><li><a href="remapping.html">Redirection and remapping</a></li><li><a href="access.html">Controlling access</a></li><li><a href="vhosts.html">Virtual hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Using RewriteMap</a></li><li><a href="advanced.html">Advanced techniques and tricks</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="redirect" id="redirect">Simple Redirection</a></h2>
+
+
+<p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> provides the <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> and <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> directives, which provide a
+means to redirect one URL to another. This kind of simple redirection of
+one URL, or a class of URLs, to somewhere else, should be accomplished
+using these directives rather than <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. <code>RedirectMatch</code>
+allows you to include a regular expression in your redirection criteria,
+providing many of the benefits of using <code>RewriteRule</code>.</p>
+
+<p>A common use for <code>RewriteRule</code> is to redirect an entire
+class of URLs. For example, all URLs in the <code>/one</code> directory
+must be redirected to <code>http://one.example.com/</code>, or perhaps
+all <code>http</code> requests must be redirected to
+<code>https</code>.</p>
+
+<p>These situations are better handled by the <code>Redirect</code>
+directive. Remember that <code>Redirect</code> preserves path
+information. That is to say, a redirect for a URL <code>/one</code> will
+also redirect all URLs under that, such as <code>/one/two.html</code>
+and <code>/one/three/four.html</code>.</p>
+
+<p>To redirect URLs under <code>/one</code> to
+<code>http://one.example.com</code>, do the following:</p>
+
+<div class="example"><p><code>
+Redirect /one/ http://one.example.com/
+</code></p></div>
+
+<p>To redirect <code>http</code> URLs to <code>https</code>, do the
+following:</p>
+
+<div class="example"><p><code>
+&lt;VirtualHost *:80&gt;
+ServerName www.example.com<br />
+Redirect / https://www.example.com/<br />
+&lt;/VirtualHost &gt;
+<br />
+&lt;VirtualHost *:443&gt;
+ServerName www.example.com<br />
+<br />
+# ... SSL configuration goes here<br />
+&lt;/VirtualHost &gt;
+</code></p></div>
+
+<p>The use of <code>RewriteRule</code> to perform this task may be
+appropriate if there are other <code>RewriteRule</code> directives in
+the same scope. This is because, when there are <code>Redirect</code>
+and <code>RewriteRule</code> directives in the same scope, the
+<code>RewriteRule</code> directives will run first, regardless of the
+order of appearance in the configuration file.</p>
+
+<p>In the case of the <em>http-to-https</em> redirection, the use of
+<code>RewriteRule</code> would be appropriate if you don't have access
+to the main server configuration file, and are obliged to perform this
+task in a <code>.htaccess</code> file instead.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="alias" id="alias">URL Aliasing</a></h2>
+<p>The <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> directive
+provides mapping from a URI to a directory - usually a directory outside
+of your <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Although it
+is possible to perform this mapping with <code>mod_rewrite</code>,
+<code>Alias</code> is the preferred method, for reasons of simplicity
+and performance.</p>
+
+<div class="example"><h3>Using Alias</h3><p><code>
+Alias /cats /var/www/virtualhosts/felines/htdocs
+</code></p></div>
+
+<p>
+The use of <code>mod_rewrite</code> to perform this mapping may be
+appropriate when you do not have access to the server configuration
+files. Alias may only be used in server or virtualhost context, and not
+in a <code>.htaccess</code> file.
+</p>
+
+<p>Symbolic links would be another way to accomplish the same thing, if
+you have <code>Options FollowSymLinks</code> enabled on your
+server.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="vhosts" id="vhosts">Virtual Hosting</a></h2>
+<p>Although it is possible to handle <a href="vhosts.html">virtual hosts
+with mod_rewrite</a>, it is seldom the right way. Creating individual
+&lt;VirtualHost&gt; blocks is almost always the right way to go. In the
+event that you have an enormous number of virtual hosts, consider using
+<code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> to create these hosts automatically.</p>
+
+<p>Third-party modules such as <a href="link_needed">mod_macro</a> are
+also useful for creating a large number of virtual hosts dynamically.</p>
+
+<p>Using <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> for vitualhost creation may be
+appropriate if you are using a hosting service that does not provide
+you access to the server configuration files, and you are therefore
+restricted to configuration using <code>.htaccess</code> files.</p>
+
+<p>See the <a href="vhosts.html">virtual hosts with mod_rewrite</a>
+document for more details on how you might accomplish this if it still
+seems like the right approach.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="proxy" id="proxy">Simple Proxying</a></h2>
+
+<p><code>RewriteRule</code> provides the <a href="flags.html#flag_p">[P]</a> flag to pass rewritten URIs through
+<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>.</p>
+
+<div class="example"><p><code>
+RewriteRule ^/?images(.*) http://imageserver.local/images$1 [P]
+</code></p></div>
+
+<p>However, in many cases, when there is no actual pattern matching
+meeded, as in the example shown above, the <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> directive is a better choice.
+The example here could be rendered as:</p>
+
+<div class="example"><p><code>
+ProxyPass /images/ http://imageserver.local/images/
+</code></p></div>
+
+<p>Note that whether you use <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> or <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>, you'll still need to use the
+<code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> directive to
+catch redirects issued from the back-end server:</p>
+
+<div class="example"><p><code>
+ProxyPassReverse /images/ http://imageserver.local/images/
+</code></p></div>
+
+<p>You may need to use <code>RewriteRule</code> instead when there are
+other <code>RewriteRule</code>s in effect in the same scope, as a
+<code>RewriteRule</code> will usually take effect before a
+<code>ProxyPass</code>, and so may preempt what you're trying to
+accomplish.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="setenv" id="setenv">Environment Variable Testing</a></h2>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> is frequently used to take a particular
+action based on the presence or absense of a particular environment
+variable or request header. This can be done more efficiently using the
+<code class="directive"><a href="../mod/core.html#if">&lt;If&gt;</a></code>.</p>
+
+<p>Consider, for example, the common scenario where
+<code class="directive">RewriteRule</code> is used to enforce a canonical
+hostname, such as <code>www.example.com</code> instead of
+<code>example.com</code>. This can be done using the <code class="directive"><a href="../mod/core.html#if">&lt;If&gt;</a></code> direct, as shown here:</p>
+
+<div class="example"><p><code>
+&lt;If "$req{Host} = 'example.com'"&gt;<br />
+RedirectMatch (.*) http://www.example.com$1
+&lt;/If&gt;
+</code></p></div>
+
+<p>This technique can be used to take actions based on any request
+header, response header, or environment variable, replacing
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> in many common scenarios.</p>
+
+<p>See especially the <a href="../expr.html">expression evaluation
+documentation</a> for a overview of what types of expressions you can
+use in &lt;If&gt; sections, and in certain other directives.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/rewrite/avoid.html" title="English">&nbsp;en&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/flags.html b/docs/manual/rewrite/flags.html
new file mode 100644
index 00000000..91c8a288
--- /dev/null
+++ b/docs/manual/rewrite/flags.html
@@ -0,0 +1,9 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: flags.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
+
+URI: flags.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/rewrite/flags.html.en b/docs/manual/rewrite/flags.html.en
new file mode 100644
index 00000000..0e16b2d1
--- /dev/null
+++ b/docs/manual/rewrite/flags.html.en
@@ -0,0 +1,648 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>RewriteRule Flags - Apache HTTP Server</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>RewriteRule Flags</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/rewrite/flags.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+
+<p>This document discusses the flags which are available to the
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive,
+providing detailed explanations and examples.</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduction</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_b">B (escape backreferences)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_c">C|chain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_co">CO|cookie</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_dpi">DPI|discardpathinfo</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_e">E|env</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_f">F|forbidden</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_g">G|gone</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_h">H|handler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_l">L|last</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_n">N|next</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_nc">NC|nocase</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ne">NE|noescape</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ns">NS|nosubreq</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_p">P|proxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_pt">PT|passthrough</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsa">QSA|qsappend</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_r">R|redirect</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_s">S|skip</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_t">T|type</a></li>
+</ul><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module documentation</a></li><li><a href="intro.html">mod_rewrite introduction</a></li><li><a href="remapping.html">Redirection and remapping</a></li><li><a href="access.html">Controlling access</a></li><li><a href="vhosts.html">Virtual hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Using RewriteMap</a></li><li><a href="advanced.html">Advanced techniques and tricks</a></li><li><a href="avoid.html">When not to use mod_rewrite</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="introduction" id="introduction">Introduction</a></h2>
+<p>A <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> can have
+its behavior modified by one or more flags. Flags are included in
+square brackets at the end of the rule, and multiple flags are separated
+by commas.</p>
+<div class="example"><p><code>
+RewriteRule pattern target [Flag1,Flag2,Flag3]
+</code></p></div>
+
+<p>The flags all have a short form, such as <code>CO</code>, as well as
+a longer form, such as <code>cookie</code>. Some flags take one or more
+arguments. Flags are not case sensitive.</p>
+
+<p>Each flag (with a few exceptions)
+has a long and short form. While it is most common to use
+the short form, it is recommended that you familiarize yourself with the
+long form, so that you remember what each flag is supposed to do.</p>
+
+<p>Flags that alter metadata associated with the request (T=, H=, E=)
+have no affect in per-directory and htaccess context, when a substitution
+(other than '-') is performed during the same round of rewrite processing.
+</p>
+
+<p>Presented here are each of the available flags, along with an example
+of how you might use them.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_b" id="flag_b">B (escape backreferences)</a></h2>
+<p>The [B] flag instructs <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to escape non-alphanumeric
+characters before applying the transformation.
+</p>
+
+<p><code>mod_rewrite</code> has to unescape URLs before mapping them,
+so backreferences will be unescaped at the time they are applied.
+Using the B flag, non-alphanumeric characters in backreferences
+will be escaped. For example, consider the rule:</p>
+
+<div class="example"><p><code>
+RewriteRule ^(/.*)$ /index.php?show=$1
+</code></p></div>
+
+<p>This will map <code>/C++</code> to
+<code>/index.php?show=/C++</code>. But it will also map
+<code>/C%2b%2b</code> to <code>/index.php?show=/C++</code>, because
+the <code>%2b</code> has been unescaped. With the B flag, it will
+instead map to <code>/index.php?show=/C%2b%2b</code>.</p>
+
+<p>This escaping is particularly necessary in a proxy situation,
+when the backend may break if presented with an unescaped URL.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_c" id="flag_c">C|chain</a></h2>
+<p>The [C] or [chain] flag indicates that the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> is chained to the next
+rule. That is, if the rule matches, then it is processed as usual and
+control moves on to the next rule. However, if it does not match, then
+the next rule, and any other rules that are chained together, will be
+skipped.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_co" id="flag_co">CO|cookie</a></h2>
+<p>The [CO], or [cookie] flag, allows you to set a cookie when a
+particular <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+matches. The argument consists of three required fields and four optional
+fields.</p>
+
+<p>The full syntax for the flag, including all attributes, is as
+follows:</p>
+
+<div class="example"><p><code>
+[CO=NAME:VALUE:DOMAIN:lifetime:path:secure:httponly]
+</code></p></div>
+
+<p>You must declare a name, a value, and a domain for the cookie to be set.</p>
+
+<dl>
+<dt>Domain</dt>
+<dd>The domain for which you want the cookie to be valid. This may be a
+hostname, such as <code>www.example.com</code>, or it may be a domain,
+such as <code>.example.com</code>. It must be at least two parts
+separated by a dot. That is, it may not be merely <code>.com</code> or
+<code>.net</code>. Cookies of that kind are forbidden by the cookie
+security model.</dd>
+</dl>
+
+<p>You may optionally also set the following values:</p>
+
+<dl>
+
+<dt>Lifetime</dt>
+<dd>The time for which the cookie will persist, in minutes.</dd>
+<dd>A value of 0 indicates that the cookie will persist only for the
+current browser session. This is the default value if none is
+specified.</dd>
+
+<dt>Path</dt>
+<dd>The path, on the current website, for which the cookie is valid,
+such as <code>/customers/</code> or <code>/files/download/</code>.</dd>
+<dd>By default, this is set to <code>/</code> - that is, the entire
+website.</dd>
+
+<dt>Secure</dt>
+<dd>If set to <code>secure</code>, <code>true</code>, or <code>1</code>,
+the cookie will only be permitted to be translated via secure (https)
+connections.</dd>
+
+<dt>httponly</dt>
+<dd>If set to <code>HttpOnly</code>, <code>true</code>, or
+<code>1</code>, the cookie will have the <code>HttpOnly</code> flag set,
+which means that the cookie will be inaccessible to JavaScript code on
+browsers that support this feature.</dd>
+</dl>
+
+<p>Several examples are offered here:</p>
+
+<div class="example"><p><code>
+RewriteEngine On<br />
+RewriteRule ^/index\.html - [CO=frontdoor:yes:.example.com:1440:/]
+</code></p></div>
+
+<p>In the example give, the rule doesn't rewrite the request.
+The "-" rewrite target tells mod_rewrite to pass the request
+through unchanged. Instead, it sets a cookie
+called 'frontdoor' to a value of 'yes'. The cookie is valid for any host
+in the <code>.example.com</code> domain. It will be set to expire in 1440
+minutes (24 hours) and will be returned for all URIs.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_dpi" id="flag_dpi">DPI|discardpathinfo</a></h2>
+<p>The DPI flag causes the PATH_INFO portion of the rewritten URI to be
+discarded.</p>
+<p>This flag is available in version 2.2.12 and later.</p>
+<p>In per-directory context, the URI each <code class="directive">RewriteRule</code>
+compares against is the concatenation of the current values of the URI
+and PATH_INFO.</p>
+
+<p>The current URI can be the initial URI as requested by the client, the
+result of a previous round of mod_rewrite processing, or the result of
+a prior rule in the current round of mod_rewrite processing.</p>
+
+<p>In contrast, the PATH_INFO that is appended to the URI before each
+rule reflects only the value of PATH_INFO before this round of
+mod_rewrite processing. As a consequence, if large portions
+of the URI are matched and copied into a substitution in multiple
+<code class="directive">RewriteRule</code> directives, without regard for
+which parts of the URI came from the current PATH_INFO, the final
+URI may have multiple copies of PATH_INFO appended to it.</p>
+
+<p>Use this flag on any substitution where the PATH_INFO that resulted
+from the previous mapping of this request to the filesystem is not of
+interest. This flag permanently forgets the PATH_INFO established
+before this round of mod_rewrite processing began. PATH_INFO will
+not be recalculated until the current round of mod_rewrite processing
+completes. Subsequent rules during this round of processing will see
+only the direct result of substitutions, without any PATH_INFO
+appended.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_e" id="flag_e">E|env</a></h2>
+<p>With the [E], or [env] flag, you can set the value of an environment
+variable. Note that some environment variables may be set after the rule
+is run, thus unsetting what you have set. See <a href="../env.html">the
+Environment Variables document</a> for more details on how Environment
+variables work.</p>
+
+<p>The full syntax for this flag is:</p>
+
+<div class="example"><p><code>
+[E=VAR:VAL]
+[E=!VAR]
+</code></p></div>
+
+<p><code>VAL</code> may contain backreferences (<code>$N</code> or
+<code>%N</code>) which will be expanded.</p>
+
+<p>Using the short form</p>
+
+<div class="example"><p><code>
+[E=VAR]
+</code></p></div>
+
+<p>you can set the environment variable named <code>VAR</code> to an
+empty value.</p>
+
+<p>The form</p>
+
+<div class="example"><p><code>
+[E=!VAR]
+</code></p></div>
+
+<p>allows to unset a previously set environment variable named
+<code>VAR</code>.</p>
+
+<p>Environment variables can then be used in a variety of
+contexts, including CGI programs, other RewriteRule directives, or
+CustomLog directives.</p>
+
+<p>The following example sets an environment variable called 'image' to a
+value of '1' if the requested URI is an image file. Then, that
+environment variable is used to exclude those requests from the access
+log.</p>
+
+<div class="example"><p><code>
+RewriteRule \.(png|gif|jpg) - [E=image:1]<br />
+CustomLog logs/access_log combined env=!image
+</code></p></div>
+
+<p>Note that this same effect can be obtained using <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>. This technique is offered as
+an example, not as a recommendation.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_f" id="flag_f">F|forbidden</a></h2>
+<p>Using the [F] flag causes the server to return a 403 Forbidden status
+code to the client. While the same behavior can be accomplished using
+the <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code> directive, this
+allows more flexibility in assigning a Forbidden status.</p>
+
+<p>The following rule will forbid <code>.exe</code> files from being
+downloaded from your server.</p>
+
+<div class="example"><p><code>
+RewriteRule \.exe - [F]
+</code></p></div>
+
+<p>This example uses the "-" syntax for the rewrite target, which means
+that the requested URI is not modified. There's no reason to rewrite to
+another URI, if you're going to forbid the request.</p>
+
+<p>When using [F], an [L] is implied - that is, the response is returned
+immediately, and no further rules are evaluated.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_g" id="flag_g">G|gone</a></h2>
+<p>The [G] flag forces the server to return a 410 Gone status with the
+response. This indicates that a resource used to be available, but is no
+longer available.</p>
+
+<p>As with the [F] flag, you will typically use the "-" syntax for the
+rewrite target when using the [G] flag:</p>
+
+<div class="example"><p><code>
+RewriteRule oldproduct - [G,NC]
+</code></p></div>
+
+<p>When using [F], an [L] is implied - that is, the response is returned
+immediately, and no further rules are evaluated.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_h" id="flag_h">H|handler</a></h2>
+<p>Forces the resulting request to be handled with the specified
+handler. For example, one might use this to force all files without a
+file extension to be parsed by the php handler:</p>
+
+<div class="example"><p><code>
+RewriteRule !\. - [H=application/x-httpd-php]
+</code></p></div>
+
+<p>
+The regular expression above - <code>!\.</code> - will match any request
+that does not contain the literal <code>.</code> character.
+</p>
+
+<p>This can be also used to force the handler based on some conditions.
+For example, the following snippet used in per-server context allows
+<code>.php</code> files to be <em>displayed</em> by <code>mod_php</code>
+if they are requested with the <code>.phps</code> extension:</p>
+
+<div class="example"><p><code>
+RewriteRule ^(/source/.+\.php)s$ $1 [H=application/x-httpd-php-source]
+</code></p></div>
+
+<p>The regular expression above - <code>^(/source/.+\.php)s$</code> - will
+match any request that starts with <code>/source/</code> followed by 1 or
+n characters followed by <code>.phps</code> literally. The backreference
+$1 referrers to the captured match within parenthesis of the regular
+expression.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_l" id="flag_l">L|last</a></h2>
+<p>The [L] flag causes <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> to stop processing
+the rule set. In most contexts, this means that if the rule matches, no
+further rules will be processed. This corresponds to the
+<code>last</code> command in Perl, or the <code>break</code> command in
+C. Use this flag to indicate that the current rule should be applied
+immediately without considering further rules.</p>
+
+<p>If you are using <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> in either
+<code>.htaccess</code> files or in
+<code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> sections,
+it is important to have some understanding of how the rules are
+processed. The simplified form of this is that once the rules have been
+processed, the rewritten request is handed back to the URL parsing
+engine to do what it may with it. It is possible that as the rewritten
+request is handled, the <code>.htaccess</code> file or
+<code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> section
+may be encountered again, and thus the ruleset may be run again from the
+start. Most commonly this will happen if one of the rules causes a
+redirect - either internal or external - causing the request process to
+start over.</p>
+
+<p>It is therefore important, if you are using <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directives in one of these
+contexts, that you take explicit steps to avoid rules looping, and not
+count solely on the [L] flag to terminate execution of a series of
+rules, as shown below.</p>
+
+<p>The example given here will rewrite any request to
+<code>index.php</code>, giving the original request as a query string
+argument to <code>index.php</code>, however, the <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> ensures that if the request
+is already for <code>index.php</code>, the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> will be skipped.</p>
+
+<div class="example"><p><code>
+RewriteBase /<br />
+RewriteCond %{REQUEST_URI} !=/index.php<br />
+RewriteRule ^(.*) /index.php?req=$1 [L,PT]
+</code></p></div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_n" id="flag_n">N|next</a></h2>
+<p>
+The [N] flag causes the ruleset to start over again from the top, using
+the result of the ruleset so far as a starting point. Use
+with extreme caution, as it may result in loop.
+</p>
+<p>
+The [Next] flag could be used, for example, if you wished to replace a
+certain string or letter repeatedly in a request. The example shown here
+will replace A with B everywhere in a request, and will continue doing
+so until there are no more As to be replaced.
+</p>
+
+<div class="example"><p><code>
+RewriteRule (.*)A(.*) $1B$2 [N]
+</code></p></div>
+
+<p>You can think of this as a <code>while</code> loop: While this
+pattern still matches (i.e., while the URI still contains an
+<code>A</code>), perform this substitution (i.e., replace the
+<code>A</code> with a <code>B</code>).</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_nc" id="flag_nc">NC|nocase</a></h2>
+<p>Use of the [NC] flag causes the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to be matched in a
+case-insensitive manner. That is, it doesn't care whether letters appear
+as upper-case or lower-case in the matched URI.</p>
+
+<p>In the example below, any request for an image file will be proxied
+to your dedicated image server. The match is case-insensitive, so that
+<code>.jpg</code> and <code>.JPG</code> files are both acceptable, for
+example.</p>
+
+<div class="example"><p><code>
+RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]
+</code></p></div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ne" id="flag_ne">NE|noescape</a></h2>
+<p>By default, special characters, such as <code>&amp;</code> and
+<code>?</code>, for example, will be converted to their hexcode
+equivalent. Using the [NE] flag prevents that from happening.
+</p>
+
+<div class="example"><p><code>
+RewriteRule ^/anchor/(.+) /bigpage.html#$1 [NE,R]
+</code></p></div>
+
+<p>
+The above example will redirect <code>/anchor/xyz</code> to
+<code>/bigpage.html#xyz</code>. Omitting the [NE] will result in the #
+being converted to its hexcode equivalent, <code>%23</code>, which will
+then result in a 404 Not Found error condition.
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ns" id="flag_ns">NS|nosubreq</a></h2>
+<p>Use of the [NS] flag prevents the rule from being used on
+subrequests. For example, a page which is included using an SSI (Server
+Side Include) is a subrequest, and you may want to avoid rewrites
+happening on those subrequests. Also, when <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>
+tries to find out information about possible directory default files
+(such as <code>index.html</code> files), this is an internal
+subrequest, and you often want to avoid rewrites on such subrequests.
+On subrequests, it is not always useful, and can even cause errors, if
+the complete set of rules are applied. Use this flag to exclude
+problematic rules.</p>
+
+<p>To decide whether or not to use this rule: if you prefix URLs with
+CGI-scripts, to force them to be processed by the CGI-script, it's
+likely that you will run into problems (or significant overhead)
+on sub-requests. In these cases, use this flag.</p>
+
+<p>
+Images, javascript files, or css files, loaded as part of an HTML page,
+are not subrequests - the browser requests them as separate HTTP
+requests.
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_p" id="flag_p">P|proxy</a></h2>
+<p>Use of the [P] flag causes the request to be handled by
+<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, and handled via a proxy request. For
+example, if you wanted all image requests to be handled by a back-end
+image server, you might do something like the following:</p>
+
+<div class="example"><p><code>
+RewriteRule (.*)\.(jpg|gif|png) http://images.example.com$1.$2 [P]
+</code></p></div>
+
+<p>Use of the [P] flag implies [L] - that is, the request is immediately
+pushed through the proxy, and any following rules will not be
+considered.</p>
+
+<p>
+You must make sure that the substitution string is a valid URI
+(typically starting with <code>http://</code><em>hostname</em>) which can be
+handled by the <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. If not, you will get an
+error from the proxy module. Use this flag to achieve a
+more powerful implementation of the <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> directive,
+to map remote content into the namespace of the local server.</p>
+
+<p>Note: <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> must be enabled in order
+to use this flag.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_pt" id="flag_pt">PT|passthrough</a></h2>
+
+<p>
+The target (or substitution string) in a RewriteRule is assumed to be a
+file path, by default. The use of the [PT] flag causes it to be treated
+as a URI instead. That is to say, the
+use of the [PT] flag causes the result of the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to be passed back through
+URL mapping, so that location-based mappings, such as <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, <code class="directive"><a href="../mod/core.html#redirect">Redirect</a></code>, or <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>, for example, might have a
+chance to take effect.
+</p>
+
+<p>
+If, for example, you have an
+<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>
+for /icons, and have a <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> pointing there, you should
+use the [PT] flag to ensure that the
+<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> is evaluated.
+</p>
+
+<div class="example"><p><code>
+Alias /icons /usr/local/apache/icons<br />
+RewriteRule /pics/(.+)\.jpg /icons/$1.gif [PT]
+</code></p></div>
+
+<p>
+Omission of the [PT] flag in this case will cause the Alias to be
+ignored, resulting in a 'File not found' error being returned.
+</p>
+
+<p>The <code>PT</code> flag implies the <code>L</code> flag:
+rewriting will be stopped in order to pass the request to
+the next phase of processing.</p>
+
+<p>Note that the <code>PT</code> flag is implied in per-directory
+contexts such as
+<code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> sections
+or in <code>.htaccess</code> files. The only way to circumvent that
+is to rewrite to <code>-</code>.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsa" id="flag_qsa">QSA|qsappend</a></h2>
+<p>
+When the replacement URI contains a query string, the default behavior
+of <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> is to discard
+the existing query string, and replace it with the newly generated one.
+Using the [QSA] flag causes the query strings to be combined.
+</p>
+
+<p>Consider the following rule:</p>
+
+<div class="example"><p><code>
+RewriteRule /pages/(.+) /page.php?page=$1 [QSA]
+</code></p></div>
+
+<p>With the [QSA] flag, a request for <code>/pages/123?one=two</code> will be
+mapped to <code>/page.php?page=123&amp;one=two</code>. Without the [QSA]
+flag, that same request will be mapped to
+<code>/page.php?page=123</code> - that is, the existing query string
+will be discarded.
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_r" id="flag_r">R|redirect</a></h2>
+<p>
+Use of the [R] flag causes a HTTP redirect to be issued to the browser.
+If a fully-qualified URL is specified (that is, including
+<code>http://servername/</code>) then a redirect will be issued to that
+location. Otherwise, the current protocol, servername, and port number
+will be used to generate the URL sent with the redirect.
+</p>
+
+<p>
+<em>Any</em> valid HTTP response status code may be specified,
+using the syntax [R=305], with a 302 status code being used by
+default if none is specified. The status code specified need not
+necessarily be a redirect (3xx) status code.
+</p>
+
+<p>If a status code is outside the redirect range (300-399) then the
+substitution string is dropped entirely, and rewriting is stopped as if
+the <code>L</code> were used.</p>
+
+<p>In addition to response status codes, you may also specify redirect
+status using their symbolic names: <code>temp</code> (default),
+<code>permanent</code>, or <code>seeother</code>.</p>
+
+<p>
+You will almost always want to use [R] in conjunction with [L] (that is,
+use [R,L]) because on its own, the [R] flag prepends
+<code>http://thishost[:thisport]</code> to the URI, but then passes this
+on to the next rule in the ruleset, which can often result in 'Invalid
+URI in request' warnings.
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_s" id="flag_s">S|skip</a></h2>
+<p>The [S] flag is used to skip rules that you don't want to run. This
+can be thought of as a <code>goto</code> statement in your rewrite
+ruleset. In the following example, we only want to run the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> if the requested URI
+doesn't correspond with an actual file.</p>
+
+<div class="example"><p><code>
+# Is the request for a non-existent file?<br />
+RewriteCond %{REQUEST_FILENAME} !-f<br />
+RewriteCond %{REQUEST_FILENAME} !-d<br />
+# If so, skip these two RewriteRules<br />
+RewriteRule .? - [S=2]<br />
+<br />
+RewriteRule (.*\.gif) images.php?$1<br />
+RewriteRule (.*\.html) docs.php?$1
+</code></p></div>
+
+<p>This technique is useful because a <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> only applies to the
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> immediately
+following it. Thus, if you want to make a <code>RewriteCond</code> apply
+to several <code>RewriteRule</code>s, one possible technique is to
+negate those conditions and use a [Skip] flag. So, you can
+use this to make pseudo if-then-else constructs: The last rule of
+the then-clause becomes <code>skip=N</code>, where N is the
+number of rules in the else-clause.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_t" id="flag_t">T|type</a></h2>
+<p>Sets the MIME type with which the resulting response will be
+sent. This has the same effect as the <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> directive.</p>
+
+<p>For example, you might use the following technique to serve Perl
+source code as plain text, if requested in a particular way:</p>
+
+<div class="example"><p><code>
+# Serve .pl files as plain text<br />
+RewriteRule \.pl$ - [T=text/plain]
+</code></p></div>
+
+<p>Or, perhaps, if you have a camera that produces jpeg images without
+file extensions, you could force those images to be served with the
+correct MIME type by virtue of their file names:</p>
+
+<div class="example"><p><code>
+# Files with 'IMG' in the name are jpg images.<br />
+RewriteRule IMG - [T=image/jpg]
+</code></p></div>
+
+<p>Please note that this is a trivial example, and could be better done
+using <code class="directive"><a href="../mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>
+instead. Always consider the alternate
+solutions to a problem before resorting to rewrite, which will
+invariably be a less efficient solution than the alternatives.</p>
+
+<p>
+If used in per-directory context, use only <code>-</code> (dash)
+as the substitution <em>for the entire round of mod_rewrite processing</em>,
+otherwise the MIME-type set with this flag is lost due to an internal
+re-processing (including subsequent rounds of mod_rewrite processing).
+The <code>L</code> flag can be useful in this context to end the
+<em>current</em> round of mod_rewrite processing.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/rewrite/flags.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/flags.html.fr b/docs/manual/rewrite/flags.html.fr
new file mode 100644
index 00000000..a7614e0a
--- /dev/null
+++ b/docs/manual/rewrite/flags.html.fr
@@ -0,0 +1,716 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Les drapeaux de réécriture - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Les drapeaux de réécriture</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/flags.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+
+<p>Ce document décrit les drapeaux disponibles dans la directive
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, en fournissant
+des explications détaillées et des exemples.</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduction</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_b">B (échappement dans les références arrières)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_c">C|chain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_co">CO|cookie</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_dpi">DPI|discardpathinfo</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_e">E|env</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_f">F|forbidden</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_g">G|gone</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_h">H|handler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_l">L|last</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_n">N|next</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_nc">NC|nocase</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ne">NE|noescape</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ns">NS|nosubreq</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_p">P|proxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_pt">PT|passthrough</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsa">QSA|qsappend</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsd">QSD|qsdiscard</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_r">R|redirect</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_s">S|skip</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_t">T|type</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation du module</a></li><li><a href="intro.html">Introduction à mod_rewrite</a></li><li><a href="remapping.html">Redirection and remise en
+correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées et astuces</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="introduction" id="introduction">Introduction</a></h2>
+<p>Le comportement d'une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> peut être modifié par un ou
+plusieurs drapeaux. Les drapeaux sont situés en fin de règle, entourés
+de crochets, et séparés le cas échéant par des virgules.</p>
+<div class="example"><p><code>
+RewriteRule modèle cible [drapeau1,drapeau2,drapeau3]
+</code></p></div>
+
+<p>Les drapeaux ont tous une forme courte, comme <code>CO</code>, ainsi
+qu'une forme longue, comme <code>cookie</code>. Certains drapeaux
+peuvent avoir un ou plusieurs arguments. Les drapeaux sont insensibles à
+la casse.</p>
+
+<p>Chaque drapeau (à quelques exceptions près) possède une forme longue et une forme courte. Bien que
+la forme courte soit la plus couramment utilisée, nous vous recommandons
+de vous familiariser avec les drapeaux sous leur forme longue, afin de
+bien mémoriser ce que chaque drapeau est supposé faire.</p>
+
+<p>Les drapeaux qui modifient les métadonnées associées à la requête
+(T=, H=, E=) n'ont aucun effet dans un contexte de répertoire ou de
+fichier htaccess, lorsqu'une substitution (autre que '-') est effectuée
+au cours de la même passe du processus de réécriture.
+</p>
+
+<p>Chaque drapeau disponible est présenté ici, avec un exemple
+d'utilisation.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_b" id="flag_b">B (échappement dans les références arrières)</a></h2>
+<p>Avec le drapeau [B], la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> échappe les caractères
+non-alphanumériques avant d'appliquer la transformation.</p>
+
+<p><code>mod_rewrite</code> doit supprimer les séquences d'échappement
+des URLs avant leur
+mise en correspondance avec le système de fichiers ; les séquences
+d'échappement sont donc supprimées des références arrières au moment où
+ces dernières sont appliquées. Avec le drapeau B, les caractères
+non-alphanumériques des références arrières seront échappés. Considérons
+par exemple cette règle :</p>
+
+<div class="example"><p><code>
+RewriteRule ^(/.*)$ /index.php?show=$1
+</code></p></div>
+
+<p>Avec cet exemple, <code>/C++</code> sera réécrit en
+<code>/index.php?show=/C++</code>. Mais <code>/C%2b%2b</code> sera lui
+aussi réécrit en <code>/index.php?show=/C++</code>, car le caractère
+<code>%2b</code> aura été "déséchappé". Avec le drapeau B par contre,
+<code>/C%2b%2b</code> sera réécrit en
+<code>/index.php?show=/C%2b%2b</code>.</p>
+
+<p>Ce processus d'échappement est en particulier nécessaire dans le
+contexte d'un mandataire, où l'accès au serveur d'arrière-plan échouera
+si on présente à ce dernier une URL non échappée.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_c" id="flag_c">C|chain</a></h2>
+<p>Le drapeau [C] ou [chain] indique que la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est chaînée avec la
+suivante. Autrement dit, si la règle s'applique, elle est traitée
+normalement et passe le contrôle à la règle suivante. Par contre, si
+elle ne s'applique pas, la règle suivante, ainsi que toutes les règles
+chaînées qui suivent, seront sautées.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_co" id="flag_co">CO|cookie</a></h2>
+<p>Le drapeau [CO], ou [cookie], vous permet de définir un cookie
+lorsqu'une règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+s'applique. Il possède trois arguments obligatoires et
+quatre arguments optionnels.</p>
+
+<p>La syntaxe complète de ce drapeau, avec tous ses attributs, est la
+suivante :</p>
+
+<div class="example"><p><code>
+[CO=NAME:VALUE:DOMAIN:lifetime:path:secure:httponly]
+</code></p></div>
+
+<p>Vous devez déclarer un nom, une valeur et un domaine pour que
+le cookie puisse être défini.</p>
+
+<dl>
+<dt>Domain</dt>
+<dd>Le domaine pour lequel vous souhaitez que le cookie soit valide. Ce
+peut être un nom de serveur, comme <code>www.example.com</code>, ou un
+domaine, comme <code>.example.com</code>. Il doit comporter au moins
+deux parties séparées par un point. C'est à dire que vous ne pouvez pas
+utiliser les valeurs <code>.com</code> ou <code>.net</code>. En effet,
+ce style de cookie est interdit par le modèle de sécurité des cookies.</dd>
+</dl>
+
+<p>Vous pouvez aussi définir les valeurs suivantes :</p>
+
+<dl>
+<dt>Lifetime</dt>
+<dd>La durée de vie du cookie, en minutes.</dd>
+<dd>Une valeur de 0 indique une durée de vie correspondant à la session
+courante du navigateur. Il s'agit de la valeur par défaut.</dd>
+
+<dt>Path</dt>
+<dd>Le chemin, sur le site web concerné, pour lequel le cookie est
+valide, du style <code>/clients/</code> or
+<code>/fichiers/telechargement/</code>.</dd>
+<dd>La valeur par défaut est <code>/</code> - c'est à dire l'ensemble du
+site web.</dd>
+
+<dt>Secure</dt>
+<dd>Si cet argument a pour valeur <code>secure</code>,
+<code>true</code>, ou <code>1</code>, le cookie ne pourra être transmis
+que dans le cadre d'une connexion sécurisée (https).</dd>
+
+<dt>httponly</dt>
+<dd>Si cet argument a pour valeur <code>HttpOnly</code>,
+<code>true</code>, ou <code>1</code>, le cookie aura son drapeau
+<code>HttpOnly</code> activé, ce qui signifie qu'il sera inaccessible au
+code JavaScript pour les navigateurs qui supportent cette
+fonctionnalité.</dd>
+</dl>
+
+<p>Voici un exemple :</p>
+
+<div class="example"><p><code>
+RewriteEngine On<br />
+RewriteRule ^/index\.html - [CO=frontdoor:yes:.example.org:1440:/]
+</code></p></div>
+
+<p>Dans l'exemple ci-dessus, la règle ne réécrit
+pas la requête. La cible de réécriture "-"
+indique à mod_rewrite de transmettre la requête sans
+modification. Par contre, il
+définit un cookie nommé 'frontdoor' avec une valeur 'yes'. Le cookie est
+valide pour tout hôte situé dans le domaine <code>.example.org</code>. Sa
+durée de vie est limitée à 1440 minutes (24 heures), et il sera renvoyé
+pour tous les URIs.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_dpi" id="flag_dpi">DPI|discardpathinfo</a></h2>
+<p>Avec le drapeau DPI, la partie PATH_INFO de l'URI
+réécrit est supprimée.</p>
+<p>Ce drapeau est disponible dans les versions 2.2.12 et supérieures.</p>
+<p>Dans un contexte de répertoire, l'URI mis en comparaison par chaque
+règle <code class="directive">RewriteRule</code> est la concaténation des
+valeurs courantes de l'URI et de PATH_INFO.</p>
+
+<p>L'URI courant peut être l'URI initial tel qu'il a été fourni par le
+client, le résultat d'une passe précédente du processus de réécriture,
+ou le résultat de la règle précédente dans le processus courant de
+réécriture.</p>
+
+<p>Par contre, la partie PATH_INFO ajoutée à l'URI avant chaque règle ne
+reflète que la valeur de PATH_INFO avant la passe courante du processus
+de réécriture. En conséquence, si de larges portions de l'URI
+correspondent et sont traduites via plusieurs directives
+<code class="directive">RewriteRule</code>, sans prendre en compte
+quelles parties de l'URI provenaient du PATH_INFO courant, l'URI final
+pourra se voir ajouter plusieurs copies de PATH_INFO.</p>
+
+<p>Utilisez ce drapeau pour toute substitution où la présence du PATH_INFO qui
+résultait de la mise en correspondance précédente de cette requête avec
+le système de fichier n'est pas nécessaire. Avec ce drapeau, le
+PATH_INFO établi avant que cette passe du processus de réécriture ne
+débute est oublié. PATH_INFO ne sera pas recalculé tant que la passe
+courante du processus de réécriture ne sera pas achevée. Les règles
+suivantes de cette passe ne verront que le résultat direct des
+substitutions, sans aucun PATH_INFO ajouté.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_e" id="flag_e">E|env</a></h2>
+<p>Avec le drapeau [E], ou [env], vous pouvez définir la valeur d'une
+variable d'environnement. Notez que certaines variables d'environnement
+peuvent être définies après le traitement de la règle, annulant par
+la-même ce que vous avez défini. Voir le <a href="../env.html">document
+sur les variables d'environnement</a> pour plus de détails sur le
+fonctionnement des variables d'environnement.</p>
+
+<p>La syntaxe complète pour ce drapeau est :</p>
+
+<div class="example"><p><code>
+[E=!VAR]
+</code></p></div>
+
+<p><code>VAL</code> peut comporter des références arrières
+(<code>$N</code> ou <code>%N</code>) qui seront développées.</p>
+
+<p>En utilisant la version courte</p>
+
+<div class="example"><p><code>
+[E=VAR]
+</code></p></div>
+
+<p>vous pouvez définir la variable d'environnement nommée
+<code>VAR</code> avec une valeur vide.</p>
+
+<p>La forme</p>
+
+<div class="example"><p><code>
+[E=!VAR]
+</code></p></div>
+
+<p>permet d'annuler la définition de la variable <code>VAR</code>.</p>
+
+<p>Les variables d'environnement s'emploient dans différents contextes,
+comme les programmes CGI, d'autres directives RewriteRule, ou des
+directives CustomLog.</p>
+
+<p>L'exemple suivant définit une variable d'environnement nommée 'image'
+avec une valeur de '1' si l'URI de la requête correspond à un fichier
+image. Cette variable d'environnement est ensuite utilisée pour exclure
+une telle requête du journal des accès.</p>
+
+<div class="example"><p><code>
+RewriteRule \.(png|gif|jpg) - [E=image:1]<br />
+CustomLog logs/access_log combined env=!image
+</code></p></div>
+
+<p>Notez que le même effet peut être obtenu à l'aide de la directive
+<code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>. Cette technique
+est présentée à titre d'exemple et non de recommandation.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_f" id="flag_f">F|forbidden</a></h2>
+<p>L'utilisation du drapeau [F] permet de faire envoyer par le serveur au
+client un code de statut "403 Forbidden". Le même effet peut être obtenu à
+l'aide de la directive <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code>,
+mais ce drapeau offre plus de souplesse dans l'attribution d'un statut
+Forbidden.</p>
+
+<p>La règle suivante va interdire la téléchargement de fichiers
+<code>.exe</code> depuis votre serveur.</p>
+
+<div class="example"><p><code>
+RewriteRule \.exe - [F]
+</code></p></div>
+
+<p>Cet exemple utilise la syntaxe "-" pour la cible de réécriture, ce
+qui signifie que l'URI de la requête n'est pas modifié. Il n'y a aucune
+raison de réécrire un URI, si vous avez l'intention d'interdire la
+requête.</p>
+
+<p>Lorsqu'on utilise [F], [L] est implicite - c'est à dire que la
+réponse est renvoyée immédiatement, et aucune autre règle n'est évaluée.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_g" id="flag_g">G|gone</a></h2>
+<p>Le drapeau [G] permet de faire envoyer par le serveur un code de statut
+"410 Gone" avec la réponse. Ce code indique qu'une ressource qui était
+disponible auparavant ne l'est plus actuellement.</p>
+
+<p>Comme dans le cas du drapeau [F], on utilise en général la syntaxe
+"-" pour la cible de réécriture lorsqu'on utilise le drapeau [G] :</p>
+
+<div class="example"><p><code>
+RewriteRule ancienne-ressource - [G,NC]
+</code></p></div>
+
+<p>Lorsqu'on utilise [F], [L] est implicite - c'est à dire que la
+réponse est renvoyée immédiatement, et aucune autre règle n'est évaluée.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_h" id="flag_h">H|handler</a></h2>
+<p>Force le traitement de la requête résultante par le gestionnaire
+spécifié. Par exemple, on peut utiliser ce drapeau pour forcer
+l'interprétation de tous les fichiers sans extension par le gestionnaire
+php :</p>
+
+<div class="example"><p><code>
+RewriteRule !\. - [H=application/x-httpd-php]
+</code></p></div>
+
+<p>
+L'expression rationnelle ci-dessus - <code>!\.</code> - correspond à
+toute requête qui ne contient pas le caractère <code>.</code>.
+</p>
+<p>On peut aussi utiliser ce drapeau pour forcer l'utilisation d'un
+certain gestionnaire en fonction de certaines conditions. Par exemple,
+l'extrait suivant utilisé dans un contexte de niveau serveur permet de
+faire en sorte que les fichiers <code>.php</code> soient
+<em>affichés</em> par <code>mod_php</code> dans le cas où ils font
+l'objet d'une requête avec l'extension <code>.phps</code> :</p>
+
+<div class="example"><p><code>
+RewriteRule ^(/source/.+\.php)s$ $1 [H=application/x-httpd-php-source]
+</code></p></div>
+
+
+<p>L'expression rationnelle ci-dessus -
+<code>^(/source/.+\.php)s$</code> - va correspondre à toute requête qui
+débutera par <code>/source/</code>, continuera par 1 ou n caractères
+puis par <code>.phps</code>. La référence arrière $1 fait référence à la
+correspondance capturée entre parenthèses de l'expression
+rationnelle.</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_l" id="flag_l">L|last</a></h2>
+<p>Lorsque le drapeau [L] est présent, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+arrête le traitement du jeu de règles. Cela signifie dans la plupart des
+situations que si la règle s'applique, aucune autre règle ne sera
+traitée. Ce drapeau correspond à la commande Perl <code>last</code>, ou
+à la commande <code>break</code> en C. Utilisez ce drapeau pour indiquer
+que la règle courante doit être appliquée immédiatement, sans tenir
+compte des règles ultérieures.</p>
+
+<p>Si vous utilisez des règles <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> dans des fichiers
+<code>.htaccess</code> ou des sections <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>, il est important d'avoir quelques
+notions sur la manière dont les règles sont traitées. Pour simplifier,
+une fois les règles traitées, la requête réécrite est passée à nouveau
+au moteur d'interprétation des URLs afin que ce dernier puisse la
+traiter. Il est possible qu'au cours du traitement de la requête
+réécrite, le fichier <code>.htaccess</code> ou la section <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> soient à nouveau
+rencontrés, entraînant un nouveau traitement du jeu de règles depuis le
+début. Cette situation se présente le plus souvent lorsqu'une des règles
+provoque une redirection - interne ou externe - ce qui réinitialise le
+traitement de la requête.</p>
+
+<p>Si vous utilisez des directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> dans un de ces contextes,
+il importe par conséquent de prévoir explicitement des étapes permettant
+d'éviter un bouclage infini sur les règles,
+et de ne pas compter seulement sur
+le drapeau [L] pour terminer l'exécution d'une série de règles, comme
+décrit ci-dessous.</p>
+
+<p>Un autre drapeau, [END], permet non seulement d'interrompre le cycle
+courant du processus de réécriture, mais aussi d'empêcher toute
+réécriture ultérieure dans le contexte de répertoire (htaccess). Ceci ne
+s'applique pas aux nouvelles requêtes résultant de redirections
+externes.</p>
+
+<p>Dans l'exemple donné ici, toute requête est réécrite en
+<code>index.php</code>, la requête originale étant ajoutée comme chaîne
+de requête en argument à <code>index.php</code> ; cependant, la
+directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> permet de s'assurer que si
+la requête concerne déjà <code>index.php</code>, la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> sera sautée.</p>
+
+<div class="example"><p><code>
+RewriteBase /<br />
+RewriteCond %{REQUEST_URI} !=/index.php<br />
+RewriteRule ^(.*) /index.php?req=$1 [L,PT]
+</code></p></div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_n" id="flag_n">N|next</a></h2>
+<p>Le drapeau [N] provoque un redémarrage du traitement des règles
+depuis le début, en utilisant le résultat du jeu de règles, sous
+réserve qu'il existe un point de démarrage ; à utiliser avec précautions
+car il peut provoquer un bouclage infini.
+</p>
+<p>
+Le drapeau [Next] peut servir, par exemple,
+à remplacer de manière répétitive
+une chaîne de caractère ou une lettre dans une requête. Dans l'exemple
+suivant, chaque occurence de A sera remplacée par B dans la requête, et
+ceci jusqu'il n'y ait plus de A à remplacer.
+</p>
+
+<div class="example"><p><code>
+RewriteRule (.*)A(.*) $1B$2 [N]
+</code></p></div>
+
+<p>Vous pouvez vous représenter ce traitement comme une boucle
+<code>while</code> : tant que le modèle de la règle correspond (c'est à
+dire, tant que l'URI contient un <code>A</code>),
+effectuer la substitution (c'est à dire, remplacer le <code>A</code> par
+un <code>B</code>).</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_nc" id="flag_nc">NC|nocase</a></h2>
+<p>Avec le drapeau [NC], le modèle de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est comparé à la requête de
+manière insensible à la casse. C'est à dire que cette comparaison
+s'effectue sans tenir compte des majuscules/minuscules dans l'URI
+comparé.</p>
+
+<p>Dans l'exemple suivant, toute requête pour un fichier image sera
+transmise par Apache à votre serveur d'images dédié. La correspondance est
+insensible à la casse, si bien que par exemple, <code>.jpg</code> aussi
+bien que <code>.JPG</code> seront acceptés.</p>
+
+<div class="example"><p><code>
+RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]
+</code></p></div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ne" id="flag_ne">NE|noescape</a></h2>
+<p>Par défaut, les caractères spéciaux, comme <code>&amp;</code> et
+<code>?</code>, sont convertis en leur équivalent
+hexadécimal. Le drapeau [NE] permet d'éviter cette conversion.
+</p>
+
+<div class="example"><p><code>
+RewriteRule ^/ancre/(.+) /grosse-page.html#$1 [NE,R]
+</code></p></div>
+
+<p>
+Dans l'exemple ci-dessus, <code>/anchor/xyz</code> est réécrit en
+<code>/bigpage.html#xyz</code>. En l'absence du drapeau [NE], le #
+aurait été converti en son équivalent hexadécimal, <code>%23</code>, ce
+qui aurait provoqué un code d'erreur "404 Not Found".
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ns" id="flag_ns">NS|nosubreq</a></h2>
+<p>Le drapeau [NS] empêche la règle de s'appliquer aux sous-requêtes.
+Par exemple, une page incluse au moyen d'une SSI (Server
+Side Include) est une sous-requête, et vous ne voudrez probablement pas que
+la réécriture s'applique à ces sous-requêtes. Ainsi, lorsque
+<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> recherche des informations à propos des
+fichiers par défaut du répertoire (comme les fichiers
+<code>index.html</code>), il s'agit d'une sous-requête interne, et vous
+ne désirez en général pas que ces sous-requêtes soient réécrites. Cette
+réécriture
+n'est pas toujours utile pour les sous-requêtes, et peut même causer des
+erreurs si l'ensemble du jeu de règles est appliqué. L'utilisation de
+ce drapeau permet d'exclure les règles qui peuvent poser problème.</p>
+
+<p>Comment déterminer si vous devez utiliser cette règle ou non : si
+vous préfixez les URLs avec des scripts CGI, afin de forcer leur
+traitement par le script CGI, vous vous exposez à des problèmes (ou du
+moins à une surcharge significative) avec les sous-requêtes. Dans ces
+cas, vous devez utiliser ce drapeau.</p>
+
+<p>
+Les images, scripts java, ou fichiers css, chargés en tant que partie
+d'une page html, ne sont pas des sous-requêtes - le navigateur les
+appelle sous forme de requêtes HTTP à part entière.
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_p" id="flag_p">P|proxy</a></h2>
+<p>L'utilisation du drapeau [P] entraîne le traitement de la requête par
+le module <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, et ceci via une requête de
+mandataire. Par exemple, si vous voulez que toutes les requêtes d'images
+soient traitées par un serveur d'images annexe, vous pouvez utiliser
+une règle de ce style :</p>
+
+<div class="example"><p><code>
+RewriteRule (.*)\.(jpg|gif|png) http://images.example.com$1.$2 [P]
+</code></p></div>
+
+<p>L'utilisation du drapeau [P] provoque aussi l'effet du drapeau [L] -
+autrement dit, la requête est immédiatement envoyée au mandataire, et
+toute règle ultérieure sera ignorée.</p>
+
+<p>
+Vous devez vous assurer que la chaîne de substitution soit un URI valide
+(commençant typiquement par <code>http://</code><em>nom-serveur</em>)
+qui puisse être traitée par le module <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Dans
+le cas contraire, le module mandataire vous renverra une erreur.
+L'utilisation de ce drapeau implémente de manière plus puissante la
+directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>, pour
+faire correspondre le contenu distant à l'espace de nommage du serveur
+local.</p>
+
+<p>Note: <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> doit être activé pour pouvoir
+utiliser ce drapeau.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_pt" id="flag_pt">PT|passthrough</a></h2>
+
+<p>
+Par défaut, la cible (ou chaîne de substitution) d'une règle
+RewriteRule est sensée être un chemin de fichier. Avec le drapeau [PT],
+par contre, elle est traitée comme un URI. Autrement dit, avec le
+drapeau [PT], le résultat de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est passé à nouveau au
+système de mise en correspondance des URLs avec le système de fichiers,
+de façon à ce que les systèmes de mise en correspondance basés sur les
+chemins de fichiers, comme la directive <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, <code class="directive"><a href="../mod/core.html#redirect">Redirect</a></code>, ou <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>, par exemple, puissent avoir une
+chance d'accomplir leur tâche.
+</p>
+
+<p>
+Si par exemple, vous avez un <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> pour /icons, et une règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> qui renvoie vers /icons,
+vous devez utiliser le drapeau [PT] pour être sûr que l'<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> sera bien évalué.
+</p>
+
+<div class="example"><p><code>
+Alias /icons /usr/local/apache/icons<br />
+RewriteRule /pics/(.+)\.jpg /icons/$1.gif [PT]
+</code></p></div>
+
+<p>
+Dans l'exemple précédent, en l'absence du drapeau [PT], l'Alias aurait
+été ignoré, ce qui aurait provoqué une erreur 'File not found'.
+</p>
+
+<p>Avec le drapeau <code>PT</code>, le drapeau <code>L</code> est
+implicite : la réécriture s'arrêtera afin de transmettre la requête à la
+phase suivante du traitement.</p>
+
+<p>Notez que le drapeau <code>PT</code> est implicite dans des contextes
+de répertoire comme les sections <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> ou les fichiers
+<code>.htaccess</code>. Le seul moyen de contourner ceci consiste à
+réécrire vers <code>-</code>.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsa" id="flag_qsa">QSA|qsappend</a></h2>
+<p>
+Quand l'URI de remplacement contient une chaîne de requête, le
+comportement par défaut de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est de supprimer la <code>
+query string</code> (il s'agit des paramètres éventuellement passés dans l'URL après le
+caractère <code>?</code>, usuellement pour les formulaires traités par la
+méthode HTTP <code>GET</code>) existante, et de la remplacer par celle nouvellement créée.
+Avec le drapeau [QSA], les chaînes de requête peuvent être combinées.
+</p>
+
+<p>Considérons la règle suivante :</p>
+
+<div class="example"><p><code>
+RewriteRule /pages/(.+) /page.php?page=$1 [QSA]
+</code></p></div>
+
+<p>Avec le drapeau [QSA], une requête pour
+<code>/pages/123?one=two</code> sera réécrite en
+<code>/page.php?page=123&amp;one=two</code>. Sans le drapeau [QSA], la
+même requête sera réécrite en <code>/page.php?page=123</code> -
+autrement dit, la chaîne de requête (<code>query string</code>) existante sera supprimée.
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsd" id="flag_qsd">QSD|qsdiscard</a></h2>
+<p>
+Lorsque l'URI de la requête contient une chaîne de paramètres, et si
+l'URI cible n'en contient pas, le comportement par défaut de la
+directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> consiste à copier cette
+chaîne de paramètres dans l'URI cible. Avec le drapeau [QSD], la chaîne
+de paramètres est supprimée.
+</p>
+
+<p>Ce drapeau est disponible dans les versions 2.4.0 et supérieures.</p>
+
+<p>
+Lorsque les drapeaux [QSD] et [QSA] sont utilisés ensemble, c'est le
+drapeau [QSD] qui l'emporte.
+</p>
+
+<p>
+Si l'URI cible possède une chaîne de paramètres, le comportement par
+défaut sera respecté - c'est à dire que la chaîne de paramètres
+originale sera supprimée et remplacée par la chaîne de paramètres de
+l'URI cible.
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_r" id="flag_r">R|redirect</a></h2>
+<p>
+L'utilisation du drapeau [R] provoque l'envoi d'une redirection au
+navigateur. Si une URL pleinement qualifiée (FQDN - fully qualified domain name)
+ est spécifiée (c'est à dire incluant <code>http://nom-du-serveur/</code>),
+ une redirection sera effectuée vers cette adresse. Dans le cas contraire,
+ le protocole courant, le nom du serveur et le numéro de port seront
+ utilisés pour générer l'URL envoyée avec la redirection.
+</p>
+
+<p><em>Tout</em> code de statut de réponse HTTP valide peut être
+spécifié, en utilisant la syntaxe [R=305], le code de statut 302 étant
+utilisé par défaut si aucun code n'est spécifié. Le code de statut
+spécifié n'est pas nécessairement un code de statut de redirection (3xx).
+</p>
+
+<p>Si le code de statut est en dehors de la plage des codes de
+redirection (300-399), la chaîne de substitution est entièrement
+supprimée, et la réécriture s'arrête comme si le drapeau <code>L</code>
+était utilisé.</p>
+
+<p>En plus des codes de statut de réponse, vous pouvez spécifier les
+codes de redirection en utilisant leurs noms symboliques :
+<code>temp</code> (défaut), <code>permanent</code>, ou
+<code>seeother</code>.</p>
+
+<p>
+Vous utiliserez presque toujours [R] en conjonction avec [L] (c'est à
+dire [R,L]), car employé seul, le drapeau [R] préfixe l'URI avec
+<code>http://cet-hôte[:ce-port]</code>, mais passe ensuite cette adresse
+à la règle suivante, ce qui provoquera le plus souvent des
+avertissements 'Invalid URI in request'.
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_s" id="flag_s">S|skip</a></h2>
+<p>Le drapeau [S] sert à sauter des règles que vous ne voulez pas voir
+exécuter. Ceci peut s'interpréter comme une instruction
+<code>goto</code> dans votre jeu de règles de réécriture. Dans
+l'exemple suivant, nous ne voulons exécuter la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> que si l'URI demandé ne
+correspond pas à un fichier existant.</p>
+
+<div class="example"><p><code>
+# La requête concerne-t-elle un fichier qui n'existe pas ?<br />
+RewriteCond %{REQUEST_FILENAME} !-f<br />
+RewriteCond %{REQUEST_FILENAME} !-d<br />
+# Si c'est la cas, on saute les deux règles de réécriture suivantes<br />
+RewriteRule .? - [S=2]<br />
+<br />
+RewriteRule (.*\.gif) images.php?$1<br />
+RewriteRule (.*\.html) docs.php?$1
+</code></p></div>
+
+<p>Cette technique trouve son utilité dans le fait qu'une directive
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> ne s'applique
+qu'à la règle qui la suit immédiatement. Ainsi, si vous voulez
+qu'une directive <code>RewriteCond</code> s'applique à plusieurs règles
+<code>RewriteRule</code>, une technique possible consiste à inverser ces
+conditions et à utiliser le drapeau [Skip]. Cette technique permet
+d'élaborer des pseudo-constructions if-then-else : la dernière règle du
+bloc then contiendra <code>skip=N</code>, où N est le nombre de règles
+contenues dans le bloc else.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_t" id="flag_t">T|type</a></h2>
+<p>Définit le type MIME de la réponse résultante renvoyée. L'effet est
+identique à celui de la directive <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code>.</p>
+
+<p>Par exemple, vous pouvez utiliser la technique suivante pour servir
+du code source Perl en tant que plein texte, s'il est requis d'une
+certaine manière :</p>
+
+<div class="example"><p><code>
+# Sert les fichier .pl en tant que plein texte<br />
+RewriteRule \.pl$ - [T=text/plain]
+</code></p></div>
+
+<p>Ou encore, si vous possédez une caméra qui produit des fichiers
+images jpeg sans extension, vous pouvez forcer le renvoi de ces images
+avec le type MIME correct en se basant sur le nom du fichier :</p>
+
+<div class="example"><p><code>
+# Les fichiers dont le nom contient 'IMG' sont des images jpg.<br />
+RewriteRule IMG - [T=image/jpg]
+</code></p></div>
+
+<p>Notez cependant qu'il s'agit d'un exemple trivial, et que le problème
+aurait pu être résolu en utilisant à la place la directive <code class="directive"><a href="../mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>. Il faut toujours
+envisager la possibilité d'une solution alternative à un problème avant
+d'avoir recours à la réécriture, qui sera toujours moins efficace qu'une
+solution alternative.</p>
+
+<p>
+Dans un contexte de niveau répertoire, n'utilisez que <code>-</code>
+(tiret) comme substitution, <em>dans toute la séquence de réécriture de
+mod_rewrite</em>, sinon le type MIME défini avec ce drapeau
+sera perdu suite à un retraitement interne (y compris les séquences de
+réécriture suivantes de mod_rewrite). Dans ce contexte, vous pouvez
+utiliser le drapeau <code>L</code> pour terminer la séquence
+<em>courante</em> de réécriture de mod_rewrite.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/flags.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/rewrite_intro.html b/docs/manual/rewrite/htaccess.html
index e6e697d2..491a51c7 100644
--- a/docs/manual/rewrite/rewrite_intro.html
+++ b/docs/manual/rewrite/htaccess.html
@@ -1,5 +1,5 @@
# GENERATED FROM XML -- DO NOT EDIT
-URI: rewrite_intro.html.en
+URI: htaccess.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/rewrite/htaccess.html.en b/docs/manual/rewrite/htaccess.html.en
new file mode 100644
index 00000000..d38a63e1
--- /dev/null
+++ b/docs/manual/rewrite/htaccess.html.en
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_rewrite and .htaccess files - Apache HTTP Server</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite and .htaccess files</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/rewrite/htaccess.html" title="English">&nbsp;en&nbsp;</a></p>
+</div>
+
+
+<p>This document supplements the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">reference documentation</a>. It describes
+the way that the rules change when you use mod_rewrite in .htaccess files,
+and how to deal with these changes.</p>
+
+</div>
+<div id="quickview"><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module documentation</a></li><li><a href="intro.html">mod_rewrite introduction</a></li><li><a href="remapping.html">Redirection and remapping</a></li><li><a href="vhosts.html">Virtual hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Using RewriteMap</a></li><li><a href="advanced.html">Advanced techniques and tricks</a></li><li><a href="avoid.html">When not to use mod_rewrite</a></li></ul></div>
+</div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/rewrite/htaccess.html" title="English">&nbsp;en&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/index.html b/docs/manual/rewrite/index.html
index 23ec1ec0..77d7eb5e 100644
--- a/docs/manual/rewrite/index.html
+++ b/docs/manual/rewrite/index.html
@@ -4,6 +4,14 @@ URI: index.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: index.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: index.html.tr.utf8
Content-Language: tr
Content-type: text/html; charset=UTF-8
+
+URI: index.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/rewrite/index.html.en b/docs/manual/rewrite/index.html.en
index 73ee94bb..b597b4bd 100644
--- a/docs/manual/rewrite/index.html.en
+++ b/docs/manual/rewrite/index.html.en
@@ -19,78 +19,69 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/rewrite/" title="English">&nbsp;en&nbsp;</a> |
-<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
- <blockquote>
- <p>``The great thing about mod_rewrite is it gives you
- all the configurability and flexibility of Sendmail.
- The downside to mod_rewrite is that it gives you all
- the configurability and flexibility of Sendmail.''</p>
- <p class="cite">-- <cite>Brian Behlendorf</cite><br />
- Apache Group</p>
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> provides a way to modify incoming
+ URL requests, dynamically, based on <a href="intro.html#regex">regular
+ expression</a> rules. This allows you to map arbitrary URLs onto
+ your internal URL structure in any way you like.</p>
- </blockquote>
-
- <blockquote>
- <p>``Despite the tons of examples and docs,
- mod_rewrite is voodoo. Damned cool voodoo, but still
- voodoo.''</p>
-
- <p class="cite">-- <cite>Brian Moore</cite><br />
- bem@news.cmc.net</p>
-
- </blockquote>
-
- <p>Welcome to mod_rewrite, the Swiss Army Knife of URL
- manipulation!</p>
-
- <p>This module uses a rule-based rewriting engine (based on a
- regular-expression parser) to rewrite requested URLs on the
- fly. It supports an unlimited number of rules and an
+ <p>It supports an unlimited number of rules and an
unlimited number of attached rule conditions for each rule to
provide a really flexible and powerful URL manipulation
- mechanism. The URL manipulations can depend on various tests,
- for instance server variables, environment variables, HTTP
- headers, time stamps and even external database lookups in
- various formats can be used to achieve granular URL
+ mechanism. The URL manipulations can depend on various tests:
+ server variables, environment variables, HTTP
+ headers, time stamps, external database lookups, and various other
+ external programs or handlers, can be used to achieve granular URL
matching.</p>
- <p>This module operates on the full URLs (including the
- path-info part) both in per-server context
- (<code>httpd.conf</code>) and per-directory context
- (<code>.htaccess</code> files and <code>&lt;Directory&gt;</code>
- blocks) and can even generate query-string
- parts on result. The rewritten result can lead to internal
- sub-processing, external request redirection or even to an
- internal proxy throughput.</p>
+ <p>Rewrite rules can operate on the full URLs, including the path-info
+ and query string portions, and may be used in per-server context
+ (<code>httpd.conf</code>), per-virtualhost context (<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> blocks), or
+ per-directory context (<code>.htaccess</code> files and <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> blocks). The
+ rewritten result can lead to further rules, internal
+ sub-processing, external request redirection, or proxy
+ passthrough, depending on what <a href="flags.html">flags</a> you
+ attach to the rules.</p>
+
+ <p>Since mod_rewrite is so powerful, it can indeed be rather
+ complex. This document supplements the <a href="../mod/mod_rewrite.html">reference documentation</a>, and
+ attempts to allay some of that complexity, and provide highly
+ annoted examples of common scenarios that you may handle with
+ mod_rewrite. But we also attempt to show you when you should not
+ use mod_rewrite, and use other standard Apache features instead,
+ thus avoiding this unnecessary complexity.</p>
- <p>But all this functionality and flexibility has its
- drawback: complexity. So don't expect to understand this
- entire module in just one day.</p>
-</div>
-<div id="quickview"><h3>See also</h3><ul class="seealso"><li><a href="../urlmapping.html">Mapping URLs to the Filesystem</a></li><li><a href="http://wiki.apache.org/httpd/Rewrite">mod_rewrite
-wiki</a></li><li><a href="../glossary.html">Glossary</a></li></ul></div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="documentation" id="documentation">Documentation</a></h2>
<ul>
<li><a href="../mod/mod_rewrite.html">mod_rewrite reference
documentation</a></li>
-<li><a href="rewrite_intro.html">Introduction</a></li>
-<li><a href="rewrite_flags.html">Flags</a></li>
-<li><a href="rewrite_tech.html">Technical details</a></li>
-<li><a href="rewrite_guide.html">Rewrite Guide - useful examples</a></li>
-<li><a href="rewrite_guide_advanced.html">Advanced Rewrite Guide - more
-useful examples</a></li>
+<li><a href="intro.html">Introduction to regular expressions and mod_rewrite</a></li>
+<li><a href="remapping.html">Using mod_rewrite for redirection and remapping of URLs</a></li>
+<li><a href="access.html">Using mod_rewrite to control access</a></li>
+<li><a href="vhosts.html">Dynamic virtual hosts with mod_rewrite</a></li>
+<li><a href="proxy.html">Dynamic proxying with mod_rewrite</a></li>
+<li><a href="rewritemap.html">Using RewriteMap</a></li>
+<li><a href="advanced.html">Advanced techniques and tricks</a></li>
+<li><a href="avoid.html">When <strong>NOT</strong> to use mod_rewrite</a></li>
+<li><a href="flags.html">RewriteRule Flags</a></li>
+<li><a href="tech.html">Technical details</a></li>
</ul>
-</div></div>
+</div>
+<div id="quickview"><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">mod_rewrite reference
+documentation</a></li><li><a href="../urlmapping.html">Mapping URLs to the Filesystem</a></li><li><a href="http://wiki.apache.org/httpd/Rewrite">mod_rewrite
+wiki</a></li><li><a href="../glossary.html">Glossary</a></li></ul></div>
+</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/rewrite/" title="English">&nbsp;en&nbsp;</a> |
-<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/index.html.fr b/docs/manual/rewrite/index.html.fr
new file mode 100644
index 00000000..b36805b2
--- /dev/null
+++ b/docs/manual/rewrite/index.html.fr
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Le module Apache mod_rewrite - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>Le module Apache mod_rewrite</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> permet de modifier les requêtes
+ entrantes dynamiquement, en fonction de règles manipulant des <a href="intro.html#regex">expressions rationnelles</a>. Vous pouvez
+ ainsi relier des URLs arbitraires à votre propre structure d'URLs
+ interne comme vous le souhaitez.</p>
+
+ <p>Il fournit un
+ mécanisme de manipulation d'URL particulièrement souple et
+ puissant en supportant un nombre illimité de règles et de
+ conditions attachées à chaque règle. Les manipulations d'URLs
+ peuvent dépendre de tests variés : les URLs peuvent
+ être finement caractérisées en fonction de variables du serveur,
+ de variables d'environnement, d'en-têtes HTTP, de repères
+ temporels, de recherches dans des bases de données
+ externes, ou même de requêtes vers des bases de données externes
+ et de différents gestionnaires ou programmes externes.</p>
+
+ <p>Les règles de réécriture peuvent agir sur l'ensemble des URLs (la partie chemin
+ et la chaîne de paramètres) et peuvent être utilisées dans le contexte du serveur principal
+ (<code>httpd.conf</code>), mais aussi dans le contexte des
+ serveurs virtuels (sections <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>), ou dans le
+ contexte des
+ répertoires (fichiers <code>.htaccess</code> et blocs
+ <code>&lt;Directory&gt;</code>. Le résultat
+ réécrit peut conduire vers d'autres règles à un
+ traitement secondaire interne, une redirection vers une requête
+ externe ou même l'envoi vers un serveur mandataire, en fonction
+ des <a href="flags.html">drapeaux</a> que vous attachez aux
+ règles</p>
+
+ <p>mod_rewrite étant très puissant, il peut par
+ conséquent être très complexe. Ce document
+ complè la <a href="../mod/mod_rewrite.html">documentation de
+ référence</a>, et est sensé alléger un
+ peu cette complexité, et présenter des exemples largement
+ commentés, ainsi que des situations courantes que vous
+ pourrez traiter avec mod_rewrite. Mais nous voulons aussi vous
+ montrer des situations où vous ne devrez pas utiliser
+ mod_rewrite, et lui préférer d'autres
+ fonctionnalités standard d'Apache, évitant ainsi
+ d'entrer dans une complexité inutile.</p>
+
+<ul>
+<li><a href="../mod/mod_rewrite.html">documentation de
+référence de mod_rewrite</a></li>
+<li><a href="intro.html">Introduction aux expressions rationnelles et à
+mod_rewrite</a></li>
+<li><a href="remapping.html">Utilisation de mod_rewrite pour la
+redirection et la remise en corespondance avec le système de
+fichiers des URLs</a></li>
+<li><a href="access.html">Utilisation de mod_rewrite pour le
+contrôle d'accès</a></li>
+<li><a href="vhosts.html">Les serveurs virtuels dynamiques avec mod_rewrite</a></li>
+<li><a href="proxy.html">Les serveurs mandataires dynamiques avec mod_rewrite</a></li>
+<li><a href="rewritemap.html">Utilisation de RewriteMap</a></li>
+<li><a href="advanced.html">Techniques avancées et conseils</a></li>
+<li><a href="avoid.html">Quand <strong>NE PAS</strong> utiliser mod_rewrite</a></li>
+<li><a href="flags.html">Drapeaux de réécriture</a></li>
+<li><a href="tech.html">Détails techniques</a></li>
+</ul>
+</div>
+<div id="quickview"><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation de
+référence de mod_rewrite</a></li><li><a href="../urlmapping.html">Mise en correspondance des URLs
+avec le système de fichiers</a></li><li><a href="http://wiki.apache.org/httpd/Rewrite">wiki mod_rewrite
+</a></li><li><a href="../glossary.html">Glossaire</a></li></ul></div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/index.html.tr.utf8 b/docs/manual/rewrite/index.html.tr.utf8
index f0b1c052..8ec3bf2c 100644
--- a/docs/manual/rewrite/index.html.tr.utf8
+++ b/docs/manual/rewrite/index.html.tr.utf8
@@ -19,73 +19,71 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
-<a href="../tr/rewrite/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../tr/rewrite/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<blockquote>
- <p>``mod_rewrite’ı harika yapan şey, Sendmail’ın tüm yapılandırma
- kolaylığı ve esnekliğine sahip olmasıdır. mod_rewrite’ı kötü yapan
- şey ise Sendmail’ın tüm yapılandırma kolaylığı ve esnekliğine sahip
- olmasıdır.''</p>
-
- <p class="cite">-- <cite>Brian Behlendorf</cite><br />
- Apache Group</p>
- </blockquote>
-
- <blockquote>
- <p>``Hakkında tonlarca örnek ve belge olmasına rağmen mod_rewrite kara
- büyüdür. Müthiş güzel bir kara büyü ama yine de kara büyü.''</p>
-
- <p class="cite">-- <cite>Brian Moore</cite><br />
- bem@news.cmc.net</p>
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> gelen URL isteklerini
+ <a href="intro.html#regex">düzenli ifade</a> kurallarına dayanarak
+ devingen olarak dönüştürmek için bir yöntem sağlar. Böylece keyfi URL'leri
+ kendi URL yapınızla istediğiniz şekilde eşleştirmeniz mümkün olur.</p>
</blockquote>
- <p>URL kurgulamasının İsviçre Çakısı olan <code>mod_rewrite</code>
- modülünün belgelerine hoşgeldiniz!</p>
-
- <p>Bu modül istenen URL’leri çalışma anında yeniden yazmak için (düzenli
- ifade çözümleyiciden yararlanan) kurallara dayalı bir yeniden yazma
- motoru kullanır. Gerçekten esnek ve güçlü bir URL kurgulama
+ <p>Gerçekten esnek ve güçlü bir URL kurgulama
mekanizması oluşturmak için sınısız sayıda kural ve her kural için de
sınırsız sayıda koşul destekler. URL değişiklikleri çeşitli sınamalara
- dayanır; sunucu değişkenleri, HTTP başlıkları, ortam değişkenleri,
- zaman damgaları hatta çeşitli biçimlerde harici veritabanı sorguları
- bile bu amaçla kullanılabilir.</p>
+ bağlı olabilir: sunucu değişkenleri, HTTP başlıkları, ortam değişkenleri,
+ zaman damgaları, çeşitli biçimlerde harici veritabanı sorguları. Ayrıca,
+ harici birtakım uygulamalar da bu amaçla kullanılabilir.</p>
- <p>Bu modül URL’lerin tamamında (path-info kısmı dahil) hem sunucu
- bağlamında (<code>httpd.conf</code>) hem de dizin bağlamında
- (<code>.htaccess</code> dosyaları ve <code>&lt;Directory&gt;</code>
- bölümleri) çalışır ve URL üzerinde sorgu dizgesi bölümleri bile
- oluşturabilir. Yeniden yazılan URL sonuçta dahili işlemlerde, harici
- yönlendirmelerde ve hatta dahili vekalet işlemlerinde
- kullanılabilir.</p>
+ <p>Bu modül URL’lerin tamamında (path-info kısmı dahil), sunucu
+ bağlamında (<code>httpd.conf</code>), sanal konaklar bağlamında (<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> bölümleri), dizin
+ bağlamında (<code>.htaccess</code> dosyaları ve
+ <code>&lt;Directory&gt;</code> bölümleri) çalışır. Kurallara eklediğiniz
+ <a href="flags.html">seçeneklere</a> bağlı olarak, yeniden yazılan URL
+ sonuçta dahili işlemlerde, harici yönlendirmelerde ve hatta dahili vekalet
+ işlemlerinde kullanılabilir.</p>
- <p>Fakat tüm bu işlevsellik ve esnekliğin bir bedeli vardır: karmaşıklık.
- Bu yüzden bu modülün yapabildiklerini bir günde anlayabilmeyi
- beklemeyin.</p>
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> çok güçlü bir araç olduğundan oldukça
+ karmaşık görünebilir. Bu belge
+ <a href="../mod/mod_rewrite.html">mod_rewrite başvuru kılavuzunun</a>
+ tamamlayıcısı olup bu karmaşıklığı biraz hafifletmeyi amaçlar ve
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ile elde edilebilen kullanışlı ve oldukça
+ açıklamalı senaryo örnekleri içerir. Ayrıca,
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>'ı hangi durumlarda kullanmamanız gerektiğini
+ ve bunun yerine standart Apache özelliklerinin kullanımını göstermeye,
+ böylece gereksiz karmaşıklıktan sizi kurtarmayı amaçladık. </p>
+
+ <ul>
+ <li><a href="intro.html">mod_rewrite ve düzenli ifadelere giriş</a></li>
+ <li><a href="remapping.html">URL'lerin yeniden eşlenmesi ve yönlendirilmesi
+ için mod_rewrite kullanımı</a></li>
+ <li><a href="access.html">Erişim denetimi için mod_rewrite
+ kullanımı</a></li>
+ <li><a href="vhosts.html">mod_rewrite ile devingen sanal konaklar</a></li>
+ <li><a href="proxy.html">mod_rewrite ile devingen vekil kullanımı</a></li>
+ <li><a href="rewritemap.html">RewriteMap kullanımı</a></li>
+ <li><a href="advanced.html">Gelişkin teknikler ve püfler</a></li>
+ <li><a href="avoid.html">mod_rewrite ne zaman
+ kullanıl<strong>MAZ</strong></a></li>
+ <li><a href="flags.html">RewriteRule Seçenekleri</a></li>
+ <li><a href="tech.html">Teknik ayrıntılar</a></li>
+ </ul>
</div>
-<div id="quickview"><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="../urlmapping.html">URL’lerin Dosya Sistemine Eşlenmesi</a>
+<div id="quickview"><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">mod_rewrite Başvuru Kılavuzu</a>
+</li><li><a href="../urlmapping.html">URL’lerin Dosya Sistemine Eşlenmesi</a>
</li><li><a href="http://wiki.apache.org/httpd/Rewrite">mod_rewrite wiki</a>
</li><li><a href="../glossary.html">Terimler</a></li></ul></div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="documentation" id="documentation">Belgeler</a></h2>
- <ul>
- <li><a href="../mod/mod_rewrite.html">mod_rewrite Başvuru Kılavuzu</a></li>
- <li><a href="rewrite_intro.html">GiriÅŸ</a></li>
- <li><a href="rewrite_flags.html">Seçenekler</a></li>
- <li><a href="rewrite_tech.html">Teknik Ayrıntılar</a></li>
- <li><a href="rewrite_guide.html">Yeniden Yazma Rehberi -
- yararlı örnekler</a></li>
- <li><a href="rewrite_guide_advanced.html">GeliÅŸkin Yeniden Yazma Rehberi -
- daha yararlı örnekler</a></li>
- </ul>
-</div></div>
+</div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
-<a href="../tr/rewrite/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../tr/rewrite/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/index.html.zh-cn b/docs/manual/rewrite/index.html.zh-cn
new file mode 100644
index 00000000..3a82fdcc
--- /dev/null
+++ b/docs/manual/rewrite/index.html.zh-cn
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache mod_rewrite - Apache HTTP æœåŠ¡å™¨</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/rewrite/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> æ供了基于<a href="intro.html#regex">正则表达å¼</a>规则动æ€ä¿®æ”¹ä¼ å…¥çš„请求的 URL 的方法。
+ è¿™å…许你以自己喜欢的任æ„æ–¹æ³•æ˜ å°„ä»»æ„ URL 到你的内部 URL 结构。</p>
+
+ <p>它支æŒæ— é™çš„规则,以åŠä¸ºæ¯ä¸ªè§„则附加æ¡ä»¶ï¼Œä»Žè€Œæ供了一个真正çµæ´»ä¸”强大的 URL
+ æ“作机制。URL æ“作å¯ä»¥ä¾èµ–于å„ç§æµ‹è¯•ï¼Œä¾‹å¦‚æœåŠ¡å™¨å˜é‡ï¼ŒçŽ¯å¢ƒå˜é‡ï¼ŒHTTP
+ 头,时戳,甚至外部数æ®åº“æŸ¥è¯¢ç­‰ï¼Œä»¥ä¾¿å®Œæˆ URL å•å…ƒåŒ¹é…。</p>
+
+ <p>这个模å—在æœåŠ¡å™¨ä¸Šä¸‹æ–‡ (<code>httpd.conf</code>),虚拟主机上下文 (<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 指令å—),目录上下文
+ (<code>.htaccess</code> 文件和 <code>&lt;Directory&gt;</code>
+ 指令å—) 对完整的 URL (包å«ç›®å½•ä¿¡æ¯éƒ¨åˆ†å’ŒæŸ¥è¯¢å­—符串部分) æ“作。
+ é‡å†™ç»“æžœå¯ä»¥å¯¼è‡´æ–°çš„规则处ç†ï¼Œå†…部的åŽç»­å¤„ç†ï¼Œå¤–部请求é‡å®šå‘,甚至é€è¿‡å†…部代ç†ï¼Œ
+ è¿™å–决于你为规则附加的<a href="flags.html">标志</a>。</p>
+
+ <p>既然 mod_rewrite 这么强大,它当然是相当å¤æ‚。这篇文档作为<a href="../mod/mod_rewrite.html">å‚考手册</a>的补充,试图å‡è½»ä¸€äº›å¤æ‚性,
+ æ供你å¯èƒ½ä½¿ç”¨ mod_rewrite 的常è§åœºæ™¯çš„有充分注释的例å­ã€‚
+ 但是,我们也试图告诉你,在什么时候你ä¸åº”当使用 mod_rewrite,
+ å¯ä»¥ä½¿ç”¨å…¶å®ƒæ ‡å‡†çš„ Apache 特性æ¥è¾¾åˆ°ç›®çš„,以é¿å…æ— è°“çš„å¤æ‚性。</p>
+
+<ul>
+<li><a href="../mod/mod_rewrite.html">mod_rewrite å‚考手册</a></li>
+<li><a href="intro.html">正则表达å¼ä¸Ž mod_rewrite 入门</a></li>
+<li><a href="remapping.html">使用 mod_rewrite é‡å®šå‘å’Œé‡æ–°æ˜ å°„ URL</a></li>
+<li><a href="access.html">使用 mod_rewrite 控制访问</a></li>
+<li><a href="vhosts.html">动æ€è™šæ‹Ÿä¸»æœºä¸Ž mod_rewrite</a></li>
+<li><a href="proxy.html">动æ€ä»£ç†ä¸Ž mod_rewrite</a></li>
+<li><a href="rewritemap.html">使用 RewriteMap</a></li>
+<li><a href="advanced.html">高级技术与诀çª</a></li>
+<li><a href="avoid.html">何时 <strong>ä¸è¦</strong>使用 mod_rewrite</a></li>
+<li><a href="flags.html">RewriteRule 标志</a></li>
+<li><a href="tech.html">技术细节</a></li>
+</ul>
+</div>
+<div id="quickview"><h3>å‚è§</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">mod_rewrite å‚考手册</a></li><li><a href="../urlmapping.html">从 URL 映射到文件系统</a></li><li><a href="http://wiki.apache.org/httpd/Rewrite">mod_rewrite
+wiki</a></li><li><a href="../glossary.html">术语</a></li></ul></div>
+</div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/rewrite/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/intro.html b/docs/manual/rewrite/intro.html
new file mode 100644
index 00000000..b83f8836
--- /dev/null
+++ b/docs/manual/rewrite/intro.html
@@ -0,0 +1,9 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: intro.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
+
+URI: intro.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/rewrite/rewrite_intro.html.en b/docs/manual/rewrite/intro.html.en
index a8ac7e3d..f8dc015f 100644
--- a/docs/manual/rewrite/rewrite_intro.html.en
+++ b/docs/manual/rewrite/intro.html.en
@@ -18,7 +18,8 @@
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite Introduction</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/rewrite_intro.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/rewrite/intro.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/intro.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
</div>
<p>This document supplements the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
@@ -30,15 +31,12 @@ but this doc should help the beginner get their feet wet.
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduction</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#regex">Regular Expressions</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#rewriterule">RewriteRule basics</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewriterule">RewriteRule Basics</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#flags">Rewrite Flags</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#rewritecond">Rewrite conditions</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritecond">Rewrite Conditions</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rewritemap">Rewrite maps</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#htaccess">.htaccess files</a></li>
-</ul><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module
-documentation</a></li><li><a href="rewrite_tech.html">Technical details</a></li><li><a href="rewrite_guide.html">Practical solutions to common
-problems</a></li><li><a href="rewrite_guide_advanced.html">Practical solutions to
-advanced problems</a></li></ul></div>
+</ul><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module documentation</a></li><li><a href="remapping.html">Redirection and remapping</a></li><li><a href="access.html">Controlling access</a></li><li><a href="vhosts.html">Virtual hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Using RewriteMap</a></li><li><a href="advanced.html">Advanced techniques and tricks</a></li><li><a href="avoid.html">When not to use mod_rewrite</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="introduction" id="introduction">Introduction</a></h2>
@@ -60,11 +58,12 @@ on <a href="../urlmapping.html">mapping URLs to the
filesystem</a>.</p>
<p>Finally, before proceeding, be sure to configure
-the <code class="directive"><a href="../mod/mod_rewrite.html#rewritelog">RewriteLog</a></code>. Although
-this log file can give an overwhelming amount of information, it is
-indispensable in debugging problems with <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
-configuration, since it will tell you exactly how each rule is
-processed.</p>
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>'s log level to one of the trace levels using
+the <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> directive. Although this
+can give an overwhelming amount of information, it is indispensable in
+debugging problems with <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> configuration, since
+it will tell you exactly how each rule is processed.</p>
+
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="regex" id="regex">Regular Expressions</a></h2>
@@ -140,18 +139,19 @@ the expression.</p>
which can be used with the strings <code>$N</code> and
<code>%N</code> (see below). These are available for creating
the strings <em>Substitution</em> and <em>TestString</em>.
- Figure 2 shows to which locations the back-references are
- transferred for expansion.</p>
+ Figure 1 shows to which locations the back-references are
+ transferred for expansion as well as illustrating the flow of the
+ RewriteRule, RewriteCond matching.</p>
<p class="figure">
- <img src="../images/mod_rewrite_fig2.gif" width="381" height="179" alt="[Needs graphics capability to display]" /><br />
- <dfn>Figure 2:</dfn> The back-reference flow through a rule.
+ <img src="../images/rewrite_rule_flow.png" alt="Flow of RewriteRule and RewriteCond matching" /><br />
+ <dfn>Figure 1:</dfn> The back-reference flow through a rule.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="rewriterule" id="rewriterule">RewriteRule basics</a></h2>
+<h2><a name="rewriterule" id="rewriterule">RewriteRule Basics</a></h2>
<p>A <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> consists
of three arguments separated by spaces. The arguments are</p>
<ol>
@@ -165,6 +165,12 @@ expression</a> matched against the URL-Path of the incoming request
(the part after the hostname but before any question mark indicating
the beginning of a query string).</p>
+<p class="figure">
+ <img src="../images/syntax_rewriterule.png" alt="Syntax of the RewriteRule directive" /><br />
+ <dfn>Figure 2:</dfn> Syntax of the RewriteRule directive.
+</p>
+
+
<p>The <var>Substitution</var> can itself be one of three things:</p>
<dl>
@@ -228,11 +234,11 @@ RewriteRule ^puppy.html smalldog.html [NC]
</code></p></div>
<p>For more details on the available flags, their meanings, and
-examples, see the <a href="rewrite_flags.html">Rewrite Flags</a> document.</p>
+examples, see the <a href="flags.html">Rewrite Flags</a> document.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="rewritecond" id="rewritecond">Rewrite conditions</a></h2>
+<h2><a name="rewritecond" id="rewritecond">Rewrite Conditions</a></h2>
<p>One or more <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
directives can be used to restrict the types of requests that will be
subject to the
@@ -242,6 +248,11 @@ request, the second argument is a <a href="#regex">regular
expression</a> that must match the variable, and a third optional
argument is a list of flags that modify how the match is evaluated.</p>
+<p class="figure">
+ <img src="../images/syntax_rewritecond.png" alt="Syntax of the RewriteCond directive" /><br />
+ <dfn>Figure 3:</dfn> Syntax of the RewriteCond directive
+</p>
+
<p>For example, to send all requests from a particular IP range to a
different server, you could use:</p>
<div class="example"><p><code>
@@ -254,7 +265,7 @@ one <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">Rewrit
specified, they must all match for
the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to be
applied. For example, to deny requests that contain the word "hack" in
-their query string, except if they also contain a cookie containing
+their query string, unless they also contain a cookie containing
the word "go", you could use:</p>
<div class="example"><p><code>
RewriteCond %{QUERY_STRING} hack<br />
@@ -283,7 +294,10 @@ and <code>$1</code> would contain <code>foo/bar</code>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="rewritemap" id="rewritemap">Rewrite maps</a></h2>
-<p>See <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>.</p>
+
+<p>The <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> directive
+provides a way to call an external function, so to speak, to do your
+rewriting for you. This is discussed in greater detail in the <a href="rewritemap.html">RewriteMap supplementary documentation</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="htaccess" id="htaccess">.htaccess files</a></h2>
@@ -305,8 +319,9 @@ the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">Rewrit
</div></div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/rewrite_intro.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/rewrite/intro.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/intro.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/intro.html.fr b/docs/manual/rewrite/intro.html.fr
new file mode 100644
index 00000000..5b770d43
--- /dev/null
+++ b/docs/manual/rewrite/intro.html.fr
@@ -0,0 +1,351 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Introduction au module Apache mod_rewrite - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Introduction au module Apache mod_rewrite</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/rewrite/intro.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/intro.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+
+<p>Ce document est un complément à la <a href="../mod/mod_rewrite.html">documentation de référence</a> du module
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Il décrit les concepts de base dont la
+connaissance est nécessaire pour l'utilisation de
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. D'autres documents entrent d'avantage dans
+les détails, mais celui-ci devrait aider le débutant à se mouiller les
+pieds.
+</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduction</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#regex">Expressions rationnelles</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewriterule">Les bases des règles de réécriture</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flags">Drapeaux de réécriture</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritecond">Conditions de réécriture</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritemap">Tables de réécriture</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#htaccess">Fichiers .htaccess</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation du
+module mod_rewrite</a></li><li><a href="remapping.html">Redirection and remise en
+correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées et conseils</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="introduction" id="introduction">Introduction</a></h2>
+<p>Le module Apache <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> est un module puissant
+et sophistiqué qui permet la réécriture des URLs. Grâce à lui, vous
+pouvez effectuer quasiment tous les types de réécriture d'URLs dont vous
+avez besoin. Il est cependant assez complexe, et peut paraître
+intimidant au débutant. Certains ont aussi tendance à traiter les
+règles de réécriture comme des incantations magiques, et à les utiliser
+sans vraiment comprendre leur manière d'agir.</p>
+
+<p>Ce document a pour ambition d'être suffisamment explicite pour
+permettre la compréhension, et non la copie en aveugle, de ce qui suit.
+</p>
+
+<p>Gardez à l'esprit que de nombreuses tâches de manipulation d'URLs
+courantes n'ont pas besoin de la puissance et de la complexité de
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour les tâches simples, voir
+<code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> et la documentation sur la <a href="../urlmapping.html">Mise en correspondance des URLs avec le
+système de fichiers</a>.</p>
+
+<p>Enfin, avant de procéder, assurez-vous d'avoir configuré le niveau de
+journalisation de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> à un des niveaux de trace
+via la directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>. Bien que
+ceci risque de vous submerger sous une énorme quantité d'informations,
+le débogage des problèmes avec la configuration de
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> est à ce prix car vous verrez alors
+exactement comment chaque règle est traitée.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="regex" id="regex">Expressions rationnelles</a></h2>
+
+<p>mod_rewrite utilise le vocabulaire des <a href="http://pcre.org/">Expressions rationnelles compatibles Perl</a>.
+Ce document n'a pas pour prétention d'être une référence détaillée des
+expressions rationnelles. A cet effet, nous recommandons les <a href="http://pcre.org/pcre.txt">pages de manuel de PCRE</a>, la <a href="http://perldoc.perl.org/perlre.html">page de manuel des
+expressions rationnelles Perl</a>, et l'ouvrage <a href="http://www.oreilly.com/catalog/regex2/index.html">Mastering
+Regular Expressions, by Jeffrey Friedl</a>.</p>
+
+<p>Dans ce document, nous avons pour but de vous fournir suffisamment de
+vocabulaire des expressions rationnelles pour vous mettre le pied à
+l'étrier, sans être dépassé, en espérant que les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> vous apparaîtront comme des
+formules scientifiques, plutôt que comme des incantations magiques.</p>
+
+<h3><a name="regexvocab" id="regexvocab">Vocabulaire des expressions rationnelles</a></h3>
+
+<p>Vous trouverez dans ce qui suit le minimum à connaître pour être en
+mesure d'écrire des expressions rationnelles et des règles <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. Ceci ne représente
+certainement pas un vocabulaire des expressions rationnelles complet,
+mais constitue un bon point de départ, et devrait vous aider à
+déchiffrer les expressions rationnelles simples, et à écrire vos propres
+expressions.</p>
+
+<table>
+<tr>
+<th>Motif</th>
+<th>Signification</th>
+<th>Exemple</th>
+</tr>
+
+<tr><td><code>.</code></td><td>Correspond à tout caractère unique
+</td><td><code>c.t</code> correspondra à <code>cat</code>,
+<code>cot</code>, <code>cut</code>, etc.</td></tr>
+<tr><td><code>+</code></td><td>Répète le caractère de correspondance
+précédent une ou plusieurs fois</td>
+<td><code>a+</code> correspond à <code>a</code>, <code>aa</code>,
+<code>aaa</code>, etc.</td></tr>
+<tr><td><code>*</code></td><td>Répète le caractère de correspondance
+précédent zéro ou plusieurs fois</td>
+<td><code>a*</code> correspond à tout ce à quoi correspond
+<code>a+</code>, mais correspond aussi à la chaîne vide.</td></tr>
+<tr><td><code>?</code></td><td>Rend la correspondance optionnelle.</td><td>
+<code>colou?r</code> correspondra à <code>color</code> et <code>colour</code>.</td>
+</tr>
+<tr><td><code>^</code></td><td>Appelé ancrage, correspond au début de la
+chaîne</td>
+<td><code>^a</code> correspond à une chaîne qui commence par
+<code>a</code></td></tr>
+<tr><td><code>$</code></td><td>L'autre ancrage, correspond à la fin de
+la chaîne.</td>
+<td><code>a$</code> correspond à une chaîne qui se termine par
+<code>a</code>.</td></tr>
+<tr><td><code>( )</code></td><td>Regroupe plusieurs caractères en une
+seule entité, et conserve une correspondance à des fins d'utilisation
+dans une référence arrière.</td>
+<td><code>(ab)+</code>
+correspond à <code>ababab</code> - à savoir, le <code>+</code>
+s'applique au groupe.
+Pour plus de détails sur les références arrières, voir <a href="#InternalBackRefs">ci-dessous</a>.</td></tr>
+<tr><td><code>[ ]</code></td><td>Une classe de caractères - correspond à
+un des caractères de la classe</td>
+<td><code>c[uoa]t</code> correspond à <code>cut</code>,
+<code>cot</code> ou <code>cat</code>.</td></tr>
+<tr><td><code>[^ ]</code></td><td>Négation de la classe de caractères -
+correspond à tout caractère ne faisant pas partie de la classe</td>
+<td><code>c[^/]t</code> correspond à <code>cat</code> ou
+<code>c=t</code> mais pas à <code>c/t</code></td></tr>
+</table>
+
+<p>Avec <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, le caractère <code>!</code> peut
+préfixer une expression rationnelle afin d'en exprimer la négation.
+Autrement dit, une chaîne ne correspondra que si elle ne correspond pas
+à l'expression située après le <code>!</code>.</p>
+
+
+
+<h3><a name="InternalBackRefs" id="InternalBackRefs">Disponibilité des références
+arrières dans les expressions rationnelles</a></h3>
+
+ <p>Vous devez vous souvenir d'une chose importante : chaque fois
+ que vous utilisez des parenthèses dans un <em>Modèle</em> ou dans
+ un des <em>modèles de conditions</em>, des références arrières
+ sont créées en interne et peuvent être rappelées via les chaînes
+ <code>$N</code> et <code>%N</code> (voir ci-dessous). Ces
+ références sont disponibles lors de la création des chaînes de
+ <em>Substitution</em> et des <em>Chaînes de test</em>. La
+ figure 1
+ montre à quels endroits les références arrières sont suceptibles
+ d'être développées, et illustre le flux des comparaisons
+ effectuées par les règles RewriteRule et RewriteCond.</p>
+
+<p class="figure">
+ <img src="../images/rewrite_rule_flow.png" alt="Flux des comparaisons effectuées par les règles RewriteRule et RewriteCond" /><br />
+ <dfn>Figure 1 :</dfn> Le cheminement d'une référence arrière à
+ travers une règle.
+</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewriterule" id="rewriterule">Les bases des règles de réécriture</a></h2>
+<p>Une règle de réécriture <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est constituée de trois
+arguments séparés par des espaces. Les arguments sont :</p>
+<ol>
+<li><var>Modèle</var>: le modèle des URLs auxquelles la règle doit
+s'appliquer;</li>
+<li><var>Substitution</var>: vers quoi la requête correspondante doit être
+transformée;</li>
+<li><var>[drapeaux]</var>: options affectant la requête réécrite.</li>
+</ol>
+
+<p>Le <var>Modèle</var> est toujours une <a href="#regex">expression
+rationnelle</a> comparée au chemin de l'URL de la requête entrante (la
+partie située après le nom d'hôte mais avant tout point d'interrogation
+qui indique le début d'une chaîne de requête).</p>
+
+<p class="figure">
+ <img src="../images/syntax_rewriterule.png" alt="Syntaxe de la directive RewriteRule" /><br />
+ <dfn>Figure 2 :</dfn> Syntaxe de la directive RewriteRule.
+</p>
+
+<p>La chaîne de <var>Substitution</var> peut, quant à elle, être de
+trois types :</p>
+
+<dl>
+<dt>Un chemin complet du système de fichiers vers une ressource</dt>
+<dd>
+<div class="example"><p><code>
+RewriteRule ^/jeux.* /usr/local/jeux/web
+</code></p></div>
+<p>Ceci peut faire correspondre une requête à toute localisation voulue de
+votre système de fichiers, un peu comme la directive <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>.</p>
+</dd>
+
+<dt>Un chemin web vers une ressource</dt>
+<dd>
+<div class="example"><p><code>
+RewriteRule ^/foo$ /bar
+</code></p></div>
+<p>Si la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> a
+pour valeur <code>/usr/local/apache2/htdocs</code>, cette règle va faire
+correspondre les requêtes pour <code>http://example.com/foo</code> au
+chemin <code>/usr/local/apache2/htdocs/bar</code>.</p>
+</dd>
+
+<dt>Une URL absolue</dt>
+<dd>
+<div class="example"><p><code>
+RewriteRule ^/produits/vues$ http://site2.example.com/voirproduits.html [R]
+</code></p></div>
+<p>Ceci informe le client qu'il doit effectuer une nouvelle requête vers
+l'URL spécifiée.</p>
+</dd>
+</dl>
+
+<p>La chaîne de <var>Substitution</var> peut aussi contenir des
+<em>références arrières</em> vers des parties du chemin d'URL entrant
+correspondant au <var>Modèle</var>. Considérons ce qui suit :</p>
+<div class="example"><p><code>
+RewriteRule ^/produits/(.*)/view$ /var/web/produitsdb/$1
+</code></p></div>
+<p>La variable <code>$1</code> sera remplacée par tout texte
+correspondant à l'expression située entre les parenthèses dans le
+<var>Modèle</var>. Par exemple, une requête pour
+<code>http://example.com/produits/r14df/vue</code> correspondra au
+chemin <code>/var/web/produitsdb/r14df</code>.</p>
+
+<p>S'il y a plus d'une expression entre parenthèses, elle seront
+accessibles selon leur ordre d'apparition via les variables
+<code>$1</code>, <code>$2</code>, <code>$3</code>, etc...</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flags" id="flags">Drapeaux de réécriture</a></h2>
+<p>Le comportement d'une règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> peut être modifié par la
+présence d'un ou plusieurs drapeaux en fin de règle. Par exemple, les
+conditions de correspondance d'une règle peuvent être rendues
+insensibles à la casse par la présence du drapeau <code>[NC]</code> :
+</p>
+<div class="example"><p><code>
+RewriteRule ^puppy.html petitchien.html [NC]
+</code></p></div>
+
+<p>Pour une liste des drapeaux disponibles, leurs significations, et des
+exemples, voir le document <a href="flags.html">Drapeaux de
+réécriture</a>.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewritecond" id="rewritecond">Conditions de réécriture</a></h2>
+<p>Il est possible d'utiliser une ou plusieurs directives <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> pour restreindre les types
+de requêtes auxquelles devra s'appliquer la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> suivante. Le premier
+argument est une variable décrivant une caractéristique de la requête,
+le second argument est une <a href="#regex">expression rationnelle</a>
+qui doit correspondre à la variable, et un troisième argument optionnel
+est une liste de drapeaux qui modifient la manière dont la
+correspondance est évaluée.</p>
+
+<p class="figure">
+ <img src="../images/syntax_rewritecond.png" alt="Syntaxe de la directive RewriteCond" /><br />
+ <dfn>Figure 3 :</dfn> Syntaxe de la directive RewriteCond
+</p>
+
+
+<p>Par exemple, pour renvoyer toutes les requêtes en provenance d'une
+certaine tranche d'adresses IP vers un autre serveur, vous pouvez
+utiliser :</p>
+<div class="example"><p><code>
+RewriteCond %{REMOTE_ADDR} ^10\.2\.<br />
+RewriteRule (.*) http://intranet.example.com$1
+</code></p></div>
+
+<p>Si vous spécifiez plus d'une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, ces directives
+doivent toutes être satisfaites pour que la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> suivante s'applique. Par exemple,
+pour interdire les requêtes qui contiennent le mot "hack" dans la chaîne
+de requête, sauf si elles contiennent aussi un cookie contenant le mot
+"go", vous pouvez utiliser :</p>
+<div class="example"><p><code>
+RewriteCond %{QUERY_STRING} hack<br />
+RewriteCond %{HTTP_COOKIE} !go<br />
+RewriteRule .* - [F]
+</code></p></div>
+<p>Notez que le point d'exclamation indique une correspondance négative
+; ainsi, la règle n'est appliquée que si le cookie ne contient pas "go"</p>
+
+<p>Les correspondances dans les expressions rationnelles contenues dans
+les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+peuvent constituer des parties de la chaîne de <var>Substitution</var>
+de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> via
+les variables <code>%1</code>, <code>%2</code>, etc... Par
+exemple, ce qui suit va diriger la requête vers un répertoire différent
+en fonction du nom d'hôte utilisé pour accéder au site :</p>
+<div class="example"><p><code>
+RewriteCond %{HTTP_HOST} (.*)<br />
+RewriteRule ^/(.*) /sites/%1/$1
+</code></p></div>
+<p>Si la requête concernait <code>http://example.com/foo/bar</code>,
+alors <code>%1</code> contiendrait <code>example.com</code> et
+<code>$1</code> contiendrait <code>foo/bar</code>.</p>
+
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewritemap" id="rewritemap">Tables de réécriture</a></h2>
+
+<p>La directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+permet en quelque sorte de faire appel à une fonction externe pour
+effectuer la réécriture à votre place. Tout ceci est décrit plus en
+détails dans la <a href="rewritemap.html">Documentation
+supplémentaire sur RewriteMap</a>.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="htaccess" id="htaccess">Fichiers .htaccess</a></h2>
+
+<p>La réécriture est en général définie au niveau de la configuration du
+serveur principal (en dehors de toute section <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>) ou dans une section <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>. Il s'agit là de la
+manière la plus simple de mettre en oeuvre la réécriture et nous la
+recommandons. Il est possible, cependant, de mettre en oeuvre la
+réécriture au sein d'une section <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> ou d'un fichier <a href="../howto/htaccess.html"><code>.htaccess</code></a> ; ce type de
+configuration est cependant plus complexe. Cette technique est appelée
+réécriture par répertoire.</p>
+
+<p>La principale différence avec les réécritures au niveau du serveur réside
+dans le fait que le préfixe du chemin du répertoire contenant le fichier
+<code>.htaccess</code> est supprimé avant la mise en correspondance dans
+la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. De
+plus, on doit utiliser la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> pour s'assurer que la
+requête est correctement mise en correspondance.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/rewrite/intro.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/intro.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/proxy.html b/docs/manual/rewrite/proxy.html
new file mode 100644
index 00000000..94eceb09
--- /dev/null
+++ b/docs/manual/rewrite/proxy.html
@@ -0,0 +1,5 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: proxy.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/rewrite/proxy.html.en b/docs/manual/rewrite/proxy.html.en
new file mode 100644
index 00000000..5d26423d
--- /dev/null
+++ b/docs/manual/rewrite/proxy.html.en
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Using mod_rewrite for Proxying - Apache HTTP Server</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Using mod_rewrite for Proxying</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/rewrite/proxy.html" title="English">&nbsp;en&nbsp;</a></p>
+</div>
+
+
+<p>This document supplements the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">reference documentation</a>. It describes
+how to use the RewriteRule's [P] flag to proxy content to another server.
+A number of recipes are provided that describe common scenarios.</p>
+
+</div>
+<div id="quickview"><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module documentation</a></li><li><a href="intro.html">mod_rewrite introduction</a></li><li><a href="remapping.html">Redirection and remapping</a></li><li><a href="access.html">Controlling access</a></li><li><a href="vhosts.html">Virtual hosts</a></li><li><a href="rewritemap.html">Using RewriteMap</a></li><li><a href="advanced.html">Advanced techniques and tricks</a></li><li><a href="avoid.html">When not to use mod_rewrite</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dynamic-proxy" id="dynamic-proxy">Proxying Content with mod_rewrite</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>
+ mod_rewrite provides the [P] flag, which allows URLs to be passed,
+ via mod_proxy, to another server. Two examples are given here. In
+ one example, a URL is passed directly to another server, and served
+ as though it were a local URL. In the other example, we proxy
+ missing content to a back-end server.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>To simply map a URL to another server, we use the [P] flag, as
+ follows:</p>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+RewriteBase /products/<br />
+RewriteRule ^<strong>widget/</strong>(.*)$ <strong>http://product.example.com/widget/</strong>$1 [<strong>P</strong>]<br />
+ProxyPassReverse /products/widget/ http://product.example.com/widget/
+</code></p></div>
+
+ <p>In the second example, we proxy the request only if we can't find
+ the resource locally. This can be very useful when you're migrating
+ from one server to another, and you're not sure if all the content
+ has been migrated yet.</p>
+
+<div class="example"><p><code>
+RewriteCond %{REQUEST_FILENAME} <strong>!-f</strong><br />
+RewriteCond %{REQUEST_FILENAME} <strong>!-d</strong><br />
+RewriteRule ^/(.*) http://<strong>old</strong>.example.com/$1 [<strong>P</strong>]<br />
+ProxyPassReverse / http://old.example.com/
+</code></p></div>
+ </dd>
+
+ <dt>Discussion:</dt>
+
+ <dd><p>In each case, we add a <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> directive to ensure
+ that any redirects issued by the backend are correctly passed on to
+ the client.</p>
+
+ <p>Consider using either <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> or <code class="directive"><a href="../mod/mod_rewrite.html#proxypassmatch">ProxyPassMatch</a></code> whenever possible in
+ preference to mod_rewrite.</p>
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/rewrite/proxy.html" title="English">&nbsp;en&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/remapping.html b/docs/manual/rewrite/remapping.html
new file mode 100644
index 00000000..5f04461b
--- /dev/null
+++ b/docs/manual/rewrite/remapping.html
@@ -0,0 +1,5 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: remapping.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/rewrite/remapping.html.en b/docs/manual/rewrite/remapping.html.en
new file mode 100644
index 00000000..f71b214b
--- /dev/null
+++ b/docs/manual/rewrite/remapping.html.en
@@ -0,0 +1,625 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Redirecting and Remapping with mod_rewrite - Apache HTTP Server</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Redirecting and Remapping with mod_rewrite</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/rewrite/remapping.html" title="English">&nbsp;en&nbsp;</a></p>
+</div>
+
+
+<p>This document supplements the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">reference documentation</a>. It describes
+how you can use <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> to redirect and remap
+request. This includes many examples of common uses of mod_rewrite,
+including detailed descriptions of how each works.</p>
+
+<div class="warning">Note that many of these examples won't work unchanged in your
+particular server configuration, so it's important that you understand
+them, rather than merely cutting and pasting the examples into your
+configuration.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#old-to-new">From Old to New (internal)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#old-to-new-extern">Rewriting From Old to New (external)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#movehomedirs">Resource Moved to Another Server</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#static-to-dynamic">From Static to Dynamic</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#backward-compatibility">Backward Compatibility for file extension change</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#canonicalhost">Canonical Hostnames</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#multipledirs">Search for pages in more than one directory</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#archive-access-multiplexer">Redirecting to Geographically Distributed Servers</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#browser-dependent-content">Browser Dependent Content</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#canonicalurl">Canonical URLs</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#moveddocroot">Moved <code>DocumentRoot</code></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#fallback-resource">Fallback Resource</a></li>
+</ul><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module documentation</a></li><li><a href="intro.html">mod_rewrite introduction</a></li><li><a href="access.html">Controlling access</a></li><li><a href="vhosts.html">Virtual hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Using RewriteMap</a></li><li><a href="advanced.html">Advanced techniques and tricks</a></li><li><a href="avoid.html">When not to use mod_rewrite</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="old-to-new" id="old-to-new">From Old to New (internal)</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>Assume we have recently renamed the page
+ <code>foo.html</code> to <code>bar.html</code> and now want
+ to provide the old URL for backward compatibility. However,
+ we want that users of the old URL even not recognize that
+ the pages was renamed - that is, we don't want the address to
+ change in their browser.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>We rewrite the old URL to the new one internally via the
+ following rule:</p>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+RewriteRule ^<strong>/old</strong>\.html$ <strong>/new</strong>.html [PT]
+</code></p></div>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="old-to-new-extern" id="old-to-new-extern">Rewriting From Old to New (external)</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>Assume again that we have recently renamed the page
+ <code>foo.html</code> to <code>bar.html</code> and now want
+ to provide the old URL for backward compatibility. But this
+ time we want that the users of the old URL get hinted to
+ the new one, i.e. their browsers Location field should
+ change, too.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>We force a HTTP redirect to the new URL which leads to a
+ change of the browsers and thus the users view:</p>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+RewriteRule ^<strong>/foo</strong>\.html$ <strong>bar</strong>.html [<strong>R</strong>]
+</code></p></div>
+</dd>
+
+<dt>Discussion</dt>
+
+ <dd>
+ <p>In this example, as contrasted to the <a href="#old-to-new-intern">internal</a> example above, we can simply
+ use the Redirect directive. mod_rewrite was used in that earlier
+ example in order to hide the redirect from the client:</p>
+
+ <div class="example"><p><code>
+ Redirect /foo.html /bar.html
+ </code></p></div>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="movehomedirs" id="movehomedirs">Resource Moved to Another Server</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>If a resource has moved to another server, you may wish to have
+ URLs continue to work for a time on the old server while people
+ update their bookmarks.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>You can use <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> to redirect these URLs
+ to the new server, but you might also consider using the Redirect
+ or RedirectMatch directive.</p>
+
+<div class="example"><h3>With mod_rewrite</h3><p><code>
+RewriteEngine on<br />
+RewriteRule ^/docs/(.+) http://new.example.com/docs/$1 [R,L]
+</code></p></div>
+
+<div class="example"><h3>With RedirectMatch</h3><p><code>
+RedirectMatch ^/docs/(.*) http://new.example.com/docs/$1
+</code></p></div>
+
+<div class="example"><h3>With Redirect</h3><p><code>
+Redirect /docs/ http://new.example.com/docs/
+</code></p></div>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="static-to-dynamic" id="static-to-dynamic">From Static to Dynamic</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>How can we transform a static page
+ <code>foo.html</code> into a dynamic variant
+ <code>foo.cgi</code> in a seamless way, i.e. without notice
+ by the browser/user.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>We just rewrite the URL to the CGI-script and force the
+ handler to be <strong>cgi-script</strong> so that it is
+ executed as a CGI program.
+ This way a request to <code>/~quux/foo.html</code>
+ internally leads to the invocation of
+ <code>/~quux/foo.cgi</code>.</p>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+RewriteBase /~quux/<br />
+RewriteRule ^foo\.<strong>html</strong>$ foo.<strong>cgi</strong> [H=<strong>cgi-script</strong>]
+</code></p></div>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="backward-compatibility" id="backward-compatibility">Backward Compatibility for file extension change</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>How can we make URLs backward compatible (still
+ existing virtually) after migrating <code>document.YYYY</code>
+ to <code>document.XXXX</code>, e.g. after translating a
+ bunch of <code>.html</code> files to <code>.php</code>?</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>We rewrite the name to its basename and test for
+ existence of the new extension. If it exists, we take
+ that name, else we rewrite the URL to its original state.</p>
+
+<div class="example"><p><code>
+# backward compatibility ruleset for<br />
+# rewriting document.html to document.php<br />
+# when and only when document.php exists<br />
+&lt;Directory /var/www/htdocs&gt;<br />
+<span class="indent">
+RewriteEngine on<br />
+RewriteBase /var/www/htdocs<br />
+<br />
+RewriteCond $1.php -f<br />
+RewriteCond $1.html !-f<br />
+RewriteRule ^(.*).html$ $1.php<br />
+</span>
+&lt;/Directory&gt;
+</code></p></div>
+ </dd>
+
+ <dt>Discussion</dt>
+ <dd>
+ <p>This example uses an often-overlooked feature of mod_rewrite,
+ by taking advantage of the order of execution of the ruleset. In
+ particular, mod_rewrite evaluates the left-hand-side of the
+ RewriteRule before it evaluates the RewriteCond directives.
+ Consequently, $1 is already defined by the time the RewriteCond
+ directives are evaluated. This allows us to test for the existence
+ of the original (<code>document.html</code>) and target
+ (<code>document.php</code>) files using the same base filename.</p>
+
+ <p>This ruleset is designed to use in a per-directory context (In a
+ &lt;Directory&gt; block or in a .htaccess file), so that the
+ <code>-f</code> checks are looking at the correct directory path.
+ You may need to set a <code class="directive"><a href="../mod/mod_rewite.html#rewritebase">RewriteBase</a></code> directive to specify the
+ directory base that you're working in.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="canonicalhost" id="canonicalhost">Canonical Hostnames</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>The goal of this rule is to force the use of a particular
+ hostname, in preference to other hostnames which may be used to
+ reach the same site. For example, if you wish to force the use
+ of <strong>www.example.com</strong> instead of
+ <strong>example.com</strong>, you might use a variant of the
+ following recipe.</dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+
+<p>The very best way to solve this doesn't involve mod_rewrite at all,
+but rather uses the <code class="directive"><a href="../mod/alias.html#redirect">Redirect</a></code>
+directive placed in a virtual host for the non-canonical
+hostname(s).</p>
+
+<div class="example"><p><code>
+&lt;VirtualHost *:80&gt;<br />
+<span class="indent">
+ ServerName undesired.example.com<br />
+ ServerAlias example.com notthis.example.com<br />
+<br />
+ Redirect / http://www.example.com/<br />
+</span>
+&lt;/VirtualHost&gt;<br />
+<br />
+&lt;VirtualHost *:80&gt;<br />
+<span class="indent">
+ ServerName www.example.com<br />
+</span>
+&lt;/VirtualHost&gt;
+</code></p></div>
+
+<p>If, for whatever reason, you still want to use <code>mod_rewrite</code>
+- if, for example, you need this to work with a larger set of RewriteRules -
+you might use one of the recipes below.</p>
+
+<p>For sites running on a port other than 80:</p>
+<div class="example"><p><code>
+RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]<br />
+RewriteCond %{HTTP_HOST} !^$<br />
+RewriteCond %{SERVER_PORT} !^80$<br />
+RewriteRule ^/?(.*) http://www.example.com:%{SERVER_PORT}/$1 [L,R,NE]
+</code></p></div>
+
+<p>And for a site running on port 80</p>
+<div class="example"><p><code>
+RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]<br />
+RewriteCond %{HTTP_HOST} !^$<br />
+RewriteRule ^/?(.*) http://www.example.com/$1 [L,R,NE]
+</code></p></div>
+
+ <p>
+ If you wanted to do this generically for all domain names - that
+ is, if you want to redirect <strong>example.com</strong> to
+ <strong>www.example.com</strong> for all possible values of
+ <strong>example.com</strong>, you could use the following
+ recipe:</p>
+
+<div class="example"><p><code>
+RewriteCond %{HTTP_HOST} !^www\. [NC]<br />
+RewriteCond %{HTTP_HOST} !^$<br />
+RewriteRule ^/?(.*) http://www.%{HTTP_HOST}/$1 [L,R,NE]
+</code></p></div>
+
+ <p>These rulesets will work either in your main server configuration
+ file, or in a <code>.htaccess</code> file placed in the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> of the server.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="multipledirs" id="multipledirs">Search for pages in more than one directory</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>A particular resource might exist in one of several places, and
+ we want to look in those places for the resource when it is
+ requested. Perhaps we've recently rearranged our directory
+ structure, dividing content into several locations.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>The following ruleset searches in two directories to find the
+ resource, and, if not finding it in either place, will attempt to
+ just serve it out of the location requested.</p>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+<br />
+# first try to find it in dir1/...<br />
+# ...and if found stop and be happy:<br />
+RewriteCond %{DOCUMENT_ROOT}/<strong>dir1</strong>/%{REQUEST_URI} -f<br />
+RewriteRule ^(.+) %{DOCUMENT_ROOT}/<strong>dir1</strong>/$1 [L]<br />
+<br />
+# second try to find it in dir2/...<br />
+# ...and if found stop and be happy:<br />
+RewriteCond %{DOCUMENT_ROOT}/<strong>dir2</strong>/%{REQUEST_URI} -f<br />
+RewriteRule ^(.+) %{DOCUMENT_ROOT}/<strong>dir2</strong>/$1 [L]<br />
+<br />
+# else go on for other Alias or ScriptAlias directives,<br />
+# etc.<br />
+RewriteRule ^ - [PT]
+</code></p></div>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="archive-access-multiplexer" id="archive-access-multiplexer">Redirecting to Geographically Distributed Servers</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>We have numerous mirrors of our website, and want to redirect
+ people to the one that is located in the country where they are
+ located.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>Looking at the hostname of the requesting client, we determine
+ which country they are coming from. If we can't do a lookup on their
+ IP address, we fall back to a default server.</p>
+ <p>We'll use a <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ directive to build a list of servers that we wish to use.</p>
+
+<div class="example"><p><code>
+HostnameLookups on<br />
+RewriteEngine on<br />
+RewriteMap multiplex txt:/path/to/map.mirrors<br />
+RewriteCond %{REMOTE_HOST} ([a-z]+)$ [NC]<br />
+RewriteRule ^/(.*)$ ${multiplex:<strong>%1</strong>|http://www.example.com/}$1 [R,L]
+</code></p></div>
+
+<div class="example"><p><code>
+## map.mirrors -- Multiplexing Map<br />
+<br />
+de http://www.example.de/<br />
+uk http://www.example.uk/<br />
+com http://www.example.com/<br />
+##EOF##
+</code></p></div>
+ </dd>
+
+ <dt>Discussion</dt>
+ <dd>
+ <div class="warning">This ruleset relies on
+ <code class="directive"><a href="../mod/core.html#hostnamelookups">HostNameLookups</a></code>
+ being set <code>on</code>, which can be
+ a significant performance hit.</div>
+
+ <p>The <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+ directive captures the last portion of the hostname of the
+ requesting client - the country code - and the following RewriteRule
+ uses that value to look up the appropriate mirror host in the map
+ file.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="browser-dependent-content" id="browser-dependent-content">Browser Dependent Content</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>We wish to provide different content based on the browser, or
+ user-agent, which is requesting the content.</p>
+ </dd>
+
+
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>We have to decide, based on the HTTP header "User-Agent",
+ which content to serve. The following config
+ does the following: If the HTTP header "User-Agent"
+ contains "Mozilla/3", the page <code>foo.html</code>
+ is rewritten to <code>foo.NS.html</code> and the
+ rewriting stops. If the browser is "Lynx" or "Mozilla" of
+ version 1 or 2, the URL becomes <code>foo.20.html</code>.
+ All other browsers receive page <code>foo.32.html</code>.
+ This is done with the following ruleset:</p>
+
+<div class="example"><p><code>
+RewriteCond %{HTTP_USER_AGENT} <strong>^Mozilla/3</strong>.*<br />
+RewriteRule ^foo\.html$ foo.<strong>NS</strong>.html [<strong>L</strong>]<br />
+<br />
+RewriteCond %{HTTP_USER_AGENT} <strong>^Lynx/</strong> [OR]<br />
+RewriteCond %{HTTP_USER_AGENT} <strong>^Mozilla/[12]</strong><br />
+RewriteRule ^foo\.html$ foo.<strong>20</strong>.html [<strong>L</strong>]<br />
+<br />
+RewriteRule ^foo\.html$ foo.<strong>32</strong>.html [<strong>L</strong>]
+</code></p></div>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="canonicalurl" id="canonicalurl">Canonical URLs</a></h2>
+
+
+
+<dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>On some webservers there is more than one URL for a
+ resource. Usually there are canonical URLs (which are be
+ actually used and distributed) and those which are just
+ shortcuts, internal ones, and so on. Independent of which URL the
+ user supplied with the request, they should finally see the
+ canonical one in their browser address bar.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>We do an external HTTP redirect for all non-canonical
+ URLs to fix them in the location view of the Browser and
+ for all subsequent requests. In the example ruleset below
+ we replace <code>/puppies</code> and <code>/canines</code>
+ by the canonical <code>/dogs</code>.</p>
+
+<div class="example"><p><code>
+RewriteRule ^/(puppies|canines)/(.*) /dogs/$2 [R]
+</code></p></div>
+ </dd>
+
+ <dt>Discussion:</dt>
+ <dd>
+ This should really be accomplished with Redirect or RedirectMatch
+ directives:
+
+ <div class="example"><p><code>
+ RedirectMatch ^/(puppies|canines)/(.*) /dogs/$2
+ </code></p></div>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="moveddocroot" id="moveddocroot">Moved <code>DocumentRoot</code></a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+<p>Usually the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
+of the webserver directly relates to the URL "<code>/</code>".
+But often this data is not really of top-level priority. For example,
+you may wish for visitors, on first entering a site, to go to a
+particular subdirectory <code>/about/</code>. This may be accomplished
+using the following ruleset:</p>
+</dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+ <p>We redirect the URL <code>/</code> to
+ <code>/about/</code>:
+ </p>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+RewriteRule <strong>^/$</strong> /about/ [<strong>R</strong>]
+</code></p></div>
+
+<p>Note that this can also be handled using the <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> directive:</p>
+
+<div class="example"><p><code>
+RedirectMatch ^/$ http://example.com/about/
+</code></p></div>
+
+<p>Note also that the example rewrites only the root URL. That is, it
+rewrites a request for <code>http://example.com/</code>, but not a
+request for <code>http://example.com/page.html</code>. If you have in
+fact changed your document root - that is, if <strong>all</strong> of
+your content is in fact in that subdirectory, it is greatly preferable
+to simply change your <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
+directive, or move all of the content up one directory,
+rather than rewriting URLs.</p>
+</dd>
+</dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="fallback-resource" id="fallback-resource">Fallback Resource</a></h2>
+
+
+<dl>
+<dt>Description:</dt>
+<dd>You want a single resource (say, a certain file, like index.php) to
+handle all requests that come to a particular directory, except those
+that should go to an existing resource such as an image, or a css file.</dd>
+
+<dt>Solution:</dt>
+<dd>
+<p>As of version 2.2.16, you should use the <code class="directive"><a href="../mod/mod_dir.html#fallbackresource">FallbackResource</a></code> directive for this:</p>
+
+<div class="example"><p><code>
+&lt;Directory /var/www/my_blog&gt;<br />
+<span class="indent">
+ FallbackResource index.php<br />
+</span>
+&lt;/Directory&gt;
+</code></p></div>
+
+<p>However, in earlier versions of Apache, or if your needs are more
+complicated than this, you can use a variation of the following rewrite
+set to accomplish the same thing:</p>
+
+<div class="example"><p><code>
+&lt;Directory /var/www/my_blog&gt;<br />
+<span class="indent">
+ RewriteBase /my_blog<br />
+<br />
+ RewriteCond /var/www/my_blog/%{REQUEST_FILENAME} !-f<br />
+ RewriteCond /var/www/my_blog/%{REQUEST_FILENAME} !-d<br />
+ RewriteRule ^ index.php [PT]<br />
+</span>
+&lt;/Directory&gt;
+</code></p></div>
+
+<p>If, on the other hand, you wish to pass the requested URI as a query
+string argument to index.php, you can replace that RewriteRule with:</p>
+
+<div class="example"><p><code>
+ RewriteRule (.*) index.php?$1 [PT,QSA]
+</code></p></div>
+
+<p>Note that these rulesets can be uses in a <code>.htaccess</code>
+file, as well as in a &lt;Directory&gt; block.</p>
+
+</dd>
+
+</dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/rewrite/remapping.html" title="English">&nbsp;en&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/rewrite_flags.html.en b/docs/manual/rewrite/rewrite_flags.html.en
deleted file mode 100644
index 3df7d319..00000000
--- a/docs/manual/rewrite/rewrite_flags.html.en
+++ /dev/null
@@ -1,427 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- -->
-<title>Apache mod_rewrite Flags - Apache HTTP Server</title>
-<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
-<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
-<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
-<link href="../images/favicon.ico" rel="shortcut icon" /></head>
-<body id="manual-page"><div id="page-header">
-<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
-<p class="apache">Apache HTTP Server Version 2.2</p>
-<img alt="" src="../images/feather.gif" /></div>
-<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
-<div id="path">
-<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite Flags</h1>
-<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/rewrite_flags.html" title="English">&nbsp;en&nbsp;</a></p>
-</div>
-
-<p>This document discusses the flags which are available to the
-<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive,
-providing detailed explanations and examples. This is not necessarily
-a comprehensive list of all flags available, so be sure to also
-consult the reference documentation.</p>
-</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduction</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#flags">The flags</a></li>
-</ul><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module documentation</a></li><li><a href="rewrite_tech.html">Technical details</a></li><li><a href="rewrite_guide.html">Rewrite Guide - useful examples</a></li><li><a href="rewrite_guide_advanced.html">Advanced Rewrite Guide -
-advanced useful examples</a></li></ul></div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="introduction" id="introduction">Introduction</a></h2>
-<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>s can have
-their behavior modified by one or more flags. Flags are included in
-square brackets at the end of the rule, and multiple flags are separated
-by commas.</p>
-<div class="example"><p><code>
-RewriteRule pattern target [Flag1,Flag2,Flag3]
-</code></p></div>
-
-<p>The flags all have a short form, such as <code>CO</code>, as well as
-a longer form, such as <code>cookie</code>. Some flags take one or more
-arguments. Flags are not case sensitive.</p>
-
-</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="flags" id="flags">The flags</a></h2>
-
-<p>Each flag has a long and short form. While it is most common to use
-the short form, it is recommended that you familiarize yourself with the
-long form, so that you remember what each flag is supposed to do.</p>
-
-<p>Presented here are each of the available flags, along with an example
-of how you might use them.</p>
-
-<h3><a name="flag_c" id="flag_c">C|chain</a></h3>
-<p>The [C] or [chain] flag indicates that the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> is chained to the next
-rule. That is, if the rule matches, then it is processed as usual and
-control moves on to the next rule. However, if it does not match, then
-the next rule, and any other rules that are chained together, will be
-skipped.</p>
-
-
-
-<h3><a name="flag_co" id="flag_co">CO|cookie</a></h3>
-<p>The [CO], or [cookie] flag, allows you to set a cookie when a
-particular <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
-matches. The argument consists of three required fields and two optional
-fields.</p>
-<p>You must declare a name and value for the cookie to be set, and the
-domain for which you wish the cookie to be valid. You may optionally set
-the lifetime of the cookie, and the path for which it should be
-returned.</p>
-<p>By default, the lifetime of the cookie is the current browser
-session.</p>
-<p>By default, the path for which the cookie will be valid is "/" - that
-is, the entire website.</p>
-<p>Several examples are offered here:</p>
-
-<div class="example"><p><code>
-RewriteEngine On<br />
-RewriteRule ^/index.html - [CO=frontdoor:yes:.apache.org:1440:/]
-</code></p></div>
-
-<p>This rule doesn't rewrite the request (the "-" rewrite target tells
-mod_rewrite to pass the request through unchanged) but sets a cookie
-called 'frontdoor' to a value of 'yes'. The cookie is valid for any host
-in the <code>.apache.org</code> domain. It will be set to expire in 1440
-minutes (24 hours) and will be returned for all URIs.</p>
-
-
-
-<h3><a name="flag_e" id="flag_e">E|env</a></h3>
-<p>With the [E], or [env] flag, you can set the value of an environment
-variable. Note that some environment variables may be set after the rule
-is run, thus unsetting what you have set. See <a href="../env.html">the
-Environment Variables document</a> for more details on how Environment
-variables work.</p>
-
-<p>The following example sets an evironment variable called 'image' to a
-value of '1' if the requested URI is an image file. Then, that
-environment variable is used to exclude those requests from the access
-log.</p>
-
-<div class="example"><p><code>
-RewriteRule \.(png|gif|jpg) - [E=image:1]<br />
-CustomLog logs/access_log combined env=!image
-</code></p></div>
-
-<p>Note that this same effect can be obtained using <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>. This technique is offered as
-an example, not as a recommendation.</p>
-
-
-<h3><a name="flag_f" id="flag_f">F|forbidden</a></h3>
-<p>Using the [F] flag causes Apache to return a 403 Forbidden status
-code to the client. While the same behavior can be accomplished using
-the <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code> directive, this
-allows more flexibility in assigning a Forbidden status.</p>
-
-<p>The following rule will forbid <code>.exe</code> files from being
-downloaded from your server.</p>
-
-<div class="example"><p><code>
-RewriteRule \.exe - [F]
-</code></p></div>
-
-<p>This example uses the "-" syntax for the rewrite target, which means
-that the requested URI is not modified. There's no reason to rewrite to
-another URI, if you're going to forbid the request.</p>
-
-
-
-<h3><a name="flag_g" id="flag_g">G|gone</a></h3>
-<p>The [G] flag forces Apache to return a 410 Gone status with the
-response. This indicates that a resource used to be available, but is no
-longer available.</p>
-
-<p>As with the [F] flag, you will typically use the "-" syntax for the
-rewrite target when using the [G] flag:</p>
-
-<div class="example"><p><code>
-RewriteRule oldproduct - [G,NC]
-</code></p></div>
-
-
-<h3><a name="flag_h" id="flag_h">H|handler</a></h3>
-<p>Forces the resulting request to be handled with the specified
-handler. For example, one might use this to force all files without a
-file extension to be parsed by the php handler:</p>
-
-<div class="example"><p><code>
-RewriteRule !\. - [H=application/x-httpd-php]
-</code></p></div>
-
-<p>
-The regular expression above - <code>!\.</code> - will match any request
-that does not contain the literal <code>.</code> character.
-</p>
-
-
-<h3><a name="flag_l" id="flag_l">L|last</a></h3>
-<p>The [L] flag causes <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> to stop processing
-the rule set. In most contexts, this means that if the rule matches, no
-further rules will be processed.</p>
-
-<p>If you are using <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> in either
-<code>.htaccess</code> files or in
-<code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> sections,
-it is important to have some understanding of how the rules are
-processed. The simplified form of this is that once the rules have been
-processed, the rewritten request is handed back to the URL parsing
-engine to do what it may with it. It is possible that as the rewritten
-request is handled, the <code>.htaccess</code> file or
-<code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> section
-may be encountered again, and thus the ruleset may be run again from the
-start. Most commonly this will happen if one of the rules causes a
-redirect - either internal or external - causing the request process to
-start over.</p>
-
-<p>It is therefore important, if you are using <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directives in one of these
-context that you take explicit steps to avoid rules looping, and not
-count solely on the [L] flag to terminate execution of a series of
-rules, as shown below.</p>
-
-<p>The example given here will rewrite any request to
-<code>index.php</code>, giving the original request as a query string
-argument to <code>index.php</code>, however, if the request is already
-for <code>index.php</code>, this rule will be skipped.</p>
-
-<div class="example"><p><code>
-RewriteCond %{REQUEST_URI} !index\.php<br />
-RewriteRule ^(.*) index.php?req=$1 [L]
-</code></p></div>
-
-
-<h3><a name="flag_n" id="flag_n">N|next</a></h3>
-<p>
-The [N] flag causes the ruleset to start over again from the top. Use
-with extreme caution, as it may result in loop.
-</p>
-<p>
-The [Next] flag could be used, for example, if you wished to replace a
-certain string or letter repeatedly in a request. The example shown here
-will replace A with B everywhere in a request, and will continue doing
-so until there are no more As to be replaced.
-</p>
-
-<div class="example"><p><code>
-RewriteRule (.*)A(.*) $1B$2 [N]
-</code></p></div>
-
-<p>You can think of this as a <code>while</code> loop: While this
-pattern still matches, perform this substitution.</p>
-
-
-
-<h3><a name="flag_nc" id="flag_nc">NC|nocase</a></h3>
-<p>Use of the [NC] flag causes the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to be matched in a
-case-insensitive manner. That is, it doesn't care whether letters appear
-as upper-case or lower-case in the matched URI.</p>
-
-<p>In the example below, any request for an image file will be proxied
-to your dedicated image server. The match is case-insensitive, so that
-<code>.jpg</code> and <code>.JPG</code> files are both acceptable, for
-example.</p>
-
-<div class="example"><p><code>
-RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]
-</code></p></div>
-
-
-<h3><a name="flag_ne" id="flag_ne">NE|noescape</a></h3>
-<p>By default, special characters, such as <code>&amp;</code> and
-<code>?</code>, for example, will be converted to their hexcode
-equivalent. Using the [NE] flag prevents that from happening.
-</p>
-
-<div class="example"><p><code>
-RewriteRule ^/anchor/(.+) /bigpage.html#$1 [NE,R]
-</code></p></div>
-
-<p>
-The above example will redirect <code>/anchor/xyz</code> to
-<code>/bigpage.html#xyz</code>. Omitting the [NE] will result in the #
-being converted to its hexcode equivalent, <code>%23</code>, which will
-then result in a 404 Not Found error condition.
-</p>
-
-
-
-<h3><a name="flag_ns" id="flag_ns">NS|nosubreq</a></h3>
-<p>Use of the [NS] flag prevents the rule from being used on
-subrequests. For example, a page which is included using an SSI (Server
-Side Include) is a subrequest, and you may want to avoid rewrites
-happening on those subrequests.</p>
-
-<p>
-Images, javascript files, or css files, loaded as part of an HTML page,
-are not subrequests - the browser requests them as separate HTTP
-requests.
-</p>
-
-
-<h3><a name="flag_p" id="flag_p">P|proxy</a></h3>
-<p>Use of the [P] flag causes the request to be handled by
-<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, and handled via a proxy request. For
-example, if you wanted all image requests to be handled by a back-end
-image server, you might do something like the following:</p>
-
-<div class="example"><p><code>
-RewriteRule (.*)\.(jpg|gif|png) http://images.example.com$1.$2 [P]
-</code></p></div>
-
-<p>Use of the [P] flag implies [L] - that is, the request is immediatly
-pushed through the proxy, and any following rules will not be
-considered.</p>
-
-
-
-<h3><a name="flag_pt" id="flag_pt">PT|passthrough</a></h3>
-
-<p>
-The target (or substitution string) in a RewriteRule is assumed to be a
-file path, by default. The use of the [PT] flag causes it to be treated
-as a URI instead. That is to say, the
-use of the [PT] flag causes the result of the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to be passed back through
-URL mapping, so that location-based mappings, such as <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, for example, might have a chance to take
-effect.
-</p>
-
-<p>
-If, for example, you have an
-<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>
-for /icons, and have a <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> pointing there, you should
-use the [PT] flag to ensure that the
-<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> is evaluated.
-</p>
-
-<div class="example"><p><code>
-Alias /icons /usr/local/apache/icons<br />
-RewriteRule /pics/(.+)\.jpg /icons/$1.gif [PT]
-</code></p></div>
-
-<p>
-Omission of the [PT] flag in this case will cause the Alias to be
-ignored, resulting in a 'File not found' error being returned.
-</p>
-
-
-
-<h3><a name="flag_qsa" id="flag_qsa">QSA|qsappend</a></h3>
-<p>
-When the replacement URI contains a query string, the default behavior
-of <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> is to discard
-the existing query string, and replace it with the newly generated one.
-Using the [QSA] flag causes the query strings to be combined.
-</p>
-
-<p>Consider the following rule:</p>
-
-<div class="example"><p><code>
-RewriteRule /pages/(.+) /page.php?page=$1 [QSA]
-</code></p></div>
-
-<p>With the [QSA] flag, a request for <code>/pages/123?one=two</code> will be
-mapped to <code>/page.php?page=123&amp;one=two</code>. Without the [QSA]
-flag, that same request will be mapped to
-<code>/page.php?page=123</code> - that is, the existing query string
-will be discarded.
-</p>
-
-
-<h3><a name="flag_r" id="flag_r">R|redirect</a></h3>
-<p>
-Use of the [R] flag causes a HTTP redirect to be issued to the browser.
-If a fully-qualified URL is specified (that is, including
-<code>http://servername/</code>) then a redirect will be issued to that
-location. Otherwise, the current servername will be used to generate the
-URL sent with the redirect.
-</p>
-
-<p>
-A status code may be specified, in the range 300-399, with a 302 status
-code being used by default if none is specified.
-</p>
-
-<p>
-You will almost always want to use [R] in conjunction with [L] (that is,
-use [R,L]) because on its own, the [R] flag prepends
-<code>http://thishost[:thisport]</code> to the URI, but then passes this
-on to the next rule in the ruleset, which can often result in 'Invalid
-URI in request' warnings.
-</p>
-
-
-
-<h3><a name="flag_s" id="flag_s">S|skip</a></h3>
-<p>The [S] flag is used to skip rules that you don't want to run. This
-can be thought of as a <code>goto</code> statement in your rewrite
-ruleset. In the following example, we only want to run the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> if the requested URI
-doesn't correspond with an actual file.</p>
-
-<div class="example"><p><code>
-# Is the request for a non-existent file?<br />
-RewriteCond %{REQUEST_FILENAME} !-f<br />
-RewriteCond %{REQUEST_FILENAME} !-d<br />
-# If so, skip these two RewriteRules<br />
-RewriteRule .? - [S=2]<br />
-<br />
-RewriteRule (.*\.gif) images.php?$1<br />
-RewriteRule (.*\.html) docs.php?$1
-</code></p></div>
-
-<p>This technique is useful because a <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> only applies to the
-<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> immediately
-following it. Thus, if you want to make a <code>RewriteCond</code> apply
-to several <code>RewriteRule</code>s, one possible technique is to
-negate those conditions and use a [Skip] flag.</p>
-
-
-
-<h3><a name="flag_t" id="flag_t">T|type</a></h3>
-<p>Sets the MIME type with which the resulting response will be
-sent. This has the same effect as the <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> directive.</p>
-
-<p>For example, you might use the following technique to serve Perl
-source code as plain text, if requested in a particular way:</p>
-
-<div class="example"><p><code>
-# Serve .pl files as plain text<br />
-RewriteRule \.pl$ - [T=text/plain]
-</code></p></div>
-
-<p>Or, perhaps, if you have a camera that produces jpeg images without
-file extensions, you could force those images to be served with the
-correct MIME type by virtue of their file names:</p>
-
-<div class="example"><p><code>
-# Files with 'IMG' in the name are jpg images.<br />
-RewriteRule IMG - [T=image/jpg]
-</code></p></div>
-
-<p>Please note that this is a trivial example, and could be better done
-using <code class="directive"><a href="../mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>
-instead. Always consider the alternate
-solutions to a problem before resorting to rewrite, which will
-invariably be a less efficient solution than the alternatives.</p>
-
-<p>
-If used in per-directory context, use only <code>-</code> (dash)
-as the substitution <em>for the entire round of mod_rewrite processing</em>,
-otherwise the MIME-type set with this flag is lost due to an internal
-re-processing (including subsequent rounds of mod_rewrite processing).
-The <code>L</code> flag can be useful in this context to end the
-<em>current</em> round of mod_rewrite processing.</p>
-
-</div></div>
-<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/rewrite_flags.html" title="English">&nbsp;en&nbsp;</a></p>
-</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
-<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
-</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/rewrite_guide.html.en b/docs/manual/rewrite/rewrite_guide.html.en
deleted file mode 100644
index 01a66954..00000000
--- a/docs/manual/rewrite/rewrite_guide.html.en
+++ /dev/null
@@ -1,777 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- -->
-<title>URL Rewriting Guide - Apache HTTP Server</title>
-<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
-<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
-<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
-<link href="../images/favicon.ico" rel="shortcut icon" /></head>
-<body id="manual-page"><div id="page-header">
-<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
-<p class="apache">Apache HTTP Server Version 2.2</p>
-<img alt="" src="../images/feather.gif" /></div>
-<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
-<div id="path">
-<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>URL Rewriting Guide</h1>
-<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/rewrite_guide.html" title="English">&nbsp;en&nbsp;</a></p>
-</div>
-
-
- <p>This document supplements the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- <a href="../mod/mod_rewrite.html">reference documentation</a>.
- It describes how one can use Apache's <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- to solve typical URL-based problems with which webmasters are
- commonly confronted. We give detailed descriptions on how to
- solve each problem by configuring URL rewriting rulesets.</p>
-
- <div class="warning">ATTENTION: Depending on your server configuration
- it may be necessary to slightly change the examples for your
- situation, e.g. adding the <code>[PT]</code> flag when
- additionally using <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> and
- <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code>, etc. Or rewriting a ruleset
- to fit in <code>.htaccess</code> context instead
- of per-server context. Always try to understand what a
- particular ruleset really does before you use it. This
- avoids many problems.</div>
-
- </div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#canonicalurl">Canonical URLs</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#canonicalhost">Canonical Hostnames</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#moveddocroot">Moved <code>DocumentRoot</code></a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#trailingslash">Trailing Slash Problem</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#movehomedirs">Move Homedirs to Different Webserver</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#multipledirs">Search pages in more than one directory</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#setenvvars">Set Environment Variables According To URL Parts</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#uservhosts">Virtual User Hosts</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#redirecthome">Redirect Homedirs For Foreigners</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#redirectanchors">Redirecting Anchors</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#time-dependent">Time-Dependent Rewriting</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#backward-compatibility">Backward Compatibility for YYYY to XXXX migration</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#old-to-new">From Old to New (intern)</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#old-to-new-extern">From Old to New (extern)</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#static-to-dynamic">From Static to Dynamic</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#blocking-of-robots">Blocking of Robots</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#blocked-inline-images">Blocked Inline-Images</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#proxy-deny">Proxy Deny</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#external-rewriting">External Rewriting Engine</a></li>
-</ul><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module
-documentation</a></li><li><a href="rewrite_intro.html">mod_rewrite
-introduction</a></li><li><a href="rewrite_guide_advanced.html">Advanced Rewrite Guide - advanced
-useful examples</a></li><li><a href="rewrite_tech.html">Technical details</a></li></ul></div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="canonicalurl" id="canonicalurl">Canonical URLs</a></h2>
-
-
-
-<dl>
- <dt>Description:</dt>
-
- <dd>
- <p>On some webservers there are more than one URL for a
- resource. Usually there are canonical URLs (which should be
- actually used and distributed) and those which are just
- shortcuts, internal ones, etc. Independent of which URL the
- user supplied with the request he should finally see the
- canonical one only.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We do an external HTTP redirect for all non-canonical
- URLs to fix them in the location view of the Browser and
- for all subsequent requests. In the example ruleset below
- we replace <code>/~user</code> by the canonical
- <code>/u/user</code> and fix a missing trailing slash for
- <code>/u/user</code>.</p>
-
-<div class="example"><pre>
-RewriteRule ^/<strong>~</strong>([^/]+)/?(.*) /<strong>u</strong>/$1/$2 [<strong>R</strong>]
-RewriteRule ^/u/(<strong>[^/]+</strong>)$ /$1/$2<strong>/</strong> [<strong>R</strong>]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="canonicalhost" id="canonicalhost">Canonical Hostnames</a></h2>
-
- <dl>
- <dt>Description:</dt>
-
- <dd>The goal of this rule is to force the use of a particular
- hostname, in preference to other hostnames which may be used to
- reach the same site. For example, if you wish to force the use
- of <strong>www.example.com</strong> instead of
- <strong>example.com</strong>, you might use a variant of the
- following recipe.</dd>
-
- <dt>Solution:</dt>
-
- <dd>
-<p>For sites running on a port other than 80:</p>
-<div class="example"><pre>
-RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
-RewriteCond %{HTTP_HOST} !^$
-RewriteCond %{SERVER_PORT} !^80$
-RewriteRule ^/?(.*) http://www.example.com:%{SERVER_PORT}/$1 [L,R,NE]
-</pre></div>
-
-<p>And for a site running on port 80</p>
-<div class="example"><pre>
-RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
-RewriteCond %{HTTP_HOST} !^$
-RewriteRule ^/?(.*) http://www.example.com/$1 [L,R,NE]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="moveddocroot" id="moveddocroot">Moved <code>DocumentRoot</code></a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
-<p>Usually the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
-of the webserver directly relates to the URL "<code>/</code>".
-But often this data is not really of top-level priority. For example,
-you may wish for visitors, on first entering a site, to go to a
-particular subdirectory <code>/about/</code>. This may be accomplished
-using the following ruleset:</p>
-</dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We redirect the URL <code>/</code> to
- <code>/about/</code>:
- </p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteRule <strong>^/$</strong> /about/ [<strong>R</strong>]
-</pre></div>
-
- <p>Note that this can also be handled using the <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> directive:</p>
-
-<div class="example"><p><code>
-RedirectMatch ^/$ http://example.com/e/www/
-</code></p></div>
-</dd>
-</dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="trailingslash" id="trailingslash">Trailing Slash Problem</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd><p>The vast majority of "trailing slash" problems can be dealt
- with using the techniques discussed in the <a href="http://httpd.apache.org/docs/misc/FAQ-E.html#set-servername">FAQ
- entry</a>. However, occasionally, there is a need to use mod_rewrite
- to handle a case where a missing trailing slash causes a URL to
- fail. This can happen, for example, after a series of complex
- rewrite rules.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>The solution to this subtle problem is to let the server
- add the trailing slash automatically. To do this
- correctly we have to use an external redirect, so the
- browser correctly requests subsequent images etc. If we
- only did a internal rewrite, this would only work for the
- directory page, but would go wrong when any images are
- included into this page with relative URLs, because the
- browser would request an in-lined object. For instance, a
- request for <code>image.gif</code> in
- <code>/~quux/foo/index.html</code> would become
- <code>/~quux/image.gif</code> without the external
- redirect!</p>
-
- <p>So, to do this trick we write:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^foo<strong>$</strong> foo<strong>/</strong> [<strong>R</strong>]
-</pre></div>
-
- <p>Alternately, you can put the following in a
- top-level <code>.htaccess</code> file in the content directory.
- But note that this creates some processing overhead.</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteBase /~quux/
-RewriteCond %{REQUEST_FILENAME} <strong>-d</strong>
-RewriteRule ^(.+<strong>[^/]</strong>)$ $1<strong>/</strong> [R]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="movehomedirs" id="movehomedirs">Move Homedirs to Different Webserver</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Many webmasters have asked for a solution to the
- following situation: They wanted to redirect just all
- homedirs on a webserver to another webserver. They usually
- need such things when establishing a newer webserver which
- will replace the old one over time.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>The solution is trivial with <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.
- On the old webserver we just redirect all
- <code>/~user/anypath</code> URLs to
- <code>http://newserver/~user/anypath</code>.</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteRule ^/~(.+) http://<strong>newserver</strong>/~$1 [R,L]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="multipledirs" id="multipledirs">Search pages in more than one directory</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Sometimes it is necessary to let the webserver search
- for pages in more than one directory. Here MultiViews or
- other techniques cannot help.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We program a explicit ruleset which searches for the
- files in the directories.</p>
-
-<div class="example"><pre>
-RewriteEngine on
-
-# first try to find it in dir1/...
-# ...and if found stop and be happy:
-RewriteCond /your/docroot/<strong>dir1</strong>/%{REQUEST_FILENAME} -f
-RewriteRule ^(.+) /your/docroot/<strong>dir1</strong>/$1 [L]
-
-# second try to find it in dir2/...
-# ...and if found stop and be happy:
-RewriteCond /your/docroot/<strong>dir2</strong>/%{REQUEST_FILENAME} -f
-RewriteRule ^(.+) /your/docroot/<strong>dir2</strong>/$1 [L]
-
-# else go on for other Alias or ScriptAlias directives,
-# etc.
-RewriteRule ^(.+) - [PT]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="setenvvars" id="setenvvars">Set Environment Variables According To URL Parts</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Perhaps you want to keep status information between
- requests and use the URL to encode it. But you don't want
- to use a CGI wrapper for all pages just to strip out this
- information.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We use a rewrite rule to strip out the status information
- and remember it via an environment variable which can be
- later dereferenced from within XSSI or CGI. This way a
- URL <code>/foo/S=java/bar/</code> gets translated to
- <code>/foo/bar/</code> and the environment variable named
- <code>STATUS</code> is set to the value "java".</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteRule ^(.*)/<strong>S=([^/]+)</strong>/(.*) $1/$3 [E=<strong>STATUS:$2</strong>]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="uservhosts" id="uservhosts">Virtual User Hosts</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Assume that you want to provide
- <code>www.<strong>username</strong>.host.domain.com</code>
- for the homepage of username via just DNS A records to the
- same machine and without any virtualhosts on this
- machine.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>For HTTP/1.0 requests there is no solution, but for
- HTTP/1.1 requests which contain a Host: HTTP header we
- can use the following ruleset to rewrite
- <code>http://www.username.host.com/anypath</code>
- internally to <code>/home/username/anypath</code>:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteCond %{<strong>HTTP_HOST</strong>} ^www\.<strong>[^.]+</strong>\.host\.com$
-RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
-RewriteRule ^www\.<strong>([^.]+)</strong>\.host\.com(.*) /home/<strong>$1</strong>$2
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="redirecthome" id="redirecthome">Redirect Homedirs For Foreigners</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>We want to redirect homedir URLs to another webserver
- <code>www.somewhere.com</code> when the requesting user
- does not stay in the local domain
- <code>ourdomain.com</code>. This is sometimes used in
- virtual host contexts.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>Just a rewrite condition:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteCond %{REMOTE_HOST} <strong>!^.+\.ourdomain\.com$</strong>
-RewriteRule ^(/~.+) http://www.somewhere.com/$1 [R,L]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="redirectanchors" id="redirectanchors">Redirecting Anchors</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>By default, redirecting to an HTML anchor doesn't work,
- because mod_rewrite escapes the <code>#</code> character,
- turning it into <code>%23</code>. This, in turn, breaks the
- redirection.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>Use the <code>[NE]</code> flag on the
- <code>RewriteRule</code>. NE stands for No Escape.
- </p>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="time-dependent" id="time-dependent">Time-Dependent Rewriting</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>When tricks like time-dependent content should happen a
- lot of webmasters still use CGI scripts which do for
- instance redirects to specialized pages. How can it be done
- via <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>There are a lot of variables named <code>TIME_xxx</code>
- for rewrite conditions. In conjunction with the special
- lexicographic comparison patterns <code>&lt;STRING</code>,
- <code>&gt;STRING</code> and <code>=STRING</code> we can
- do time-dependent redirects:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteCond %{TIME_HOUR}%{TIME_MIN} &gt;0700
-RewriteCond %{TIME_HOUR}%{TIME_MIN} &lt;1900
-RewriteRule ^foo\.html$ foo.day.html
-RewriteRule ^foo\.html$ foo.night.html
-</pre></div>
-
- <p>This provides the content of <code>foo.day.html</code>
- under the URL <code>foo.html</code> from
- <code>07:00-19:00</code> and at the remaining time the
- contents of <code>foo.night.html</code>. Just a nice
- feature for a homepage...</p>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="backward-compatibility" id="backward-compatibility">Backward Compatibility for YYYY to XXXX migration</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>How can we make URLs backward compatible (still
- existing virtually) after migrating <code>document.YYYY</code>
- to <code>document.XXXX</code>, e.g. after translating a
- bunch of <code>.html</code> files to <code>.phtml</code>?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We just rewrite the name to its basename and test for
- existence of the new extension. If it exists, we take
- that name, else we rewrite the URL to its original state.</p>
-
-
-<div class="example"><pre>
-# backward compatibility ruleset for
-# rewriting document.html to document.phtml
-# when and only when document.phtml exists
-# but no longer document.html
-RewriteEngine on
-RewriteBase /~quux/
-# parse out basename, but remember the fact
-RewriteRule ^(.*)\.html$ $1 [C,E=WasHTML:yes]
-# rewrite to document.phtml if exists
-RewriteCond %{REQUEST_FILENAME}.phtml -f
-RewriteRule ^(.*)$ $1.phtml [S=1]
-# else reverse the previous basename cutout
-RewriteCond %{ENV:WasHTML} ^yes$
-RewriteRule ^(.*)$ $1.html
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="old-to-new" id="old-to-new">From Old to New (intern)</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Assume we have recently renamed the page
- <code>foo.html</code> to <code>bar.html</code> and now want
- to provide the old URL for backward compatibility. Actually
- we want that users of the old URL even not recognize that
- the pages was renamed.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We rewrite the old URL to the new one internally via the
- following rule:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^<strong>foo</strong>\.html$ <strong>bar</strong>.html
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="old-to-new-extern" id="old-to-new-extern">From Old to New (extern)</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Assume again that we have recently renamed the page
- <code>foo.html</code> to <code>bar.html</code> and now want
- to provide the old URL for backward compatibility. But this
- time we want that the users of the old URL get hinted to
- the new one, i.e. their browsers Location field should
- change, too.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We force a HTTP redirect to the new URL which leads to a
- change of the browsers and thus the users view:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^<strong>foo</strong>\.html$ <strong>bar</strong>.html [<strong>R</strong>]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="static-to-dynamic" id="static-to-dynamic">From Static to Dynamic</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>How can we transform a static page
- <code>foo.html</code> into a dynamic variant
- <code>foo.cgi</code> in a seamless way, i.e. without notice
- by the browser/user.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We just rewrite the URL to the CGI-script and force the
- handler to be <strong>cgi-script</strong> so that it is
- executed as a CGI program.
- This way a request to <code>/~quux/foo.html</code>
- internally leads to the invocation of
- <code>/~quux/foo.cgi</code>.</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^foo\.<strong>html</strong>$ foo.<strong>cgi</strong> [H=<strong>cgi-script</strong>]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="blocking-of-robots" id="blocking-of-robots">Blocking of Robots</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>How can we block a really annoying robot from
- retrieving pages of a specific webarea? A
- <code>/robots.txt</code> file containing entries of the
- "Robot Exclusion Protocol" is typically not enough to get
- rid of such a robot.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We use a ruleset which forbids the URLs of the webarea
- <code>/~quux/foo/arc/</code> (perhaps a very deep
- directory indexed area where the robot traversal would
- create big server load). We have to make sure that we
- forbid access only to the particular robot, i.e. just
- forbidding the host where the robot runs is not enough.
- This would block users from this host, too. We accomplish
- this by also matching the User-Agent HTTP header
- information.</p>
-
-<div class="example"><pre>
-RewriteCond %{HTTP_USER_AGENT} ^<strong>NameOfBadRobot</strong>.*
-RewriteCond %{REMOTE_ADDR} ^<strong>123\.45\.67\.[8-9]</strong>$
-RewriteRule ^<strong>/~quux/foo/arc/</strong>.+ - [<strong>F</strong>]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="blocked-inline-images" id="blocked-inline-images">Blocked Inline-Images</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Assume we have under <code>http://www.quux-corp.de/~quux/</code>
- some pages with inlined GIF graphics. These graphics are
- nice, so others directly incorporate them via hyperlinks to
- their pages. We don't like this practice because it adds
- useless traffic to our server.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>While we cannot 100% protect the images from inclusion,
- we can at least restrict the cases where the browser
- sends a HTTP Referer header.</p>
-
-<div class="example"><pre>
-RewriteCond %{HTTP_REFERER} <strong>!^$</strong>
-RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.*$ [NC]
-RewriteRule <strong>.*\.gif$</strong> - [F]
-</pre></div>
-
-<div class="example"><pre>
-RewriteCond %{HTTP_REFERER} !^$
-RewriteCond %{HTTP_REFERER} !.*/foo-with-gif\.html$
-RewriteRule <strong>^inlined-in-foo\.gif$</strong> - [F]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="proxy-deny" id="proxy-deny">Proxy Deny</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>How can we forbid a certain host or even a user of a
- special host from using the Apache proxy?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We first have to make sure <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- is below(!) <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> in the Configuration
- file when compiling the Apache webserver. This way it gets
- called <em>before</em> <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Then we
- configure the following for a host-dependent deny...</p>
-
-<div class="example"><pre>
-RewriteCond %{REMOTE_HOST} <strong>^badhost\.mydomain\.com$</strong>
-RewriteRule !^http://[^/.]\.mydomain.com.* - [F]
-</pre></div>
-
- <p>...and this one for a user@host-dependent deny:</p>
-
-<div class="example"><pre>
-RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>^badguy@badhost\.mydomain\.com$</strong>
-RewriteRule !^http://[^/.]\.mydomain.com.* - [F]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="external-rewriting" id="external-rewriting">External Rewriting Engine</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>A FAQ: How can we solve the FOO/BAR/QUUX/etc.
- problem? There seems no solution by the use of
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>...</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>Use an external <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>, i.e. a program which acts
- like a <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>. It is run once on startup of Apache
- receives the requested URLs on <code>STDIN</code> and has
- to put the resulting (usually rewritten) URL on
- <code>STDOUT</code> (same order!).</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteMap quux-map <strong>prg:</strong>/path/to/map.quux.pl
-RewriteRule ^/~quux/(.*)$ /~quux/<strong>${quux-map:$1}</strong>
-</pre></div>
-
-<div class="example"><pre>
-#!/path/to/perl
-
-# disable buffered I/O which would lead
-# to deadloops for the Apache server
-$| = 1;
-
-# read URLs one per line from stdin and
-# generate substitution URL on stdout
-while (&lt;&gt;) {
- s|^foo/|bar/|;
- print $_;
-}
-</pre></div>
-
- <p>This is a demonstration-only example and just rewrites
- all URLs <code>/~quux/foo/...</code> to
- <code>/~quux/bar/...</code>. Actually you can program
- whatever you like. But notice that while such maps can be
- <strong>used</strong> also by an average user, only the
- system administrator can <strong>define</strong> it.</p>
- </dd>
- </dl>
-
- </div></div>
-<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/rewrite_guide.html" title="English">&nbsp;en&nbsp;</a></p>
-</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
-<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
-</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/rewrite_guide_advanced.html.en b/docs/manual/rewrite/rewrite_guide_advanced.html.en
deleted file mode 100644
index 418fb7c1..00000000
--- a/docs/manual/rewrite/rewrite_guide_advanced.html.en
+++ /dev/null
@@ -1,1289 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- -->
-<title>URL Rewriting Guide - Advanced topics - Apache HTTP Server</title>
-<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
-<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
-<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
-<link href="../images/favicon.ico" rel="shortcut icon" /></head>
-<body id="manual-page"><div id="page-header">
-<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
-<p class="apache">Apache HTTP Server Version 2.2</p>
-<img alt="" src="../images/feather.gif" /></div>
-<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
-<div id="path">
-<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>URL Rewriting Guide - Advanced topics</h1>
-<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/rewrite_guide_advanced.html" title="English">&nbsp;en&nbsp;</a></p>
-</div>
-
-
- <p>This document supplements the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- <a href="../mod/mod_rewrite.html">reference documentation</a>.
- It describes how one can use Apache's <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- to solve typical URL-based problems with which webmasters are
- commonly confronted. We give detailed descriptions on how to
- solve each problem by configuring URL rewriting rulesets.</p>
-
- <div class="warning">ATTENTION: Depending on your server configuration
- it may be necessary to adjust the examples for your
- situation, e.g., adding the <code>[PT]</code> flag if
- using <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> and
- <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code>, etc. Or rewriting a ruleset
- to work in <code>.htaccess</code> context instead
- of per-server context. Always try to understand what a
- particular ruleset really does before you use it; this
- avoids many problems.</div>
-
- </div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#cluster">Web Cluster with Consistent URL Space</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#structuredhomedirs">Structured Homedirs</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#filereorg">Filesystem Reorganization</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#redirect404">Redirect Failing URLs to Another Web Server</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#archive-access-multiplexer">Archive Access Multiplexer</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#browser-dependent-content">Browser Dependent Content</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#dynamic-mirror">Dynamic Mirror</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#reverse-dynamic-mirror">Reverse Dynamic Mirror</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#retrieve-missing-data">Retrieve Missing Data from Intranet</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#load-balancing">Load Balancing</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#new-mime-type">New MIME-type, New Service</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#on-the-fly-content">On-the-fly Content-Regeneration</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#autorefresh">Document With Autorefresh</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#mass-virtual-hosting">Mass Virtual Hosting</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#host-deny">Host Deny</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#proxy-deny">Proxy Deny</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#special-authentication">Special Authentication Variant</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#referer-deflector">Referer-based Deflector</a></li>
-</ul><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module
-documentation</a></li><li><a href="rewrite_intro.html">mod_rewrite
-introduction</a></li><li><a href="rewrite_guide.html">Rewrite Guide - useful
-examples</a></li><li><a href="rewrite_tech.html">Technical details</a></li></ul></div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="cluster" id="cluster">Web Cluster with Consistent URL Space</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>We want to create a homogeneous and consistent URL
- layout across all WWW servers on an Intranet web cluster, i.e.,
- all URLs (by definition server-local and thus
- server-dependent!) become server <em>independent</em>!
- What we want is to give the WWW namespace a single consistent
- layout: no URL should refer to
- any particular target server. The cluster itself
- should connect users automatically to a physical target
- host as needed, invisibly.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>First, the knowledge of the target servers comes from
- (distributed) external maps which contain information on
- where our users, groups, and entities reside. They have the
- form:</p>
-
-<div class="example"><pre>
-user1 server_of_user1
-user2 server_of_user2
-: :
-</pre></div>
-
- <p>We put them into files <code>map.xxx-to-host</code>.
- Second we need to instruct all servers to redirect URLs
- of the forms:</p>
-
-<div class="example"><pre>
-/u/user/anypath
-/g/group/anypath
-/e/entity/anypath
-</pre></div>
-
- <p>to</p>
-
-<div class="example"><pre>
-http://physical-host/u/user/anypath
-http://physical-host/g/group/anypath
-http://physical-host/e/entity/anypath
-</pre></div>
-
- <p>when any URL path need not be valid on every server. The
- following ruleset does this for us with the help of the map
- files (assuming that server0 is a default server which
- will be used if a user has no entry in the map):</p>
-
-<div class="example"><pre>
-RewriteEngine on
-
-RewriteMap user-to-host txt:/path/to/map.user-to-host
-RewriteMap group-to-host txt:/path/to/map.group-to-host
-RewriteMap entity-to-host txt:/path/to/map.entity-to-host
-
-RewriteRule ^/u/<strong>([^/]+)</strong>/?(.*) http://<strong>${user-to-host:$1|server0}</strong>/u/$1/$2
-RewriteRule ^/g/<strong>([^/]+)</strong>/?(.*) http://<strong>${group-to-host:$1|server0}</strong>/g/$1/$2
-RewriteRule ^/e/<strong>([^/]+)</strong>/?(.*) http://<strong>${entity-to-host:$1|server0}</strong>/e/$1/$2
-
-RewriteRule ^/([uge])/([^/]+)/?$ /$1/$2/.www/
-RewriteRule ^/([uge])/([^/]+)/([^.]+.+) /$1/$2/.www/$3\
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="structuredhomedirs" id="structuredhomedirs">Structured Homedirs</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Some sites with thousands of users use a
- structured homedir layout, <em>i.e.</em> each homedir is in a
- subdirectory which begins (for instance) with the first
- character of the username. So, <code>/~foo/anypath</code>
- is <code>/home/<strong>f</strong>/foo/.www/anypath</code>
- while <code>/~bar/anypath</code> is
- <code>/home/<strong>b</strong>/bar/.www/anypath</code>.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We use the following ruleset to expand the tilde URLs
- into the above layout.</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteRule ^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*) /home/<strong>$2</strong>/$1/.www$3
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="filereorg" id="filereorg">Filesystem Reorganization</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>This really is a hardcore example: a killer application
- which heavily uses per-directory
- <code>RewriteRules</code> to get a smooth look and feel
- on the Web while its data structure is never touched or
- adjusted. Background: <strong><em>net.sw</em></strong> is
- my archive of freely available Unix software packages,
- which I started to collect in 1992. It is both my hobby
- and job to do this, because while I'm studying computer
- science I have also worked for many years as a system and
- network administrator in my spare time. Every week I need
- some sort of software so I created a deep hierarchy of
- directories where I stored the packages:</p>
-
-<div class="example"><pre>
-drwxrwxr-x 2 netsw users 512 Aug 3 18:39 Audio/
-drwxrwxr-x 2 netsw users 512 Jul 9 14:37 Benchmark/
-drwxrwxr-x 12 netsw users 512 Jul 9 00:34 Crypto/
-drwxrwxr-x 5 netsw users 512 Jul 9 00:41 Database/
-drwxrwxr-x 4 netsw users 512 Jul 30 19:25 Dicts/
-drwxrwxr-x 10 netsw users 512 Jul 9 01:54 Graphic/
-drwxrwxr-x 5 netsw users 512 Jul 9 01:58 Hackers/
-drwxrwxr-x 8 netsw users 512 Jul 9 03:19 InfoSys/
-drwxrwxr-x 3 netsw users 512 Jul 9 03:21 Math/
-drwxrwxr-x 3 netsw users 512 Jul 9 03:24 Misc/
-drwxrwxr-x 9 netsw users 512 Aug 1 16:33 Network/
-drwxrwxr-x 2 netsw users 512 Jul 9 05:53 Office/
-drwxrwxr-x 7 netsw users 512 Jul 9 09:24 SoftEng/
-drwxrwxr-x 7 netsw users 512 Jul 9 12:17 System/
-drwxrwxr-x 12 netsw users 512 Aug 3 20:15 Typesetting/
-drwxrwxr-x 10 netsw users 512 Jul 9 14:08 X11/
-</pre></div>
-
- <p>In July 1996 I decided to make this archive public to
- the world via a nice Web interface. "Nice" means that I
- wanted to offer an interface where you can browse
- directly through the archive hierarchy. And "nice" means
- that I didn't want to change anything inside this
- hierarchy - not even by putting some CGI scripts at the
- top of it. Why? Because the above structure should later be
- accessible via FTP as well, and I didn't want any
- Web or CGI stuff mixed in there.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>The solution has two parts: The first is a set of CGI
- scripts which create all the pages at all directory
- levels on-the-fly. I put them under
- <code>/e/netsw/.www/</code> as follows:</p>
-
-<div class="example"><pre>
--rw-r--r-- 1 netsw users 1318 Aug 1 18:10 .wwwacl
-drwxr-xr-x 18 netsw users 512 Aug 5 15:51 DATA/
--rw-rw-rw- 1 netsw users 372982 Aug 5 16:35 LOGFILE
--rw-r--r-- 1 netsw users 659 Aug 4 09:27 TODO
--rw-r--r-- 1 netsw users 5697 Aug 1 18:01 netsw-about.html
--rwxr-xr-x 1 netsw users 579 Aug 2 10:33 netsw-access.pl
--rwxr-xr-x 1 netsw users 1532 Aug 1 17:35 netsw-changes.cgi
--rwxr-xr-x 1 netsw users 2866 Aug 5 14:49 netsw-home.cgi
-drwxr-xr-x 2 netsw users 512 Jul 8 23:47 netsw-img/
--rwxr-xr-x 1 netsw users 24050 Aug 5 15:49 netsw-lsdir.cgi
--rwxr-xr-x 1 netsw users 1589 Aug 3 18:43 netsw-search.cgi
--rwxr-xr-x 1 netsw users 1885 Aug 1 17:41 netsw-tree.cgi
--rw-r--r-- 1 netsw users 234 Jul 30 16:35 netsw-unlimit.lst
-</pre></div>
-
- <p>The <code>DATA/</code> subdirectory holds the above
- directory structure, <em>i.e.</em> the real
- <strong><em>net.sw</em></strong> stuff, and gets
- automatically updated via <code>rdist</code> from time to
- time. The second part of the problem remains: how to link
- these two structures together into one smooth-looking URL
- tree? We want to hide the <code>DATA/</code> directory
- from the user while running the appropriate CGI scripts
- for the various URLs. Here is the solution: first I put
- the following into the per-directory configuration file
- in the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
- of the server to rewrite the public URL path
- <code>/net.sw/</code> to the internal path
- <code>/e/netsw</code>:</p>
-
-<div class="example"><pre>
-RewriteRule ^net.sw$ net.sw/ [R]
-RewriteRule ^net.sw/(.*)$ e/netsw/$1
-</pre></div>
-
- <p>The first rule is for requests which miss the trailing
- slash! The second rule does the real thing. And then
- comes the killer configuration which stays in the
- per-directory config file
- <code>/e/netsw/.www/.wwwacl</code>:</p>
-
-<div class="example"><pre>
-Options ExecCGI FollowSymLinks Includes MultiViews
-
-RewriteEngine on
-
-# we are reached via /net.sw/ prefix
-RewriteBase /net.sw/
-
-# first we rewrite the root dir to
-# the handling cgi script
-RewriteRule ^$ netsw-home.cgi [L]
-RewriteRule ^index\.html$ netsw-home.cgi [L]
-
-# strip out the subdirs when
-# the browser requests us from perdir pages
-RewriteRule ^.+/(netsw-[^/]+/.+)$ $1 [L]
-
-# and now break the rewriting for local files
-RewriteRule ^netsw-home\.cgi.* - [L]
-RewriteRule ^netsw-changes\.cgi.* - [L]
-RewriteRule ^netsw-search\.cgi.* - [L]
-RewriteRule ^netsw-tree\.cgi$ - [L]
-RewriteRule ^netsw-about\.html$ - [L]
-RewriteRule ^netsw-img/.*$ - [L]
-
-# anything else is a subdir which gets handled
-# by another cgi script
-RewriteRule !^netsw-lsdir\.cgi.* - [C]
-RewriteRule (.*) netsw-lsdir.cgi/$1
-</pre></div>
-
- <p>Some hints for interpretation:</p>
-
- <ol>
- <li>Notice the <code>L</code> (last) flag and no
- substitution field ('<code>-</code>') in the fourth part</li>
-
- <li>Notice the <code>!</code> (not) character and
- the <code>C</code> (chain) flag at the first rule
- in the last part</li>
-
- <li>Notice the catch-all pattern in the last rule</li>
- </ol>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="redirect404" id="redirect404">Redirect Failing URLs to Another Web Server</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>A typical FAQ about URL rewriting is how to redirect
- failing requests on webserver A to webserver B. Usually
- this is done via <code class="directive"><a href="../mod/core.html#errordocument">ErrorDocument</a></code> CGI scripts in Perl, but
- there is also a <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> solution.
- But note that this performs more poorly than using an
- <code class="directive"><a href="../mod/core.html#errordocument">ErrorDocument</a></code>
- CGI script!</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>The first solution has the best performance but less
- flexibility, and is less safe:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteCond /your/docroot/%{REQUEST_FILENAME} <strong>!-f</strong>
-RewriteRule ^(.+) http://<strong>webserverB</strong>.dom/$1
-</pre></div>
-
- <p>The problem here is that this will only work for pages
- inside the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. While you can add more
- Conditions (for instance to also handle homedirs, etc.)
- there is a better variant:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteCond %{REQUEST_URI} <strong>!-U</strong>
-RewriteRule ^(.+) http://<strong>webserverB</strong>.dom/$1
-</pre></div>
-
- <p>This uses the URL look-ahead feature of <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.
- The result is that this will work for all types of URLs
- and is safe. But it does have a performance impact on
- the web server, because for every request there is one
- more internal subrequest. So, if your web server runs on a
- powerful CPU, use this one. If it is a slow machine, use
- the first approach or better an <code class="directive"><a href="../mod/core.html#errordocument">ErrorDocument</a></code> CGI script.</p>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="archive-access-multiplexer" id="archive-access-multiplexer">Archive Access Multiplexer</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Do you know the great CPAN (Comprehensive Perl Archive
- Network) under <a href="http://www.perl.com/CPAN">http://www.perl.com/CPAN</a>?
- CPAN automatically redirects browsers to one of many FTP
- servers around the world (generally one near the requesting
- client); each server carries a full CPAN mirror. This is
- effectively an FTP access multiplexing service.
- CPAN runs via CGI scripts, but how could a similar approach
- be implemented via <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>First we notice that as of version 3.0.0,
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> can
- also use the "<code>ftp:</code>" scheme on redirects.
- And second, the location approximation can be done by a
- <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
- over the top-level domain of the client.
- With a tricky chained ruleset we can use this top-level
- domain as a key to our multiplexing map.</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteMap multiplex txt:/path/to/map.cxan
-RewriteRule ^/CxAN/(.*) %{REMOTE_HOST}::$1 [C]
-RewriteRule ^.+\.<strong>([a-zA-Z]+)</strong>::(.*)$ ${multiplex:<strong>$1</strong>|ftp.default.dom}$2 [R,L]
-</pre></div>
-
-<div class="example"><pre>
-##
-## map.cxan -- Multiplexing Map for CxAN
-##
-
-de ftp://ftp.cxan.de/CxAN/
-uk ftp://ftp.cxan.uk/CxAN/
-com ftp://ftp.cxan.com/CxAN/
- :
-##EOF##
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="browser-dependent-content" id="browser-dependent-content">Browser Dependent Content</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>At least for important top-level pages it is sometimes
- necessary to provide the optimum of browser dependent
- content, i.e., one has to provide one version for
- current browsers, a different version for the Lynx and text-mode
- browsers, and another for other browsers.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We cannot use content negotiation because the browsers do
- not provide their type in that form. Instead we have to
- act on the HTTP header "User-Agent". The following config
- does the following: If the HTTP header "User-Agent"
- begins with "Mozilla/3", the page <code>foo.html</code>
- is rewritten to <code>foo.NS.html</code> and the
- rewriting stops. If the browser is "Lynx" or "Mozilla" of
- version 1 or 2, the URL becomes <code>foo.20.html</code>.
- All other browsers receive page <code>foo.32.html</code>.
- This is done with the following ruleset:</p>
-
-<div class="example"><pre>
-RewriteCond %{HTTP_USER_AGENT} ^<strong>Mozilla/3</strong>.*
-RewriteRule ^foo\.html$ foo.<strong>NS</strong>.html [<strong>L</strong>]
-
-RewriteCond %{HTTP_USER_AGENT} ^<strong>Lynx/</strong>.* [OR]
-RewriteCond %{HTTP_USER_AGENT} ^<strong>Mozilla/[12]</strong>.*
-RewriteRule ^foo\.html$ foo.<strong>20</strong>.html [<strong>L</strong>]
-
-RewriteRule ^foo\.html$ foo.<strong>32</strong>.html [<strong>L</strong>]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="dynamic-mirror" id="dynamic-mirror">Dynamic Mirror</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Assume there are nice web pages on remote hosts we want
- to bring into our namespace. For FTP servers we would use
- the <code>mirror</code> program which actually maintains an
- explicit up-to-date copy of the remote data on the local
- machine. For a web server we could use the program
- <code>webcopy</code> which runs via HTTP. But both
- techniques have a major drawback: The local copy is
- always only as up-to-date as the last time we ran the program. It
- would be much better if the mirror was not a static one we
- have to establish explicitly. Instead we want a dynamic
- mirror with data which gets updated automatically
- as needed on the remote host(s).</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>To provide this feature we map the remote web page or even
- the complete remote web area to our namespace by the use
- of the <dfn>Proxy Throughput</dfn> feature
- (flag <code>[P]</code>):</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^<strong>hotsheet/</strong>(.*)$ <strong>http://www.tstimpreso.com/hotsheet/</strong>$1 [<strong>P</strong>]
-</pre></div>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^<strong>usa-news\.html</strong>$ <strong>http://www.quux-corp.com/news/index.html</strong> [<strong>P</strong>]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="reverse-dynamic-mirror" id="reverse-dynamic-mirror">Reverse Dynamic Mirror</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>...</dd>
-
- <dt>Solution:</dt>
-
- <dd>
-<div class="example"><pre>
-RewriteEngine on
-RewriteCond /mirror/of/remotesite/$1 -U
-RewriteRule ^http://www\.remotesite\.com/(.*)$ /mirror/of/remotesite/$1
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="retrieve-missing-data" id="retrieve-missing-data">Retrieve Missing Data from Intranet</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>This is a tricky way of virtually running a corporate
- (external) Internet web server
- (<code>www.quux-corp.dom</code>), while actually keeping
- and maintaining its data on an (internal) Intranet web server
- (<code>www2.quux-corp.dom</code>) which is protected by a
- firewall. The trick is that the external web server retrieves
- the requested data on-the-fly from the internal
- one.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>First, we must make sure that our firewall still
- protects the internal web server and only the
- external web server is allowed to retrieve data from it.
- On a packet-filtering firewall, for instance, we could
- configure a firewall ruleset like the following:</p>
-
-<div class="example"><pre>
-<strong>ALLOW</strong> Host www.quux-corp.dom Port &gt;1024 --&gt; Host www2.quux-corp.dom Port <strong>80</strong>
-<strong>DENY</strong> Host * Port * --&gt; Host www2.quux-corp.dom Port <strong>80</strong>
-</pre></div>
-
- <p>Just adjust it to your actual configuration syntax.
- Now we can establish the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- rules which request the missing data in the background
- through the proxy throughput feature:</p>
-
-<div class="example"><pre>
-RewriteRule ^/~([^/]+)/?(.*) /home/$1/.www/$2
-RewriteCond %{REQUEST_FILENAME} <strong>!-f</strong>
-RewriteCond %{REQUEST_FILENAME} <strong>!-d</strong>
-RewriteRule ^/home/([^/]+)/.www/?(.*) http://<strong>www2</strong>.quux-corp.dom/~$1/pub/$2 [<strong>P</strong>]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="load-balancing" id="load-balancing">Load Balancing</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Suppose we want to load balance the traffic to
- <code>www.example.com</code> over <code>www[0-5].example.com</code>
- (a total of 6 servers). How can this be done?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>There are many possible solutions for this problem.
- We will first discuss a common DNS-based method,
- and then one based on <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>:</p>
-
- <ol>
- <li>
- <strong>DNS Round-Robin</strong>
-
- <p>The simplest method for load-balancing is to use
- DNS round-robin.
- Here you just configure <code>www[0-9].example.com</code>
- as usual in your DNS with A (address) records, e.g.,</p>
-
-<div class="example"><pre>
-www0 IN A 1.2.3.1
-www1 IN A 1.2.3.2
-www2 IN A 1.2.3.3
-www3 IN A 1.2.3.4
-www4 IN A 1.2.3.5
-www5 IN A 1.2.3.6
-</pre></div>
-
- <p>Then you additionally add the following entries:</p>
-
-<div class="example"><pre>
-www IN A 1.2.3.1
-www IN A 1.2.3.2
-www IN A 1.2.3.3
-www IN A 1.2.3.4
-www IN A 1.2.3.5
-</pre></div>
-
- <p>Now when <code>www.example.com</code> gets
- resolved, <code>BIND</code> gives out <code>www0-www5</code>
- - but in a permutated (rotated) order every time.
- This way the clients are spread over the various
- servers. But notice that this is not a perfect load
- balancing scheme, because DNS resolutions are
- cached by clients and other nameservers, so
- once a client has resolved <code>www.example.com</code>
- to a particular <code>wwwN.example.com</code>, all its
- subsequent requests will continue to go to the same
- IP (and thus a single server), rather than being
- distributed across the other available servers. But the
- overall result is
- okay because the requests are collectively
- spread over the various web servers.</p>
- </li>
-
- <li>
- <strong>DNS Load-Balancing</strong>
-
- <p>A sophisticated DNS-based method for
- load-balancing is to use the program
- <code>lbnamed</code> which can be found at <a href="http://www.stanford.edu/~riepel/lbnamed/">
- http://www.stanford.edu/~riepel/lbnamed/</a>.
- It is a Perl 5 program which, in conjunction with auxilliary
- tools, provides real load-balancing via
- DNS.</p>
- </li>
-
- <li>
- <strong>Proxy Throughput Round-Robin</strong>
-
- <p>In this variant we use <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- and its proxy throughput feature. First we dedicate
- <code>www0.example.com</code> to be actually
- <code>www.example.com</code> by using a single</p>
-
-<div class="example"><pre>
-www IN CNAME www0.example.com.
-</pre></div>
-
- <p>entry in the DNS. Then we convert
- <code>www0.example.com</code> to a proxy-only server,
- i.e., we configure this machine so all arriving URLs
- are simply passed through its internal proxy to one of
- the 5 other servers (<code>www1-www5</code>). To
- accomplish this we first establish a ruleset which
- contacts a load balancing script <code>lb.pl</code>
- for all URLs.</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteMap lb prg:/path/to/lb.pl
-RewriteRule ^/(.+)$ ${lb:$1} [P,L]
-</pre></div>
-
- <p>Then we write <code>lb.pl</code>:</p>
-
-<div class="example"><pre>
-#!/path/to/perl
-##
-## lb.pl -- load balancing script
-##
-
-$| = 1;
-
-$name = "www"; # the hostname base
-$first = 1; # the first server (not 0 here, because 0 is myself)
-$last = 5; # the last server in the round-robin
-$domain = "foo.dom"; # the domainname
-
-$cnt = 0;
-while (&lt;STDIN&gt;) {
- $cnt = (($cnt+1) % ($last+1-$first));
- $server = sprintf("%s%d.%s", $name, $cnt+$first, $domain);
- print "http://$server/$_";
-}
-
-##EOF##
-</pre></div>
-
- <div class="note">A last notice: Why is this useful? Seems like
- <code>www0.example.com</code> still is overloaded? The
- answer is yes, it is overloaded, but with plain proxy
- throughput requests, only! All SSI, CGI, ePerl, etc.
- processing is handled done on the other machines.
- For a complicated site, this may work well. The biggest
- risk here is that www0 is now a single point of failure --
- if it crashes, the other servers are inaccessible.</div>
- </li>
-
- <li>
- <strong>Dedicated Load Balancers</strong>
-
- <p>There are more sophisticated solutions, as well. Cisco,
- F5, and several other companies sell hardware load
- balancers (typically used in pairs for redundancy), which
- offer sophisticated load balancing and auto-failover
- features. There are software packages which offer similar
- features on commodity hardware, as well. If you have
- enough money or need, check these out. The <a href="http://vegan.net/lb/">lb-l mailing list</a> is a
- good place to research.</p>
- </li>
- </ol>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="new-mime-type" id="new-mime-type">New MIME-type, New Service</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>On the net there are many nifty CGI programs. But
- their usage is usually boring, so a lot of webmasters
- don't use them. Even Apache's Action handler feature for
- MIME-types is only appropriate when the CGI programs
- don't need special URLs (actually <code>PATH_INFO</code>
- and <code>QUERY_STRINGS</code>) as their input. First,
- let us configure a new file type with extension
- <code>.scgi</code> (for secure CGI) which will be processed
- by the popular <code>cgiwrap</code> program. The problem
- here is that for instance if we use a Homogeneous URL Layout
- (see above) a file inside the user homedirs might have a URL
- like <code>/u/user/foo/bar.scgi</code>, but
- <code>cgiwrap</code> needs URLs in the form
- <code>/~user/foo/bar.scgi/</code>. The following rule
- solves the problem:</p>
-
-<div class="example"><pre>
-RewriteRule ^/[uge]/<strong>([^/]+)</strong>/\.www/(.+)\.scgi(.*) ...
-... /internal/cgi/user/cgiwrap/~<strong>$1</strong>/$2.scgi$3 [NS,<strong>T=application/x-http-cgi</strong>]
-</pre></div>
-
- <p>Or assume we have some more nifty programs:
- <code>wwwlog</code> (which displays the
- <code>access.log</code> for a URL subtree) and
- <code>wwwidx</code> (which runs Glimpse on a URL
- subtree). We have to provide the URL area to these
- programs so they know which area they are really working with.
- But usually this is complicated, because they may still be
- requested by the alternate URL form, i.e., typically we would
- run the <code>swwidx</code> program from within
- <code>/u/user/foo/</code> via hyperlink to</p>
-
-<div class="example"><pre>
-/internal/cgi/user/swwidx?i=/u/user/foo/
-</pre></div>
-
- <p>which is ugly, because we have to hard-code
- <strong>both</strong> the location of the area
- <strong>and</strong> the location of the CGI inside the
- hyperlink. When we have to reorganize, we spend a
- lot of time changing the various hyperlinks.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>The solution here is to provide a special new URL format
- which automatically leads to the proper CGI invocation.
- We configure the following:</p>
-
-<div class="example"><pre>
-RewriteRule ^/([uge])/([^/]+)(/?.*)/\* /internal/cgi/user/wwwidx?i=/$1/$2$3/
-RewriteRule ^/([uge])/([^/]+)(/?.*):log /internal/cgi/user/wwwlog?f=/$1/$2$3
-</pre></div>
-
- <p>Now the hyperlink to search at
- <code>/u/user/foo/</code> reads only</p>
-
-<div class="example"><pre>
-HREF="*"
-</pre></div>
-
- <p>which internally gets automatically transformed to</p>
-
-<div class="example"><pre>
-/internal/cgi/user/wwwidx?i=/u/user/foo/
-</pre></div>
-
- <p>The same approach leads to an invocation for the
- access log CGI program when the hyperlink
- <code>:log</code> gets used.</p>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="on-the-fly-content" id="on-the-fly-content">On-the-fly Content-Regeneration</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Here comes a really esoteric feature: Dynamically
- generated but statically served pages, i.e., pages should be
- delivered as pure static pages (read from the filesystem
- and just passed through), but they have to be generated
- dynamically by the web server if missing. This way you can
- have CGI-generated pages which are statically served unless an
- admin (or a <code>cron</code> job) removes the static contents. Then the
- contents gets refreshed.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- This is done via the following ruleset:
-
-<div class="example"><pre>
-RewriteCond %{REQUEST_FILENAME} <strong>!-s</strong>
-RewriteRule ^page\.<strong>html</strong>$ page.<strong>cgi</strong> [T=application/x-httpd-cgi,L]
-</pre></div>
-
- <p>Here a request for <code>page.html</code> leads to an
- internal run of a corresponding <code>page.cgi</code> if
- <code>page.html</code> is missing or has filesize
- null. The trick here is that <code>page.cgi</code> is a
- CGI script which (additionally to its <code>STDOUT</code>)
- writes its output to the file <code>page.html</code>.
- Once it has completed, the server sends out
- <code>page.html</code>. When the webmaster wants to force
- a refresh of the contents, he just removes
- <code>page.html</code> (typically from <code>cron</code>).</p>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="autorefresh" id="autorefresh">Document With Autorefresh</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Wouldn't it be nice, while creating a complex web page, if
- the web browser would automatically refresh the page every
- time we save a new version from within our editor?
- Impossible?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>No! We just combine the MIME multipart feature, the
- web server NPH feature, and the URL manipulation power of
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. First, we establish a new
- URL feature: Adding just <code>:refresh</code> to any
- URL causes the 'page' to be refreshed every time it is
- updated on the filesystem.</p>
-
-<div class="example"><pre>
-RewriteRule ^(/[uge]/[^/]+/?.*):refresh /internal/cgi/apache/nph-refresh?f=$1
-</pre></div>
-
- <p>Now when we reference the URL</p>
-
-<div class="example"><pre>
-/u/foo/bar/page.html:refresh
-</pre></div>
-
- <p>this leads to the internal invocation of the URL</p>
-
-<div class="example"><pre>
-/internal/cgi/apache/nph-refresh?f=/u/foo/bar/page.html
-</pre></div>
-
- <p>The only missing part is the NPH-CGI script. Although
- one would usually say "left as an exercise to the reader"
- ;-) I will provide this, too.</p>
-
-<div class="example"><pre>
-#!/sw/bin/perl
-##
-## nph-refresh -- NPH/CGI script for auto refreshing pages
-## Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved.
-##
-$| = 1;
-
-# split the QUERY_STRING variable
-@pairs = split(/&amp;/, $ENV{'QUERY_STRING'});
-foreach $pair (@pairs) {
- ($name, $value) = split(/=/, $pair);
- $name =~ tr/A-Z/a-z/;
- $name = 'QS_' . $name;
- $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
- eval "\$$name = \"$value\"";
-}
-$QS_s = 1 if ($QS_s eq '');
-$QS_n = 3600 if ($QS_n eq '');
-if ($QS_f eq '') {
- print "HTTP/1.0 200 OK\n";
- print "Content-type: text/html\n\n";
- print "&amp;lt;b&amp;gt;ERROR&amp;lt;/b&amp;gt;: No file given\n";
- exit(0);
-}
-if (! -f $QS_f) {
- print "HTTP/1.0 200 OK\n";
- print "Content-type: text/html\n\n";
- print "&amp;lt;b&amp;gt;ERROR&amp;lt;/b&amp;gt;: File $QS_f not found\n";
- exit(0);
-}
-
-sub print_http_headers_multipart_begin {
- print "HTTP/1.0 200 OK\n";
- $bound = "ThisRandomString12345";
- print "Content-type: multipart/x-mixed-replace;boundary=$bound\n";
- &amp;print_http_headers_multipart_next;
-}
-
-sub print_http_headers_multipart_next {
- print "\n--$bound\n";
-}
-
-sub print_http_headers_multipart_end {
- print "\n--$bound--\n";
-}
-
-sub displayhtml {
- local($buffer) = @_;
- $len = length($buffer);
- print "Content-type: text/html\n";
- print "Content-length: $len\n\n";
- print $buffer;
-}
-
-sub readfile {
- local($file) = @_;
- local(*FP, $size, $buffer, $bytes);
- ($x, $x, $x, $x, $x, $x, $x, $size) = stat($file);
- $size = sprintf("%d", $size);
- open(FP, "&amp;lt;$file");
- $bytes = sysread(FP, $buffer, $size);
- close(FP);
- return $buffer;
-}
-
-$buffer = &amp;readfile($QS_f);
-&amp;print_http_headers_multipart_begin;
-&amp;displayhtml($buffer);
-
-sub mystat {
- local($file) = $_[0];
- local($time);
-
- ($x, $x, $x, $x, $x, $x, $x, $x, $x, $mtime) = stat($file);
- return $mtime;
-}
-
-$mtimeL = &amp;mystat($QS_f);
-$mtime = $mtime;
-for ($n = 0; $n &amp;lt; $QS_n; $n++) {
- while (1) {
- $mtime = &amp;mystat($QS_f);
- if ($mtime ne $mtimeL) {
- $mtimeL = $mtime;
- sleep(2);
- $buffer = &amp;readfile($QS_f);
- &amp;print_http_headers_multipart_next;
- &amp;displayhtml($buffer);
- sleep(5);
- $mtimeL = &amp;mystat($QS_f);
- last;
- }
- sleep($QS_s);
- }
-}
-
-&amp;print_http_headers_multipart_end;
-
-exit(0);
-
-##EOF##
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="mass-virtual-hosting" id="mass-virtual-hosting">Mass Virtual Hosting</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>The <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> feature of Apache is nice
- and works great when you just have a few dozen
- virtual hosts. But when you are an ISP and have hundreds of
- virtual hosts, this feature is suboptimal.</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>To provide this feature we map the remote web page or even
- the complete remote web area to our namespace using the
- <dfn>Proxy Throughput</dfn> feature (flag <code>[P]</code>):</p>
-
-<div class="example"><pre>
-##
-## vhost.map
-##
-www.vhost1.dom:80 /path/to/docroot/vhost1
-www.vhost2.dom:80 /path/to/docroot/vhost2
- :
-www.vhostN.dom:80 /path/to/docroot/vhostN
-</pre></div>
-
-<div class="example"><pre>
-##
-## httpd.conf
-##
- :
-# use the canonical hostname on redirects, etc.
-UseCanonicalName on
-
- :
-# add the virtual host in front of the CLF-format
-CustomLog /path/to/access_log "%{VHOST}e %h %l %u %t \"%r\" %&gt;s %b"
- :
-
-# enable the rewriting engine in the main server
-RewriteEngine on
-
-# define two maps: one for fixing the URL and one which defines
-# the available virtual hosts with their corresponding
-# DocumentRoot.
-RewriteMap lowercase int:tolower
-RewriteMap vhost txt:/path/to/vhost.map
-
-# Now do the actual virtual host mapping
-# via a huge and complicated single rule:
-#
-# 1. make sure we don't map for common locations
-RewriteCond %{REQUEST_URI} !^/commonurl1/.*
-RewriteCond %{REQUEST_URI} !^/commonurl2/.*
- :
-RewriteCond %{REQUEST_URI} !^/commonurlN/.*
-#
-# 2. make sure we have a Host header, because
-# currently our approach only supports
-# virtual hosting through this header
-RewriteCond %{HTTP_HOST} !^$
-#
-# 3. lowercase the hostname
-RewriteCond ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$
-#
-# 4. lookup this hostname in vhost.map and
-# remember it only when it is a path
-# (and not "NONE" from above)
-RewriteCond ${vhost:%1} ^(/.*)$
-#
-# 5. finally we can map the URL to its docroot location
-# and remember the virtual host for logging purposes
-RewriteRule ^/(.*)$ %1/$1 [E=VHOST:${lowercase:%{HTTP_HOST}}]
- :
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="host-deny" id="host-deny">Host Deny</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>How can we forbid a list of externally configured hosts
- from using our server?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>For Apache &gt;= 1.3b6:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteMap hosts-deny txt:/path/to/hosts.deny
-RewriteCond ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND} !=NOT-FOUND [OR]
-RewriteCond ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND
-RewriteRule ^/.* - [F]
-</pre></div>
-
- <p>For Apache &lt;= 1.3b6:</p>
-
-<div class="example"><pre>
-RewriteEngine on
-RewriteMap hosts-deny txt:/path/to/hosts.deny
-RewriteRule ^/(.*)$ ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}/$1
-RewriteRule !^NOT-FOUND/.* - [F]
-RewriteRule ^NOT-FOUND/(.*)$ ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}/$1
-RewriteRule !^NOT-FOUND/.* - [F]
-RewriteRule ^NOT-FOUND/(.*)$ /$1
-</pre></div>
-
-<div class="example"><pre>
-##
-## hosts.deny
-##
-## ATTENTION! This is a map, not a list, even when we treat it as such.
-## mod_rewrite parses it for key/value pairs, so at least a
-## dummy value "-" must be present for each entry.
-##
-
-193.102.180.41 -
-bsdti1.sdm.de -
-192.76.162.40 -
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="proxy-deny" id="proxy-deny">Proxy Deny</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>How can we forbid a certain host or even a user of a
- special host from using the Apache proxy?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We first have to make sure <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- is below(!) <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> in the Configuration
- file when compiling the Apache web server. This way it gets
- called <em>before</em> <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Then we
- configure the following for a host-dependent deny...</p>
-
-<div class="example"><pre>
-RewriteCond %{REMOTE_HOST} <strong>^badhost\.mydomain\.com$</strong>
-RewriteRule !^http://[^/.]\.mydomain.com.* - [F]
-</pre></div>
-
- <p>...and this one for a user@host-dependent deny:</p>
-
-<div class="example"><pre>
-RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>^badguy@badhost\.mydomain\.com$</strong>
-RewriteRule !^http://[^/.]\.mydomain.com.* - [F]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="special-authentication" id="special-authentication">Special Authentication Variant</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>Sometimes very special authentication is needed, for
- instance authentication which checks for a set of
- explicitly configured users. Only these should receive
- access and without explicit prompting (which would occur
- when using Basic Auth via <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>).</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>We use a list of rewrite conditions to exclude all except
- our friends:</p>
-
-<div class="example"><pre>
-RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>!^friend1@client1.quux-corp\.com$</strong>
-RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>!^friend2</strong>@client2.quux-corp\.com$
-RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>!^friend3</strong>@client3.quux-corp\.com$
-RewriteRule ^/~quux/only-for-friends/ - [F]
-</pre></div>
- </dd>
- </dl>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="referer-deflector" id="referer-deflector">Referer-based Deflector</a></h2>
-
-
-
- <dl>
- <dt>Description:</dt>
-
- <dd>
- <p>How can we program a flexible URL Deflector which acts
- on the "Referer" HTTP header and can be configured with as
- many referring pages as we like?</p>
- </dd>
-
- <dt>Solution:</dt>
-
- <dd>
- <p>Use the following really tricky ruleset...</p>
-
-<div class="example"><pre>
-RewriteMap deflector txt:/path/to/deflector.map
-
-RewriteCond %{HTTP_REFERER} !=""
-RewriteCond ${deflector:%{HTTP_REFERER}} ^-$
-RewriteRule ^.* %{HTTP_REFERER} [R,L]
-
-RewriteCond %{HTTP_REFERER} !=""
-RewriteCond ${deflector:%{HTTP_REFERER}|NOT-FOUND} !=NOT-FOUND
-RewriteRule ^.* ${deflector:%{HTTP_REFERER}} [R,L]
-</pre></div>
-
- <p>... in conjunction with a corresponding rewrite
- map:</p>
-
-<div class="example"><pre>
-##
-## deflector.map
-##
-
-http://www.badguys.com/bad/index.html -
-http://www.badguys.com/bad/index2.html -
-http://www.badguys.com/bad/index3.html http://somewhere.com/
-</pre></div>
-
- <p>This automatically redirects the request back to the
- referring page (when "<code>-</code>" is used as the value
- in the map) or to a specific URL (when an URL is specified
- in the map as the second argument).</p>
- </dd>
- </dl>
-
- </div></div>
-<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/rewrite_guide_advanced.html" title="English">&nbsp;en&nbsp;</a></p>
-</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
-<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
-</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/rewritemap.html b/docs/manual/rewrite/rewritemap.html
new file mode 100644
index 00000000..18948357
--- /dev/null
+++ b/docs/manual/rewrite/rewritemap.html
@@ -0,0 +1,5 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: rewritemap.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/rewrite/rewritemap.html.en b/docs/manual/rewrite/rewritemap.html.en
new file mode 100644
index 00000000..79fc3f21
--- /dev/null
+++ b/docs/manual/rewrite/rewritemap.html.en
@@ -0,0 +1,417 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Using RewriteMap - Apache HTTP Server</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Using RewriteMap</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/rewrite/rewritemap.html" title="English">&nbsp;en&nbsp;</a></p>
+</div>
+
+
+ <p>This document supplements the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">reference documentation</a>. It describes
+the use of the <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> directive,
+and provides examples of each of the various <code>RewriteMap</code> types.</p>
+
+ <div class="warning">Note that many of these examples won't work unchanged in your
+particular server configuration, so it's important that you understand
+them, rather than merely cutting and pasting the examples into your
+configuration.</div>
+
+ </div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduction</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#txt">txt: Plain text maps</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rnd">rnd: Randomized Plain Text</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbm">dbm: DBM Hash File</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#int">int: Internal Function</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#prg">prg: External Rewriting Program</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#summary">Summary</a></li>
+</ul><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module documentation</a></li><li><a href="intro.html">mod_rewrite introduction</a></li><li><a href="remapping.html">Redirection and remapping</a></li><li><a href="access.html">Controlling access</a></li><li><a href="vhosts.html">Virtual hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="advanced.html">Advanced techniques and tricks</a></li><li><a href="avoid.html">When not to use mod_rewrite</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="introduction" id="introduction">Introduction</a></h2>
+
+
+ <p>
+ The <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> directive
+ defines an external function which can be called in the context of
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> or
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> directives to
+ perform rewriting that is too complicated, or too specialized to be
+ performed just by regular expressions. The source of this lookup can
+ be any of the types listed in the sections below, and enumerated in
+ the <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> reference
+ documentation.</p>
+
+ <p>The syntax of the <code>RewriteMap</code> directive is as
+ follows:</p>
+
+<div class="example"><p><code>
+RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
+</code></p></div>
+
+ <p>The <a id="mapfunc" name="mapfunc"><em>MapName</em></a> is an
+ arbitray name that you assign to the map, and which you will use in
+ directives later on. Arguments are passed to the map via the
+ following syntax:</p>
+
+ <p class="indent">
+ <strong>
+ <code>${</code> <em>MapName</em> <code>:</code> <em>LookupKey</em>
+ <code>}</code> <br /> <code>${</code> <em>MapName</em> <code>:</code>
+ <em>LookupKey</em> <code>|</code> <em>DefaultValue</em> <code>}</code>
+ </strong>
+ </p>
+
+ <p>When such a construct occurs, the map <em>MapName</em> is
+ consulted and the key <em>LookupKey</em> is looked-up. If the
+ key is found, the map-function construct is substituted by
+ <em>SubstValue</em>. If the key is not found then it is
+ substituted by <em>DefaultValue</em> or by the empty string
+ if no <em>DefaultValue</em> was specified.</p>
+
+ <p>For example, you might define a
+ <code class="directive">RewriteMap</code> as:</p>
+ <div class="example"><p><code>
+ RewriteMap examplemap txt:/path/to/file/map.txt
+ </code></p></div>
+ <p>You would then be able to use this map in a
+ <code class="directive">RewriteRule</code> as follows:</p>
+<div class="example"><p><code>
+ RewriteRule ^/ex/(.*) ${examplemap:$1}
+</code></p></div>
+
+<p>A default value can be specified in the event that nothing is found
+in the map:</p>
+
+<div class="example"><p><code>
+RewriteRule ^/ex/(.*) ${examplemap:$1|/not_found.html}
+</code></p></div>
+
+<div class="note"><h3>Per-directory and .htaccess context</h3>
+<p>
+The <code>RewriteMap</code> directive may not be used in
+&lt;Directory&gt; sections or <code>.htaccess</code> files. You must
+declare the map in server or virtualhost context. You may use the map,
+once created, in your <code>RewriteRule</code> and
+<code>RewriteCond</code> directives in those scopes. You just can't
+<strong>declare</strong> it in those scopes.
+</p>
+</div>
+
+<p>The sections that follow describe the various <em>MapType</em>s that
+may be used, and give examples of each.</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="txt" id="txt">txt: Plain text maps</a></h2>
+
+
+ <p>When a MapType of <code>txt</code> is used, the MapSource is a filesystem path to a
+ plain-text mapping file, containing space-separated key/value pair
+ per line. Optionally, a line may be contain a comment, starting with
+ a '#' character.</p>
+
+ <p>For example, the following might be valid entries in a map
+ file.</p>
+
+ <p class="indent">
+ # Comment line<br />
+ <strong><em>MatchingKey</em> <em>SubstValue</em></strong><br />
+ <strong><em>MatchingKey</em> <em>SubstValue</em></strong> # comment<br />
+ </p>
+
+ <p>When the RewriteMap is invoked the argument is looked for in the
+ first argument of a line, and, if found, the substitution value is
+ returned.</p>
+
+ <p>For example, we might use a mapfile to translate product names to
+ product IDs for easier-to-remember URLs, using the following
+ recipe:</p>
+
+ <div class="example"><h3>Product to ID configuration</h3><p><code>
+ RewriteMap product2id txt:/etc/apache2/productmap.txt<br />
+ RewriteRule ^/product/(.*) /prods.php?id=${product2id:$1|NOTFOUND} [PT]
+ </code></p></div>
+
+ <p>We assume here that the <code>prods.php</code> script knows what
+ to do when it received an argument of <code>id=NOTFOUND</code> when
+ a product is not found in the lookup map.</p>
+
+ <p>The file <code>/etc/apache2/productmap.txt</code> then contains
+ the following:</p>
+
+ <div class="example"><h3>Product to ID map</h3><p><code>
+##<br />
+## productmap.txt - Product to ID map file<br />
+##<br />
+<br />
+television 993<br />
+stereo 198<br />
+fishingrod 043<br />
+basketball 418<br />
+telephone 328
+ </code></p></div>
+
+ <p>Thus, when <code>http://example.com/product/television</code> is
+ requested, the <code>RewriteRule</code> is applied, and the request
+ is internally mapped to <code>/prods.php?id=993</code>.</p>
+
+ <div class="note"><h3>Note: .htaccess files</h3>
+ The example given is crafted to be used in server or virtualhost
+ scope. If you're planning to use this in a <code>.htaccess</code>
+ file, you'll need to remove the leading slash from the rewrite
+ pattern in order for it to match anything:
+ <div class="example"><p><code>
+ RewriteRule ^product/(.*) /prods.php?id=${product2id:$1|NOTFOUND} [PT]
+ </code></p></div>
+ </div>
+
+ <div class="note"><h3>Cached lookups</h3>
+ <p>
+ The looked-up keys are cached by httpd until the <code>mtime</code>
+ (modified time) of the mapfile changes, or the httpd server is
+ restarted. This ensures better performance on maps that are called
+ by many requests.
+ </p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rnd" id="rnd">rnd: Randomized Plain Text</a></h2>
+
+
+ <p>When a MapType of <code>rnd</code> is used, the MapSource is a
+ filesystem path to a plain-text mapping file, each line of which
+ contains a key, and one or more values separated by <code>|</code>.
+ One of these values will be chosen at random if the key is
+ matched.</p>
+
+ <p>For example, you might use the following map
+ file and directives to provide a random load balancing between
+ several back-end server, via a reverse-proxy. Images are sent
+ to one of the servers in the 'static' pool, while everything
+ else is sent to one of the 'dynamic' pool.</p>
+
+ <div class="example"><h3>Rewrite map file</h3><p><code>
+##<br />
+## map.txt -- rewriting map<br />
+##<br />
+<br />
+static www1|www2|www3|www4<br />
+dynamic www5|www6
+ </code></p></div>
+
+ <div class="example"><h3>Configuration directives</h3><p><code>
+ RewriteMap servers rnd:/path/to/file/map.txt<br />
+ <br />
+ RewriteRule ^/(.*\.(png|gif|jpg)) http://${servers:static}/$1 [NC,P,L]<br />
+ RewriteRule ^/(.*) http://${servers:dynamic}/$1 [P,L]
+ </code></p></div>
+
+ <p>So, when an image is requested and the first of these rules is
+ matched, <code>RewriteMap</code> looks up the string
+ <code>static</code> in the map file, which returns one of the
+ specified hostnames at random, which is then used in the
+ <code>RewriteRule</code> target.</p>
+
+ <p>If you wanted to have one of the servers more likely to be chosen
+ (for example, if one of the server has more memory than the others,
+ and so can handle more requests) simply list it more times in the
+ map file.</p>
+
+ <div class="example"><p><code>
+static www1|www1|www2|www3|www4
+ </code></p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dbm" id="dbm">dbm: DBM Hash File</a></h2>
+
+
+ <p>When a MapType of <code>dbm</code> is used, the MapSource is a
+ filesystem path to a DBM database file containing key/value pairs to
+ be used in the mapping. This works exactly the same way as the
+ <code>txt</code> map, but is much faster, because a DBM is indexed,
+ whereas a text file is not. This allows more rapid access to the
+ desired key.</p>
+
+ <p>You may optionally specify a particular dbm type:</p>
+
+ <div class="example"><p><code>
+ RewriteMap examplemap dbm=sdbm:/etc/apache/mapfile.dbm
+ </code></p></div>
+
+ <p>The type can be sdbm, gdbm, ndbm or db.
+ However, it is recommended that you just use the <a href="../programs/httxt2dbm.html">httxt2dbm</a> utility that is
+ provided with Apache HTTP Server, as it will use the correct DBM library,
+ matching the one that was used when httpd itself was built.</p>
+
+ <p>To create a dbm file, first create a text map file as described
+ in the <a href="#txt">txt</a> section. Then run
+ <code>httxt2dbm</code>:</p>
+
+<div class="example"><p><code>
+$ httxt2dbm -i mapfile.txt -o mapfile.map
+</code></p></div>
+
+<p>You can then reference the resulting file in your
+<code>RewriteMap</code> directive:</p>
+
+<div class="example"><p><code>
+RewriteMap mapname dbm:/etc/apache/mapfile.map
+</code></p></div>
+
+<div class="note">
+<p>Note that with some dbm types, more than one file is generated, with
+a common base name. For example, you may have two files named
+<code>mapfile.map.dir</code> and <code>mapfiile.map.pag</code>. This is
+normal, and you need only use the base name <code>mapfile.map</code> in
+your <code>RewriteMap</code> directive.</p>
+</div>
+
+<div class="note"><h3>Cached lookups</h3>
+<p>
+The looked-up keys are cached by httpd until the <code>mtime</code>
+(modified time) of the mapfile changes, or the httpd server is
+restarted. This ensures better performance on maps that are called
+by many requests.
+</p>
+</div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="int" id="int">int: Internal Function</a></h2>
+
+
+ <p>When a MapType of <code>int</code> is used, the MapSource is one
+ of the available internal RewriteMap functions. Module authors can provide
+ additional internal functions by registering them with the
+ <code>ap_register_rewrite_mapfunc</code> API.
+ The functions that are provided by default are:
+ </p>
+
+ <ul>
+ <li><strong>toupper</strong>:<br />
+ Converts the key to all upper case.</li>
+ <li><strong>tolower</strong>:<br />
+ Converts the key to all lower case.</li>
+ <li><strong>escape</strong>:<br />
+ Translates special characters in the key to
+ hex-encodings.</li>
+ <li><strong>unescape</strong>:<br />
+ Translates hex-encodings in the key back to
+ special characters.</li>
+ </ul>
+
+ <p>
+ To use one of these functions, create a <code>RewriteMap</code> referencing
+ the int function, and then use that in your <code>RewriteRule</code>:
+ </p>
+
+ <div class="example"><h3>Redirect a URI to an all-lowercase version of itself</h3><p><code>
+ RewriteMap lc int:tolower<br />
+ RewriteRule (.*[A-Z]+.*) ${lc:$1} [R]
+ </code></p></div>
+
+ <div class="note">
+ <p>Please note that the example offered here is for
+ illustration purposes only, and is not a recommendation. If you want
+ to make URLs case-insensitive, consider using
+ <code class="module"><a href="../mod/mod_speling.html">mod_speling</a></code> instead.
+ </p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="prg" id="prg">prg: External Rewriting Program</a></h2>
+
+ <p>When a MapType of <code>prg</code> is used, the MapSource is a
+ filesystem path to an executable program which will providing the
+ mapping behavior. This can be a compiled binary file, or a program
+ in an interpreted language such as Perl or Python.</p>
+
+ <p>This program is started once, when the Apache HTTP Server is
+ started, and then communicates with the rewriting engine via
+ <code>STDIN</code> and <code>STDOUT</code>. That is, for each map
+ function lookup, it expects one argument via <code>STDIN</code>, and
+ should return one new-line terminated response string on
+ <code>STDOUT</code>. If there is no corresponding lookup value, the
+ map program should return the four-character string
+ "<code>NULL</code>" to indicate this.</p>
+
+ <p>External rewriting programs are not started if they're defined in
+ a context that does not have <code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code> set to
+ <code>on</code>.</p>
+
+ <p>A simple example is shown here which will replace all dashes with
+ underscores in a request URI.</p>
+
+ <div class="example"><h3>Rewrite configuration</h3><p><code>
+ RewriteMap d2u prg:/www/bin/dash2under.pl<br />
+ RewriteRule - ${d2u:%{REQUEST_URI}}
+ </code></p></div>
+
+ <div class="example"><h3>dash2under.pl</h3><p><code>
+ #!/usr/bin/perl<br />
+ $| = 1; # Turn off I/O buffering<br />
+ while (&lt;STDIN&gt;) {<br />
+ <span class="indent">
+ s/-/_/g; # Replace dashes with underscores<br />
+ print $_;<br />
+ </span>
+ }<br />
+ </code></p></div>
+
+<div class="note"><h3>Caution!</h3>
+<ul>
+<li>Keep your rewrite map program as simple as possible. If the program
+hangs, it will cause httpd to wait indefinitely for a response from the
+map, which will, in turn, cause httpd to stop responding to
+requests.</li>
+<li>Be sure to turn off buffering in your program. In Perl this is done
+by the second line in the example script: <code>$| = 1;</code> This will
+of course vary in other languages. Buffered I/O will cause httpd to wait
+for the output, and so it will hang.</li>
+<li>Remember that there is only one copy of the program, started at
+server startup. All requests will need to go through this one bottleneck.
+This can cause significant slowdowns if many requests must go through
+this process, or if the script itself is very slow.</li>
+</ul>
+</div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="summary" id="summary">Summary</a></h2>
+
+
+ <p>The <code class="directive">RewriteMap</code> directive can occur more than
+ once. For each mapping-function use one
+ <code class="directive">RewriteMap</code> directive to declare its rewriting
+ mapfile.</p>
+
+ <p>While you cannot <strong>declare</strong> a map in
+ per-directory context (<code>.htaccess</code> files or
+ &lt;Directory&gt; blocks) it is possible to
+ <strong>use</strong> this map in per-directory context. </p>
+
+ </div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/rewrite/rewritemap.html" title="English">&nbsp;en&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/rewrite_guide_advanced.html b/docs/manual/rewrite/tech.html
index d08ed10d..77deca5e 100644
--- a/docs/manual/rewrite/rewrite_guide_advanced.html
+++ b/docs/manual/rewrite/tech.html
@@ -1,5 +1,9 @@
# GENERATED FROM XML -- DO NOT EDIT
-URI: rewrite_guide_advanced.html.en
+URI: tech.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: tech.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/rewrite/rewrite_tech.html.en b/docs/manual/rewrite/tech.html.en
index f1bce95f..b0ccc7e8 100644
--- a/docs/manual/rewrite/rewrite_tech.html.en
+++ b/docs/manual/rewrite/tech.html.en
@@ -18,7 +18,8 @@
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite Technical Details</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/rewrite_tech.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/rewrite/tech.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
</div>
<p>This document discusses some of the technical details of mod_rewrite
@@ -27,11 +28,7 @@ and URL matching.</p>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Internal">Internal Processing</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#InternalAPI">API Phases</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#InternalRuleset">Ruleset Processing</a></li>
-</ul><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module
-documentation</a></li><li><a href="rewrite_intro.html">mod_rewrite
-introduction</a></li><li><a href="rewrite_guide.html">Rewrite Guide - useful
-examples</a></li><li><a href="rewrite_guide_advanced.html">Advanced Rewrite Guide -
-advanced useful examples</a></li></ul></div>
+</ul><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module documentation</a></li><li><a href="intro.html">mod_rewrite introduction</a></li><li><a href="remapping.html">Redirection and remapping</a></li><li><a href="access.html">Controlling access</a></li><li><a href="vhosts.html">Virtual hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Using RewriteMap</a></li><li><a href="advanced.html">Advanced techniques and tricks</a></li><li><a href="avoid.html">When not to use mod_rewrite</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="Internal" id="Internal">Internal Processing</a></h2>
@@ -134,7 +131,7 @@ advanced useful examples</a></li></ul></div>
first, and so the control flow is a little bit long-winded. See
Figure 1 for more details.</p>
<p class="figure">
- <img src="../images/mod_rewrite_fig1.gif" width="428" height="385" alt="[Needs graphics capability to display]" /><br />
+ <img src="../images/rewrite_rule_flow.png" alt="Flow of RewriteRule and RewriteCond matching" /><br />
<dfn>Figure 1:</dfn>The control flow through the rewriting ruleset
</p>
<p>As you can see, first the URL is matched against the
@@ -160,8 +157,9 @@ advanced useful examples</a></li></ul></div>
</div></div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/rewrite_tech.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/rewrite/tech.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/tech.html.fr b/docs/manual/rewrite/tech.html.fr
new file mode 100644
index 00000000..496e4f36
--- /dev/null
+++ b/docs/manual/rewrite/tech.html.fr
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Détails techniques sur le module Apache mod_rewrite - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Détails techniques sur le module Apache mod_rewrite</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/tech.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+
+<p>Ce document passe en revue certains détails techniques à propos du
+module mod_rewrite et de la mise en correspondance des URLs</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Internal">Fonctionnement interne</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#InternalAPI">Phases de l'API</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#InternalRuleset">Traitement du jeu de règles</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation du module mod_rewrite</a></li><li><a href="intro.html">Introduction à mod_rewrite</a></li><li><a href="remapping.html">Redirection et remise en
+correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées et astuces</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="Internal" id="Internal">Fonctionnement interne</a></h2>
+
+ <p>Le fonctionnement interne de ce module est très complexe, mais
+ il est nécessaire de l'expliquer, même à l'utilisateur "standard",
+ afin d'éviter les erreurs courantes et de pouvoir exploiter toutes
+ ses fonctionnalités.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="InternalAPI" id="InternalAPI">Phases de l'API</a></h2>
+
+ <p>Il faut tout d'abord bien comprendre que le traitement d'une
+ requête HTTP par Apache s'effectue en plusieurs phases. L'API
+ d'Apache fournit un point d'accroche (hook) pour chacune de ces
+ phases. Mod_rewrite utilise deux de ces hooks : le hook de
+ conversion des URLs en noms de fichiers qui est utilisé quand la
+ requête HTTP a été lue mais avant le démarrage de tout processus
+ d'autorisation, et le hook "Fixup" qui est déclenché après les
+ phases d'autorisation et après la lecture des fichiers de
+ configuration niveau répertoire (<code>.htaccess</code>), mais
+ avant que le gestionnaire de contenu soit activé.</p>
+
+ <p>Donc, lorsqu'une requête arrive et quand Apache a déterminé le
+ serveur correspondant (ou le serveur virtuel), le moteur de
+ réécriture commence le traitement de toutes les directives de
+ mod_rewrite de la configuration du serveur principal dans la phase
+ de conversion URL vers nom de fichier. Une fois ces étapes
+ franchies, lorsque les repertoires de données finaux ont été
+ trouvés, les directives de configuration de mod_rewrite au niveau
+ répertoire sont éxécutées dans la phase Fixup. Dans les deux cas,
+ mod_rewrite réécrit les URLs soit en nouvelles URLs, soit en noms
+ de fichiers, bien que la distinction entre les deux ne soit pas
+ évidente. Cette utilisation de l'API n'était pas sensée s'opérer
+ de cette manière lorsque l'API fut conçue, mais depuis Apache 1.x,
+ c'est le seul mode opératoire possible pour mod_rewrite. Afin de
+ rendre les choses plus claires, souvenez-vous de ces deux points :</p>
+
+ <ol>
+ <li>Bien que mod_rewrite réécrive les URLs en URLs, les URLs en
+ noms de fichiers et même des noms de fichiers en d'autres noms
+ de fichiers, l'API ne propose actuellement qu'un hook URL vers
+ nom de fichier. Les deux hooks manquants seront ajoutés dans
+ Apache à partir de la version 2.0 afin de rendre le processus
+ plus clair. Mais ce point ne présente pas d'inconvénient pour
+ l'utilisateur, il s'agit simplement d'un fait que vous devez
+ garder à l'esprit : Apache en fait plus avec le hook URL vers
+ nom de fichier que l'API n'a la prétention d'en faire.</li>
+
+ <li>
+ Paradoxalement, mod_rewrite permet la manipulation d'URLs dans
+ un contexte de répertoire, <em>c'est à dire</em> dans les
+ fichiers <code>.htaccess</code>, bien que ces derniers
+ soient traités bien longtemps après que les URLs n'aient été
+ traduites en noms de fichiers. Les choses doivent se dérouler
+ ainsi car les fichiers <code>.htaccess</code> résident dans le
+ système de fichiers, et le traitement a déjà atteint
+ cette étape. Autrement dit, en accord avec les phases de
+ l'API, à ce point du traitement, il est trop tard pour
+ effectuer des manipulations d'URLs. Pour résoudre ce problème
+ d'antériorité, mod_rewrite utilise une astuce : pour effectuer
+ une manipulation URL/nom de fichier dans un contexte de
+ répertoire, mod_rewrite réécrit tout d'abord le nom de fichier
+ en son URL d'origine (ce qui est normalement impossible, mais
+ voir ci-dessous l'astuce utilisée par la directive
+ <code>RewriteBase</code> pour y parvenir), puis
+ initialise une nouvelle sous-requête interne avec la nouvelle
+ URL ; ce qui a pour effet de redémarrer le processus des
+ phases de l'API.
+
+ <p>Encore une fois, mod_rewrite fait tout ce qui est en son
+ pouvoir pour rendre la complexité de cette étape complètement
+ transparente à l'utilisateur, mais vous devez garder ceci à
+ l'esprit : alors que les manipulations d'URLs dans le contexte
+ du serveur sont vraiment rapides et efficaces, les réécritures
+ dans un contexte de répertoire sont lentes et inefficaces à
+ cause du problème d'antériorité précité. Cependant, c'est la
+ seule manière dont mod_rewrite peut proposer des manipulations
+ d'URLs (limitées à une branche du système de fichiers) à
+ l'utilisateur standard.</p>
+ </li>
+ </ol>
+
+ <p>Ne perdez pas de vue ces deux points!</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="InternalRuleset" id="InternalRuleset">Traitement du jeu de règles</a></h2>
+
+ <p>Maintenant, quand mod_rewrite se lance dans ces deux phases de
+ l'API, il lit le jeu de règles configurées depuis la structure
+ contenant sa configuration (qui a été elle-même créée soit au
+ démarrage d'Apache pour le contexte du serveur, soit lors du
+ parcours des répertoires par le noyau d'Apache pour le contexte de
+ répertoire). Puis le moteur de réécriture est démarré avec le jeu
+ de règles contenu (une ou plusieurs règles associées à leurs
+ conditions). En lui-même, le mode opératoire du moteur de
+ réécriture d'URLs est exactement le même dans les deux contextes
+ de configuration. Seul le traitement du résultat final diffère.</p>
+
+ <p>L'ordre dans lequel les règles sont définies est important car
+ le moteur de réécriture les traite selon une chronologie
+ particulière (et pas très évidente). Le principe est le suivant :
+ le moteur de réécriture traite les règles (les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>) les unes
+ à la suite des autres, et lorsqu'une règle s'applique, il parcourt
+ les éventuelles conditions (directives
+ <code>RewriteCond</code>directives) associées.
+ Pour des raisons historiques, les
+ conditions précèdent les règles, si bien que le déroulement du
+ contrôle est un peu compliqué. Voir la figure 1 pour plus de
+ détails.</p>
+<p class="figure">
+ <img src="../images/rewrite_rule_flow.png" alt="Flux des comparaisons des directives RewriteRule et RewriteCond" /><br />
+ <dfn>Figure 1:</dfn>Déroulement du contrôle à travers le jeu de
+ règles de réécriture
+</p>
+ <p>Comme vous pouvez le voir, l'URL est tout d'abord comparée au
+ <em>Modèle</em> de chaque règle. Lorsqu'une règle ne s'applique
+ pas, mod_rewrite stoppe immédiatement le traitement de cette règle
+ et passe à la règle suivante. Si l'URL correspond au
+ <em>Modèle</em>, mod_rewrite recherche la présence de conditions
+ correspondantes. S'il n'y en a pas, mod_rewrite remplace
+ simplement l'URL par une chaîne élaborée à partir de la chaîne de
+ <em>Substitution</em>, puis passe à la règle suivante. Si des
+ conditions sont présentes, mod_rewrite lance un bouclage
+ secondaire afin de les traiter selon l'ordre dans lequel elles
+ sont définies. La logique de traitement des conditions est
+ différente : on ne compare pas l'URL à un modèle. Une chaîne de
+ test <em>TestString</em> est tout d'abord élaborée en développant
+ des variables, des références arrières, des recherches dans des
+ tables de correspondances, etc..., puis cette chaîne de test est
+ comparée au modèle de condition <em>CondPattern</em>. Si le modèle
+ ne correspond pas, les autres conditions du jeu ne sont pas
+ examinées et la règle correspondante ne s'applique pas. Si le
+ modèle correspond, la condition suivante est examinée et ainsi de
+ suite jusqu'à la dernière condition. Si toutes les conditions sont
+ satisfaites, le traitement de la règle en cours se poursuit avec
+ le remplacement de l'URL par la chaîne de <em>Substitution</em>.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/rewrite/tech.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/rewrite/vhosts.html b/docs/manual/rewrite/vhosts.html
new file mode 100644
index 00000000..b99209bd
--- /dev/null
+++ b/docs/manual/rewrite/vhosts.html
@@ -0,0 +1,5 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: vhosts.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/rewrite/vhosts.html.en b/docs/manual/rewrite/vhosts.html.en
new file mode 100644
index 00000000..b48f5820
--- /dev/null
+++ b/docs/manual/rewrite/vhosts.html.en
@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Dynamic mass virtual hosts with mod_rewrite - Apache HTTP Server</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Dynamic mass virtual hosts with mod_rewrite</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/rewrite/vhosts.html" title="English">&nbsp;en&nbsp;</a></p>
+</div>
+
+
+<p>This document supplements the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">reference documentation</a>. It describes
+how you can use <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> to create dynamically
+configured virtual hosts.</p>
+
+<div class="warning">mod_rewrite is not the best way to configure
+virtual hosts. You should first consider the <a href="../vhosts/mass.html">alternatives</a> before resorting to
+mod_rewrite. See also the "<a href="avoid.html#vhosts">how to avoid
+mod_rewrite</a> document.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#per-hostname">Virtual Hosts For Arbitrary Hostnames</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#simple.rewrite">Dynamic
+ Virtual Hosts Using <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#xtra-conf">Using a Separate Virtual Host Configuration File</a></li>
+</ul><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module documentation</a></li><li><a href="intro.html">mod_rewrite introduction</a></li><li><a href="remapping.html">Redirection and remapping</a></li><li><a href="access.html">Controlling access</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">RewriteMap</a></li><li><a href="advanced.html">Advanced techniques and tricks</a></li><li><a href="avoid.html">When not to use mod_rewrite</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="per-hostname" id="per-hostname">Virtual Hosts For Arbitrary Hostnames</a></h2>
+
+
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>We want to automatically create a virtual host for every hostname
+ which resolves in our domain, without having to create
+ new VirtualHost sections.</p>
+
+ <p>In this recipe, we assume that we'll be using the hostname
+ <code>www.<strong>SITE</strong>.example.com</code> for each
+ user, and serve their content out of
+ <code>/home/<strong>SITE</strong>/www</code>.</p>
+ </dd>
+
+ <dt>Solution:</dt>
+
+ <dd>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+<br />
+RewriteMap lowercase int:tolower<br />
+<br />
+RewriteCond %{lowercase:%{<strong>HTTP_HOST</strong>}} ^www\.<strong>([^.]+)</strong>\.example\.com$<br />
+RewriteRule ^(.*) /home/<strong>%1</strong>/www$1
+</code></p></div></dd>
+
+<dt>Discussion</dt>
+ <dd>
+
+ <div class="warning">You will need to take care of the DNS
+ resolution - Apache does
+ not handle name resolution. You'll need either to create CNAME
+ records for each hostname, or a DNS wildcard record. Creating DNS
+ records is beyond the scope of this document.</div>
+
+<p>The internal <code>tolower</code> RewriteMap directive is used to
+ensure that the hostnames being used are all lowercase, so that there is
+no ambiguity in the directory structure which must be created.</p>
+
+<p>Parentheses used in a <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> are captured into the
+backreferences <code>%1</code>, <code>%2</code>, etc, while parentheses
+used in <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> are
+captured into the backreferences <code>$1</code>, <code>$2</code>,
+etc.</p>
+
+<p>
+As with many techniques discussed in this document, mod_rewrite really
+isn't the best way to accomplish this task. You should, instead,
+consider using <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> instead, as it will much
+more gracefully handle anything beyond serving static files, such as any
+dynamic content, and Alias resolution.
+</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="simple.rewrite" id="simple.rewrite">Dynamic
+ Virtual Hosts Using <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></a></h2>
+
+ <p>This extract from <code>httpd.conf</code> does the same
+ thing as <a href="#simple">the first example</a>. The first
+ half is very similar to the corresponding part above, except for
+ some changes, required for backward compatibility and to make the
+ <code>mod_rewrite</code> part work properly; the second half
+ configures <code>mod_rewrite</code> to do the actual work.</p>
+
+ <p>Because <code>mod_rewrite</code> runs before other URI translation
+ modules (e.g., <code>mod_alias</code>), <code>mod_rewrite</code> must
+ be told to explicitly ignore any URLs that would have been handled
+ by those modules. And, because these rules would otherwise bypass
+ any <code>ScriptAlias</code> directives, we must have
+ <code>mod_rewrite</code> explicitly enact those mappings.</p>
+
+<div class="example"><p><code>
+# get the server name from the Host: header<br />
+UseCanonicalName Off<br />
+<br />
+# splittable logs<br />
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon<br />
+CustomLog logs/access_log vcommon<br />
+<br />
+&lt;Directory /www/hosts&gt;<br />
+<span class="indent">
+ # ExecCGI is needed here because we can't force<br />
+ # CGI execution in the way that ScriptAlias does<br />
+ Options FollowSymLinks ExecCGI<br />
+</span>
+&lt;/Directory&gt;<br />
+<br />
+RewriteEngine On<br />
+<br />
+# a ServerName derived from a Host: header may be any case at all<br />
+RewriteMap lowercase int:tolower<br />
+<br />
+## deal with normal documents first:<br />
+# allow Alias /icons/ to work - repeat for other aliases<br />
+RewriteCond %{REQUEST_URI} !^/icons/<br />
+# allow CGIs to work<br />
+RewriteCond %{REQUEST_URI} !^/cgi-bin/<br />
+# do the magic<br />
+RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1<br />
+<br />
+## and now deal with CGIs - we have to force a handler<br />
+RewriteCond %{REQUEST_URI} ^/cgi-bin/<br />
+RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [H=cgi-script]<br />
+</code></p></div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="xtra-conf" id="xtra-conf">Using a Separate Virtual Host Configuration File</a></h2>
+
+ <p>This arrangement uses more advanced <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ features to work out the translation from virtual host to document
+ root, from a separate configuration file. This provides more
+ flexibility, but requires more complicated configuration.</p>
+
+ <p>The <code>vhost.map</code> file should look something like
+ this:</p>
+
+<div class="example"><p><code>
+customer-1.example.com /www/customers/1<br />
+customer-2.example.com /www/customers/2<br />
+# ...<br />
+customer-N.example.com /www/customers/N<br />
+</code></p></div>
+
+ <p>The <code>httpd.conf</code> should contain the following:</p>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+<br />
+RewriteMap lowercase int:tolower<br />
+<br />
+# define the map file<br />
+RewriteMap vhost txt:/www/conf/vhost.map<br />
+<br />
+# deal with aliases as above<br />
+RewriteCond %{REQUEST_URI} !^/icons/<br />
+RewriteCond %{REQUEST_URI} !^/cgi-bin/<br />
+RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$<br />
+# this does the file-based remap<br />
+RewriteCond ${vhost:%1} ^(/.*)$<br />
+RewriteRule ^/(.*)$ %1/docs/$1<br />
+<br />
+RewriteCond %{REQUEST_URI} ^/cgi-bin/<br />
+RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$<br />
+RewriteCond ${vhost:%1} ^(/.*)$<br />
+RewriteRule ^/(.*)$ %1/cgi-bin/$1 [H=cgi-script]
+</code></p></div>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/rewrite/vhosts.html" title="English">&nbsp;en&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/sections.html.en b/docs/manual/sections.html.en
index aa3d759e..3c0000a1 100644
--- a/docs/manual/sections.html.en
+++ b/docs/manual/sections.html.en
@@ -135,7 +135,8 @@ directives, along with their <a class="glossarylink" href="./glossary.html#regex
counterparts, apply directives to
parts of the filesystem. Directives enclosed in a <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> section apply to
the named filesystem directory and all subdirectories of that
-directory. The same effect can be obtained using <a href="howto/htaccess.html">.htaccess files</a>. For example, in the
+directory (as well as the files in those directories).
+The same effect can be obtained using <a href="howto/htaccess.html">.htaccess files</a>. For example, in the
following configuration, directory indexes will be enabled for the
<code>/var/web/dir1</code> directory and all subdirectories.</p>
@@ -193,10 +194,10 @@ In particular, it will apply to requests for
as any other requests starting with the <code>/private</code> string.</p>
<div class="example"><p><code>
-&lt;Location /private&gt;<br />
+&lt;LocationMatch ^/private&gt;<br />
Order Allow,Deny<br />
Deny from all<br />
-&lt;/Location&gt;
+&lt;/LocationMatch&gt;
</code></p></div>
<p>The <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
@@ -476,6 +477,6 @@ Deny from badguy.example.com<br />
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/sections.html.fr b/docs/manual/sections.html.fr
index 3739a69a..f70a8ddd 100644
--- a/docs/manual/sections.html.fr
+++ b/docs/manual/sections.html.fr
@@ -149,7 +149,8 @@ ainsi que leurs équivalents acceptant les
<a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>,
appliquent des directives à certaines parties du système de fichiers.
Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> s'appliquent au répertoire
-précisé, ainsi qu'à tous ses sous-répertoires.
+précisé, ainsi qu'à tous ses sous-répertoires et aux fichiers que ces
+derniers contiennent.
Le même effet peut être obtenu en utilisant les <a href="howto/htaccess.html">fichiers .htaccess</a>. Par exemple, avec la
configuration suivante, l'indexation sera activée pour le répertoire
<code>/var/web/dir1</code> et tous ses sous-répertoires.</p>
@@ -210,10 +211,10 @@ En particulier, l'interdiction s'appliquera aux requêtes pour :
toute requête commençant par la chaîne de caractères <code>/private</code>.</p>
<div class="example"><p><code>
-&lt;Location /private&gt;<br />
+&lt;LocationMatch ^/private&gt;<br />
Order Allow,Deny<br />
Deny from all<br />
-&lt;/Location&gt;
+&lt;/LocationMatch&gt;
</code></p></div>
<p>Le conteneur <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
@@ -525,6 +526,6 @@ Deny from badguy.example.com<br />
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/sections.html.ja.utf8 b/docs/manual/sections.html.ja.utf8
index 017be1d5..9a7e97b7 100644
--- a/docs/manual/sections.html.ja.utf8
+++ b/docs/manual/sections.html.ja.utf8
@@ -487,6 +487,6 @@ Deny from badguy.example.com<br />
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/sections.html.ko.euc-kr b/docs/manual/sections.html.ko.euc-kr
index 8e31ee07..5a432fe8 100644
--- a/docs/manual/sections.html.ko.euc-kr
+++ b/docs/manual/sections.html.ko.euc-kr
@@ -421,6 +421,6 @@ Deny from badguy.example.com<br />
<a href="./ko/sections.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/sections.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/sections.html.tr.utf8 b/docs/manual/sections.html.tr.utf8
index 0adee358..c2dac09b 100644
--- a/docs/manual/sections.html.tr.utf8
+++ b/docs/manual/sections.html.tr.utf8
@@ -136,7 +136,8 @@ gerekli deÄŸildir.</p>
ve <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> taşıyıcıları,
<a class="glossarylink" href="./glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> karşılıkları ile beraber,
yönergeleri dosya sisteminin parçalarına uygularlar. Bir <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümü içindeki yönergeler
-belli bir dosya sistemi dizinine ve onun alt dizinlerine uygulanır. Aynı etki
+belli bir dosya sistemi dizinine ve onun alt dizinlerine (ve bunların içindeki
+dosyalara) uygulanır. Aynı etki
<a href="howto/htaccess.html">.htaccess dosyaları</a> kullanılarak da
sağlanabilir. Örneğin aşağıdaki yapılandırmada, <code>/var/web/dir1</code>
dizini ve alt dizinlerinde dizin içeriğinin listelenmesi etkin kılınmaktadır.</p>
@@ -202,12 +203,12 @@ istekleri yanında <code>/gizli</code> ile başlayan diğer isteklere de
uygulanır.</p>
<div class="example"><p><code>
-&lt;Location /gizli&gt;<br />
+&lt;LocationMatch ^/gizli&gt;<br />
<span class="indent">
Order Allow,Deny<br />
Deny from all<br />
</span>
-&lt;/Location&gt;
+&lt;/LocationMatch&gt;
</code></p></div>
<p>Dosya sistemi ile etkileşime girmeyen herşey için
@@ -495,6 +496,6 @@ dikkatli olmalısınız!</p>
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/sections.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/server-wide.html.en b/docs/manual/server-wide.html.en
index 85b62e55..094cf1fa 100644
--- a/docs/manual/server-wide.html.en
+++ b/docs/manual/server-wide.html.en
@@ -97,6 +97,6 @@ the basic operations of the server.</p>
<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/server-wide.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/server-wide.html.ja.utf8 b/docs/manual/server-wide.html.ja.utf8
index 1e7f6706..c5e88297 100644
--- a/docs/manual/server-wide.html.ja.utf8
+++ b/docs/manual/server-wide.html.ja.utf8
@@ -97,6 +97,6 @@
<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/server-wide.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/server-wide.html.ko.euc-kr b/docs/manual/server-wide.html.ko.euc-kr
index 834bad9d..1954bf1e 100644
--- a/docs/manual/server-wide.html.ko.euc-kr
+++ b/docs/manual/server-wide.html.ko.euc-kr
@@ -92,6 +92,6 @@
<a href="./ko/server-wide.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/server-wide.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/server-wide.html.tr.utf8 b/docs/manual/server-wide.html.tr.utf8
index 977b1a9c..40c4424a 100644
--- a/docs/manual/server-wide.html.tr.utf8
+++ b/docs/manual/server-wide.html.tr.utf8
@@ -94,6 +94,6 @@ iÅŸlemlerini yapılandırmakta kullanılan yönergelerden bazıları açıklanmÄ
<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/server-wide.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/sitemap.html b/docs/manual/sitemap.html
index 33ee329a..3df56de8 100644
--- a/docs/manual/sitemap.html
+++ b/docs/manual/sitemap.html
@@ -23,3 +23,7 @@ Content-type: text/html; charset=EUC-KR
URI: sitemap.html.tr.utf8
Content-Language: tr
Content-type: text/html; charset=UTF-8
+
+URI: sitemap.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/sitemap.html.de b/docs/manual/sitemap.html.de
index 7646239c..3c906823 100644
--- a/docs/manual/sitemap.html.de
+++ b/docs/manual/sitemap.html.de
@@ -25,7 +25,8 @@
<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="./ja/sitemap.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">Diese Übersetzung ist möglicherweise
nicht mehr aktuell. Bitte prüfen Sie die englische Version auf
@@ -39,7 +40,7 @@
<li><img alt="" src="./images/down.gif" /> <a href="#release">Hinweise zur Version</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#using">Bedienung des Apache HTTP Servers</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#vhosts">Apache-Dokumentation zu virtuellen Hosts</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#faq">Häufig gestellte Fragen (FAQ)</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">Einführung in die URL-Manipulation</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#ssl">SSL/TLS-Verschlüsselung des Apache</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#howto">Praxis / Anleitungen</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#platform">Plattform-spezifische Anmerkungen</a></li>
@@ -79,7 +80,8 @@
<li><a href="filter.html">Filter</a></li>
<li><a href="suexec.html">suEXEC Unterstützung</a></li>
<li><a href="misc/perf-tuning.html">Performance-Hinweise</a></li>
-<li><a href="misc/rewriteguide.html">Einführung in die URL-Manipulation</a></li>
+<li><a href="http://wiki.apache.org/httpd/FAQ">Häufig gestellte Fragen
+ (FAQ)</a></li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section"><h2><a name="vhosts" id="vhosts">Apache-Dokumentation zu virtuellen Hosts</a></h2>
@@ -95,11 +97,15 @@
<li><a href="dns-caveats.html">Probleme bezüglich DNS und Apache</a></li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
-<div class="section"><h2><a name="faq" id="faq">Häufig gestellte Fragen (FAQ)</a></h2>
-<ul><li><a href="faq/">Übersicht</a></li>
-<li><a href="faq/background.html">Hintergrundinformationen</a></li>
-<li><a href="faq/support.html">Support</a></li>
-<li><a href="faq/error.html">Fehlermeldungen</a></li>
+<div class="section"><h2><a name="rewrite" id="rewrite">Einführung in die URL-Manipulation</a></h2>
+<ul><li class="separate"><a href="rewrite/">Übersicht</a></li>
+<li><a href="mod/mod_rewrite.html">Referenz-Dokumentation von
+mod_rewrite</a></li>
+<li><a href="rewrite/rewrite_intro.html">Einführung</a></li>
+<li><a href="rewrite/rewrite_flags.html">Schalter / Flags</a></li>
+<li><a href="rewrite/rewrite_tech.html">Technische Details</a></li>
+<li><a href="rewrite/rewrite_guide.html">Nützliche Beispiele fü URL-Manipulationen</a></li>
+<li><a href="rewrite/rewrite_guide_advanced.html">URL-Manipulation für Fortgeschrittene - mehr nützliche Beispiele</a></li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section"><h2><a name="ssl" id="ssl">SSL/TLS-Verschlüsselung des Apache</a></h2>
@@ -267,8 +273,9 @@ HPUX betreiben</a></li>
<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="./ja/sitemap.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Module</a> | <a href="./mod/directives.html">Direktiven</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossar</a> | <a href="./sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/sitemap.html.en b/docs/manual/sitemap.html.en
index f84dfced..97a1a1e4 100644
--- a/docs/manual/sitemap.html.en
+++ b/docs/manual/sitemap.html.en
@@ -25,7 +25,8 @@
<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="./ja/sitemap.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>This page lists the currently available documents of the
@@ -76,7 +77,7 @@ Documentation</a>.</p>
<li><a href="filter.html">Filters</a></li>
<li><a href="suexec.html">suEXEC Support</a></li>
<li><a href="misc/perf-tuning.html">Performance Hints</a></li>
-<li><a href="faq/">Frequently Asked Questions</a></li>
+<li><a href="http://wiki.apache.org/httpd/FAQ">Frequently Asked Questions</a></li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section"><h2><a name="vhosts" id="vhosts">Apache Virtual Host documentation</a></h2>
@@ -94,12 +95,16 @@ Documentation</a>.</p>
<ul><li class="separate"><a href="rewrite/">Overview</a></li>
<li><a href="mod/mod_rewrite.html">mod_rewrite reference
documentation</a></li>
-<li><a href="rewrite/rewrite_intro.html">Introduction</a></li>
-<li><a href="rewrite/rewrite_flags.html">Flags</a></li>
-<li><a href="rewrite/rewrite_tech.html">Technical details</a></li>
-<li><a href="rewrite/rewrite_guide.html">Rewrite Guide - useful examples</a></li>
-<li><a href="rewrite/rewrite_guide_advanced.html">Advanced Rewrite Guide - more
-useful examples</a></li>
+<li><a href="rewrite/intro.html">Introduction</a></li>
+<li><a href="rewrite/flags.html">Flags</a></li>
+<li><a href="rewrite/tech.html">Technical details</a></li>
+<li><a href="rewrite/remapping.html">Using mod_rewrite for redirection and remapping of URLs</a></li>
+<li><a href="rewrite/access.html">Using mod_rewrite to control access</a></li>
+<li><a href="rewrite/vhosts.html">Dynamic virtual hosts with mod_rewrite</a></li>
+<li><a href="rewrite/proxy.html">Dynamic proxying with mod_rewrite</a></li>
+<li><a href="rewrite/rewritemap.html">Using RewriteMap</a></li>
+<li><a href="rewrite/advanced.html">Advanced techniques and tricks</a></li>
+<li><a href="rewrite/avoid.html">When NOT to use mod_rewrite</a></li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section"><h2><a name="ssl" id="ssl">Apache SSL/TLS Encryption</a></h2>
@@ -267,8 +272,9 @@ Server on HPUX</a></li>
<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="./ja/sitemap.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/sitemap.html.es b/docs/manual/sitemap.html.es
index 6a7bf7de..63370c1c 100644
--- a/docs/manual/sitemap.html.es
+++ b/docs/manual/sitemap.html.es
@@ -25,7 +25,8 @@
<a href="./es/sitemap.html" title="Español">&nbsp;es&nbsp;</a> |
<a href="./ja/sitemap.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">Esta traducción podría estar
obsoleta. Consulte la versión en inglés de la
@@ -267,8 +268,9 @@ Referencia de Directivas</a></li>
<a href="./es/sitemap.html" title="Español">&nbsp;es&nbsp;</a> |
<a href="./ja/sitemap.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/sitemap.html.ja.utf8 b/docs/manual/sitemap.html.ja.utf8
index 59c03035..4fcac94f 100644
--- a/docs/manual/sitemap.html.ja.utf8
+++ b/docs/manual/sitemap.html.ja.utf8
@@ -25,7 +25,8 @@
<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="./ja/sitemap.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">This translation may be out of date. Check the
English version for recent changes.</div>
@@ -264,8 +265,9 @@
<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="./ja/sitemap.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/sitemap.html.ko.euc-kr b/docs/manual/sitemap.html.ko.euc-kr
index 19e40f57..07385dbf 100644
--- a/docs/manual/sitemap.html.ko.euc-kr
+++ b/docs/manual/sitemap.html.ko.euc-kr
@@ -25,7 +25,8 @@
<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="./ja/sitemap.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sitemap.html" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
@@ -265,8 +266,9 @@
<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="./ja/sitemap.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sitemap.html" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/sitemap.html.tr.utf8 b/docs/manual/sitemap.html.tr.utf8
index fd218b91..cfafe9b2 100644
--- a/docs/manual/sitemap.html.tr.utf8
+++ b/docs/manual/sitemap.html.tr.utf8
@@ -25,7 +25,8 @@
<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="./ja/sitemap.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/sitemap.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/sitemap.html" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Bu sayfada <a href="./">Apache HTTP Sunucusu Sürüm 2.2
@@ -75,7 +76,7 @@ Belgeleri</a>nin tamamı listelenmiştir.</p>
<li><a href="filter.html">Süzgeçler</a></li>
<li><a href="suexec.html">CGI için Suexec Desteği</a></li>
<li><a href="misc/perf-tuning.html">Başarım Arttırma İpuçları</a></li>
-<li><a href="faq/">Sıkça Sorulan Sorular</a></li>
+<li><a href="http://wiki.apache.org/httpd/FAQ">Sıkça Sorulan Sorular</a></li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section"><h2><a name="vhosts" id="vhosts">Apache Sanal Konak (VirtualHost) Belgeleri</a></h2>
@@ -92,12 +93,16 @@ Belgeleri</a>nin tamamı listelenmiştir.</p>
<div class="section"><h2><a name="rewrite" id="rewrite">URL’lerin Yeniden Yazılması</a></h2>
<ul><li class="separate"><a href="rewrite/">Genel Bakış</a></li>
<li><a href="mod/mod_rewrite.html">mod_rewrite BaÅŸvuru Belgesi</a></li>
-<li><a href="rewrite/rewrite_intro.html">GiriÅŸ</a></li>
-<li><a href="rewrite/rewrite_flags.html">Seçenekler</a></li>
-<li><a href="rewrite/rewrite_tech.html">Teknik Ayrıntılar</a></li>
-<li><a href="rewrite/rewrite_guide.html">Yeniden Yazma Rehberi - yararlı örnekler</a></li>
-<li><a href="rewrite/rewrite_guide_advanced.html">GeliÅŸkin Yeniden Yazma Rehberi - daha
-yararlı örnekler</a></li>
+<li><a href="rewrite/intro.html">GiriÅŸ</a></li>
+<li><a href="rewrite/flags.html">Seçenekler</a></li>
+<li><a href="rewrite/tech.html">Teknik Ayrıntılar</a></li>
+<li><a href="rewrite/remapping.html">URL'lerin yeniden eşlenmesi ve yönlendirilmesi için mod_rewrite kullanımı</a></li>
+<li><a href="rewrite/access.html">Erişim denetimi için mod_rewrite kullanımı</a></li>
+<li><a href="rewrite/vhosts.html">mod_rewrite ile devingen sanal konaklar</a></li>
+<li><a href="rewrite/proxy.html">mod_rewrite ile devingen vekil kullanımı</a></li>
+<li><a href="rewrite/rewritemap.html">RewriteMap kullanımı</a></li>
+<li><a href="rewrite/advanced.html">Gelişkin teknikler ve püfler</a></li>
+<li><a href="rewrite/avoid.html">mod_rewrite ne zaman kullanılMAZ</a></li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section"><h2><a name="ssl" id="ssl">Apache SSL/TLS Åžifrelemesi</a></h2>
@@ -263,8 +268,9 @@ Windows ile Apache Kullanımı</a></li>
<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="./ja/sitemap.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
-<a href="./tr/sitemap.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="./tr/sitemap.html" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/sitemap.html.zh-cn b/docs/manual/sitemap.html.zh-cn
new file mode 100644
index 00000000..5d232127
--- /dev/null
+++ b/docs/manual/sitemap.html.zh-cn
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>站点导航 - Apache HTTP æœåŠ¡å™¨</title>
+<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="./images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page">
+<div id="page-header">
+<p class="menu"><a href="./mod/">模å—</a> | <a href="./mod/directives.html">指令</a> | <a href="./faq/">常è§é—®é¢˜</a> | <a href="./glossary.html">术语</a> | <a href="./sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="./images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="./">版本 2.2</a></div>
+<div id="page-content"><div id="preamble"><h1>站点导航</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="./de/sitemap.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="./en/sitemap.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="./ja/sitemap.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/sitemap.html" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+<p>本页列出了
+<a href="./">Apache HTTP æœåŠ¡å™¨ 2.2
+的全部文档</a>。</p>
+</div>
+<div id="quickview"><ul id="toc">
+<li><img alt="" src="./images/down.gif" /> <a href="#release">å‘行说明</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#using">使用 Apache HTTP æœåŠ¡å™¨</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#vhosts">Apache 虚拟主机文档</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">URL 改写指å—</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#ssl">Apache SSL/TLS 加密</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#howto">指å—与教程</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#platform">å¹³å°ç›¸å…³è¯´æ˜Ž</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#programs">Apache HTTP æœåŠ¡å™¨ä¸Žæ”¯æŒç¨‹åº</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#misc">Apache æ‚项文档</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#modules">Apache 模å—</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#developer">å¼€å‘者文档</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#index">术语与索引</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section"><h2><a name="release" id="release">å‘行说明</a></h2>
+<ul><li><a href="upgrading.html">从 2.0 å‡çº§åˆ° 2.2</a></li>
+<li><a href="new_features_2_2.html">Apache 2.1/2.2 的新特性</a></li>
+<li><a href="new_features_2_0.html">Apache 2.0 的新特性</a></li>
+<li><a href="license.html">Apache 许å¯è¯</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section"><h2><a name="using" id="using">使用 Apache HTTP æœåŠ¡å™¨</a></h2>
+<ul><li><a href="install.html">编译与安装 Apache</a></li>
+<li><a href="invoking.html">å¯åŠ¨ Apache</a></li>
+<li><a href="stopping.html">åœæ­¢ä¸Žé‡å¯ Apache</a></li>
+<li><a href="configuring.html">é…置文件</a></li>
+<li><a href="sections.html">é…置片段</a></li>
+<li><a href="caching.html">缓存指å—</a></li>
+<li><a href="server-wide.html">æœåŠ¡å™¨å…¨å±€é…ç½®</a></li>
+<li><a href="logs.html">日志文件</a></li>
+<li><a href="urlmapping.html">从 URL 映射到文件系统</a></li>
+<li><a href="misc/security_tips.html">安全技巧</a></li>
+<li><a href="dso.html">动æ€å…±äº«å¯¹è±¡(DSO)</a></li>
+<li><a href="content-negotiation.html">内容å商</a></li>
+<li><a href="custom-error.html">定制错误å“应</a></li>
+<li><a href="bind.html">绑定指定地å€ä¸Žç«¯å£</a></li>
+<li><a href="mpm.html">多处ç†æ¨¡å—(MPM)</a></li>
+<li><a href="env.html">环境å˜é‡</a></li>
+<li><a href="handler.html">Apache 的处ç†å™¨</a></li>
+<li><a href="filter.html">过滤器</a></li>
+<li><a href="suexec.html">执行 CGI å‰çš„用户切æ¢(suEXEC)</a></li>
+<li><a href="misc/perf-tuning.html">性能调è°</a></li>
+<li><a href="http://wiki.apache.org/httpd/FAQ">常è§é—®é¢˜</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section"><h2><a name="vhosts" id="vhosts">Apache 虚拟主机文档</a></h2>
+<ul><li class="separate"><a href="vhosts/">概述</a></li>
+<li><a href="vhosts/name-based.html">基于å称的虚拟主机</a></li>
+<li><a href="vhosts/ip-based.html">基于 IP 的虚拟主机</a></li>
+<li><a href="vhosts/mass.html">动æ€é…置的大规模虚拟主机</a></li>
+<li><a href="vhosts/examples.html">虚拟主机样例</a></li>
+<li><a href="vhosts/details.html">虚拟主机匹é…的深入讨论</a></li>
+<li><a href="vhosts/fd-limits.html">文件å¥æŸ„é™åˆ¶</a></li>
+<li><a href="dns-caveats.html">Apache 的 DNS 相关问题</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section"><h2><a name="rewrite" id="rewrite">URL 改写指å—</a></h2>
+<ul><li class="separate"><a href="rewrite/">概述</a></li>
+<li><a href="mod/mod_rewrite.html">mod_rewrite å‚考文档</a></li>
+<li><a href="rewrite/rewrite_intro.html">简介</a></li>
+<li><a href="rewrite/rewrite_flags.html">标志</a></li>
+<li><a href="rewrite/rewrite_tech.html">技术细节</a></li>
+<li><a href="rewrite/rewrite_guide.html">æ”¹å†™æŒ‡å— - 有用的例å­</a></li>
+<li><a href="rewrite/rewrite_guide_advanced.html">é«˜çº§æ”¹å†™æŒ‡å— - 更多有用的例å­</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section"><h2><a name="ssl" id="ssl">Apache SSL/TLS 加密</a></h2>
+<ul><li class="separate"><a href="ssl/">概述</a></li>
+<li><a href="ssl/ssl_intro.html">SSL/TLS 加密: 简介</a></li>
+<li><a href="ssl/ssl_compat.html">SSL/TLS 加密: 兼容性</a></li>
+<li><a href="ssl/ssl_howto.html">SSL/TLS 加密: 常è§æ“作</a></li>
+<li><a href="ssl/ssl_faq.html">SSL/TLS 加密: 常è§é—®é¢˜</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section"><h2><a name="howto" id="howto">指å—与教程</a></h2>
+<ul><li class="separate"><a href="howto/">概述</a></li>
+<li><a href="howto/auth.html">认è¯ï¼ŒæŽˆæƒä¸Žè®¿é—®æŽ§åˆ¶</a></li>
+<li><a href="howto/cgi.html">CGI 与动æ€å†…容</a></li>
+<li><a href="howto/ssi.html">æœåŠ¡å™¨ç«¯æ’å…¥</a></li>
+<li><a href="howto/htaccess.html">.htaccess 文件</a></li>
+<li><a href="howto/public_html.html">用户ç§äººç½‘站目录(public_html)</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section"><h2><a name="platform" id="platform">å¹³å°ç›¸å…³è¯´æ˜Ž</a></h2>
+<ul><li class="separate"><a href="platform/">概述</a></li>
+<li><a href="platform/windows.html">在 Microsoft Windows 中使用 Apache</a></li>
+<li><a href="platform/win_compiling.html">为 Microsoft Windows 编译 Apache</a></li>
+<li><a href="platform/netware.html">在 Novell NetWare 中使用 Apache</a></li>
+<li><a href="platform/perf-hp.html">在 HPUX 中è¿è¡Œé«˜æ€§èƒ½ web æœåŠ¡å™¨</a></li>
+<li><a href="platform/ebcdic.html">Apache 与 EBCDIC 系统</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section"><h2><a name="programs" id="programs">Apache HTTP æœåŠ¡å™¨ä¸Žæ”¯æŒç¨‹åº</a></h2>
+<ul><li class="separate"><a href="programs/">概述</a></li>
+<li><a href="programs/httpd.html">手册: httpd</a></li>
+<li><a href="programs/ab.html">手册: ab</a></li>
+<li><a href="programs/apachectl.html">手册: apachectl</a></li>
+<li><a href="programs/apxs.html">手册: apxs</a></li>
+<li><a href="programs/configure.html">手册: configure</a></li>
+<li><a href="programs/dbmmanage.html">手册: dbmmanage</a></li>
+<li><a href="programs/htcacheclean.html">手册: htcacheclean</a></li>
+<li><a href="programs/htdbm.html">手册: htdbm</a></li>
+<li><a href="programs/htdigest.html">手册: htdigest</a></li>
+<li><a href="programs/htpasswd.html">手册: htpasswd</a></li>
+<li><a href="programs/logresolve.html">手册: logresolve</a></li>
+<li><a href="programs/rotatelogs.html">手册: rotatelogs</a></li>
+<li><a href="programs/suexec.html">手册: suexec</a></li>
+<li><a href="programs/other.html">其它程åº</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section"><h2><a name="misc" id="misc">Apache æ‚项文档</a></h2>
+<ul><li class="separate"><a href="misc/">概述</a></li>
+<li><a href="misc/relevant_standards.html">相关标准</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section"><h2><a name="modules" id="modules">Apache 模å—</a></h2>
+<ul><li><a href="mod/module-dict.html">æ述模å—的术语</a></li>
+<li><a href="mod/directive-dict.html">æ述指令的术语</a></li>
+</ul><ul><li><a href="mod/core.html">Apache 核心特性</a></li>
+<li><a href="mod/mpm_common.html">Apache MPM 通用指令</a></li>
+<li><a href="mod/beos.html">Apache MPM beos</a></li>
+<li><a href="mod/event.html">Apache MPM event</a></li>
+<li><a href="mod/mpm_netware.html">Apache MPM netware</a></li>
+<li><a href="mod/mpmt_os2.html">Apache MPM os2</a></li>
+<li><a href="mod/prefork.html">Apache MPM prefork</a></li>
+<li><a href="mod/mpm_winnt.html">Apache MPM winnt</a></li>
+<li><a href="mod/worker.html">Apache MPM worker</a></li>
+</ul><ul><li><a href="mod/mod_actions.html">Apache æ¨¡å— mod_actions</a></li>
+<li><a href="mod/mod_alias.html">Apache æ¨¡å— mod_alias</a></li>
+<li><a href="mod/mod_asis.html">Apache æ¨¡å— mod_asis</a></li>
+<li><a href="mod/mod_auth_basic.html">Apache æ¨¡å— mod_auth_basic</a></li>
+<li><a href="mod/mod_auth_digest.html">Apache æ¨¡å— mod_auth_digest</a></li>
+<li><a href="mod/mod_authn_alias.html">Apache æ¨¡å— mod_authn_alias</a></li>
+<li><a href="mod/mod_authn_anon.html">Apache æ¨¡å— mod_authn_anon</a></li>
+<li><a href="mod/mod_authn_dbd.html">Apache æ¨¡å— mod_authn_dbd</a></li>
+<li><a href="mod/mod_authn_dbm.html">Apache æ¨¡å— mod_authn_dbm</a></li>
+<li><a href="mod/mod_authn_default.html">Apache æ¨¡å— mod_authn_default</a></li>
+<li><a href="mod/mod_authn_file.html">Apache æ¨¡å— mod_authn_file</a></li>
+<li><a href="mod/mod_authnz_ldap.html">Apache æ¨¡å— mod_authnz_ldap</a></li>
+<li><a href="mod/mod_authz_dbm.html">Apache æ¨¡å— mod_authz_dbm</a></li>
+<li><a href="mod/mod_authz_default.html">Apache æ¨¡å— mod_authz_default</a></li>
+<li><a href="mod/mod_authz_groupfile.html">Apache æ¨¡å— mod_authz_groupfile</a></li>
+<li><a href="mod/mod_authz_host.html">Apache æ¨¡å— mod_authz_host</a></li>
+<li><a href="mod/mod_authz_owner.html">Apache æ¨¡å— mod_authz_owner</a></li>
+<li><a href="mod/mod_authz_user.html">Apache æ¨¡å— mod_authz_user</a></li>
+<li><a href="mod/mod_autoindex.html">Apache æ¨¡å— mod_autoindex</a></li>
+<li><a href="mod/mod_cache.html">Apache æ¨¡å— mod_cache</a></li>
+<li><a href="mod/mod_cern_meta.html">Apache æ¨¡å— mod_cern_meta</a></li>
+<li><a href="mod/mod_cgi.html">Apache æ¨¡å— mod_cgi</a></li>
+<li><a href="mod/mod_cgid.html">Apache æ¨¡å— mod_cgid</a></li>
+<li><a href="mod/mod_charset_lite.html">Apache æ¨¡å— mod_charset_lite</a></li>
+<li><a href="mod/mod_dav.html">Apache æ¨¡å— mod_dav</a></li>
+<li><a href="mod/mod_dav_fs.html">Apache æ¨¡å— mod_dav_fs</a></li>
+<li><a href="mod/mod_dav_lock.html">Apache æ¨¡å— mod_dav_lock</a></li>
+<li><a href="mod/mod_dbd.html">Apache æ¨¡å— mod_dbd</a></li>
+<li><a href="mod/mod_deflate.html">Apache æ¨¡å— mod_deflate</a></li>
+<li><a href="mod/mod_dir.html">Apache æ¨¡å— mod_dir</a></li>
+<li><a href="mod/mod_disk_cache.html">Apache æ¨¡å— mod_disk_cache</a></li>
+<li><a href="mod/mod_dumpio.html">Apache æ¨¡å— mod_dumpio</a></li>
+<li><a href="mod/mod_echo.html">Apache æ¨¡å— mod_echo</a></li>
+<li><a href="mod/mod_env.html">Apache æ¨¡å— mod_env</a></li>
+<li><a href="mod/mod_example.html">Apache æ¨¡å— mod_example</a></li>
+<li><a href="mod/mod_expires.html">Apache æ¨¡å— mod_expires</a></li>
+<li><a href="mod/mod_ext_filter.html">Apache æ¨¡å— mod_ext_filter</a></li>
+<li><a href="mod/mod_file_cache.html">Apache æ¨¡å— mod_file_cache</a></li>
+<li><a href="mod/mod_filter.html">Apache æ¨¡å— mod_filter</a></li>
+<li><a href="mod/mod_headers.html">Apache æ¨¡å— mod_headers</a></li>
+<li><a href="mod/mod_ident.html">Apache æ¨¡å— mod_ident</a></li>
+<li><a href="mod/mod_imagemap.html">Apache æ¨¡å— mod_imagemap</a></li>
+<li><a href="mod/mod_include.html">Apache æ¨¡å— mod_include</a></li>
+<li><a href="mod/mod_info.html">Apache æ¨¡å— mod_info</a></li>
+<li><a href="mod/mod_isapi.html">Apache æ¨¡å— mod_isapi</a></li>
+<li><a href="mod/mod_ldap.html">Apache æ¨¡å— mod_ldap</a></li>
+<li><a href="mod/mod_log_config.html">Apache æ¨¡å— mod_log_config</a></li>
+<li><a href="mod/mod_log_forensic.html">Apache æ¨¡å— mod_log_forensic</a></li>
+<li><a href="mod/mod_logio.html">Apache æ¨¡å— mod_logio</a></li>
+<li><a href="mod/mod_mem_cache.html">Apache æ¨¡å— mod_mem_cache</a></li>
+<li><a href="mod/mod_mime.html">Apache æ¨¡å— mod_mime</a></li>
+<li><a href="mod/mod_mime_magic.html">Apache æ¨¡å— mod_mime_magic</a></li>
+<li><a href="mod/mod_negotiation.html">Apache æ¨¡å— mod_negotiation</a></li>
+<li><a href="mod/mod_nw_ssl.html">Apache æ¨¡å— mod_nw_ssl</a></li>
+<li><a href="mod/mod_proxy.html">Apache æ¨¡å— mod_proxy</a></li>
+<li><a href="mod/mod_proxy_ajp.html">Apache æ¨¡å— mod_proxy_ajp</a></li>
+<li><a href="mod/mod_proxy_balancer.html">Apache æ¨¡å— mod_proxy_balancer</a></li>
+<li><a href="mod/mod_proxy_connect.html">Apache æ¨¡å— mod_proxy_connect</a></li>
+<li><a href="mod/mod_proxy_ftp.html">Apache æ¨¡å— mod_proxy_ftp</a></li>
+<li><a href="mod/mod_proxy_http.html">Apache æ¨¡å— mod_proxy_http</a></li>
+<li><a href="mod/mod_proxy_scgi.html">Apache æ¨¡å— mod_proxy_scgi</a></li>
+<li><a href="mod/mod_reqtimeout.html">Apache æ¨¡å— mod_reqtimeout</a></li>
+<li><a href="mod/mod_rewrite.html">Apache æ¨¡å— mod_rewrite</a></li>
+<li><a href="mod/mod_setenvif.html">Apache æ¨¡å— mod_setenvif</a></li>
+<li><a href="mod/mod_so.html">Apache æ¨¡å— mod_so</a></li>
+<li><a href="mod/mod_speling.html">Apache æ¨¡å— mod_speling</a></li>
+<li><a href="mod/mod_ssl.html">Apache æ¨¡å— mod_ssl</a></li>
+<li><a href="mod/mod_status.html">Apache æ¨¡å— mod_status</a></li>
+<li><a href="mod/mod_substitute.html">Apache æ¨¡å— mod_substitute</a></li>
+<li><a href="mod/mod_suexec.html">Apache æ¨¡å— mod_suexec</a></li>
+<li><a href="mod/mod_unique_id.html">Apache æ¨¡å— mod_unique_id</a></li>
+<li><a href="mod/mod_userdir.html">Apache æ¨¡å— mod_userdir</a></li>
+<li><a href="mod/mod_usertrack.html">Apache æ¨¡å— mod_usertrack</a></li>
+<li><a href="mod/mod_version.html">Apache æ¨¡å— mod_version</a></li>
+<li><a href="mod/mod_vhost_alias.html">Apache æ¨¡å— mod_vhost_alias</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section"><h2><a name="developer" id="developer">å¼€å‘者文档</a></h2>
+<ul><li class="separate"><a href="developer/">概述</a></li>
+<li><a href="developer/API.html">Apache API 说明</a></li>
+<li><a href="developer/debugging.html">在 APR 中调试内存分é…</a></li>
+<li><a href="developer/documenting.html">Apache 2.0 文档</a></li>
+<li><a href="developer/hooks.html">Apache 2.0 é’©å­å‡½æ•°</a></li>
+<li><a href="developer/modules.html">将模å—从 Apache 1.3 移æ¤åˆ° Apache 2.0</a></li>
+<li><a href="developer/request.html">Apache 2.0 中的请求处ç†</a></li>
+<li><a href="developer/filters.html">Apache 2.0 中的过滤器</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section"><h2><a name="index" id="index">术语与索引</a></h2>
+<ul><li><a href="glossary.html">术语</a></li>
+<li><a href="mod/">模å—索引</a></li>
+<li><a href="mod/directives.html">指令索引</a></li>
+<li><a href="mod/quickreference.html">指令快速å‚考</a></li>
+</ul>
+</div></div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="./de/sitemap.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="./en/sitemap.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
+<a href="./ja/sitemap.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="./zh-cn/sitemap.html" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="./mod/">模å—</a> | <a href="./mod/directives.html">指令</a> | <a href="./faq/">常è§é—®é¢˜</a> | <a href="./glossary.html">术语</a> | <a href="./sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/index.html b/docs/manual/ssl/index.html
index d6ccf929..ff9ca3dc 100644
--- a/docs/manual/ssl/index.html
+++ b/docs/manual/ssl/index.html
@@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8
URI: index.html.tr.utf8
Content-Language: tr
Content-type: text/html; charset=UTF-8
+
+URI: index.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/ssl/index.html.en b/docs/manual/ssl/index.html.en
index bdb845ee..bca3ba4d 100644
--- a/docs/manual/ssl/index.html.en
+++ b/docs/manual/ssl/index.html.en
@@ -20,7 +20,8 @@
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/ssl/" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
-<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>The Apache HTTP Server module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>
@@ -52,8 +53,9 @@ provided by this module is provided in the <a href="../mod/mod_ssl.html">mod_ssl
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/ssl/" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
-<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/index.html.ja.utf8 b/docs/manual/ssl/index.html.ja.utf8
index cb3d50c1..8cd1f708 100644
--- a/docs/manual/ssl/index.html.ja.utf8
+++ b/docs/manual/ssl/index.html.ja.utf8
@@ -20,7 +20,8 @@
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/ssl/" title="Japanese">&nbsp;ja&nbsp;</a> |
-<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Apache HTTP サーãƒãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> ãŒ
@@ -54,8 +55,9 @@ Secure Sockts Layer 㨠Transport Layer Security
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/ssl/" title="Japanese">&nbsp;ja&nbsp;</a> |
-<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/index.html.tr.utf8 b/docs/manual/ssl/index.html.tr.utf8
index 5f82dc08..630577b2 100644
--- a/docs/manual/ssl/index.html.tr.utf8
+++ b/docs/manual/ssl/index.html.tr.utf8
@@ -20,7 +20,8 @@
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
-<a href="../tr/ssl/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/ssl/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Apache HTTP Sunucusunun <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> modülü, Güvenli Soketler
@@ -52,8 +53,9 @@
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
-<a href="../tr/ssl/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/ssl/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/index.html.zh-cn b/docs/manual/ssl/index.html.zh-cn
new file mode 100644
index 00000000..f976d41d
--- /dev/null
+++ b/docs/manual/ssl/index.html.zh-cn
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache SSL/TLS 加密 - Apache HTTP æœåŠ¡å™¨</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache SSL/TLS 加密</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+<p>Apache HTTP æœåŠ¡å™¨æ¨¡å— <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>
+æ供了与 <a href="http://www.openssl.org/">OpenSSL</a>
+的接å£ï¼Œå®ƒä½¿ç”¨å®‰å…¨å¥—接字层和传输层安全åè®®æ供了强加密。
+此模å—与这篇文档都基于
+Ralf S. Engelschall 的 mod_ssl 项目。</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#documentation">文档</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#mod-ssl">mod_ssl</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="documentation" id="documentation">文档</a></h2>
+<ul>
+<li><a href="ssl_intro.html">简介</a></li>
+<li><a href="ssl_compat.html">兼容性</a></li>
+<li><a href="ssl_howto.html">常è§æ“作</a></li>
+<li><a href="ssl_faq.html">常è§é—®é¢˜</a></li>
+<li><a href="../glossary.html">术语</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="mod-ssl" id="mod-ssl">mod_ssl</a></h2>
+<p>此模å—æ供的指令和环境å˜é‡çš„文档ä½äºŽ <a href="../mod/mod_ssl.html">mod_ssl å‚考手册</a>。
+</p>
+</div></div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/ssl_compat.html.en b/docs/manual/ssl/ssl_compat.html.en
index a5b1bdb3..1cfac1f5 100644
--- a/docs/manual/ssl/ssl_compat.html.en
+++ b/docs/manual/ssl/ssl_compat.html.en
@@ -221,6 +221,6 @@ are listed in <a href="#table3">Table 3</a>.</p>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/ssl/ssl_compat.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/ssl_faq.html.en b/docs/manual/ssl/ssl_faq.html.en
index 1328c23c..b9e9e530 100644
--- a/docs/manual/ssl/ssl_faq.html.en
+++ b/docs/manual/ssl/ssl_faq.html.en
@@ -236,12 +236,12 @@ relative hyperlinks?</a></li>
manipulate relative hyperlinks, to achieve the same effect.</p>
<div class="example"><p><code>
RewriteEngine on<br />
- RewriteRule ^/(.*):SSL$ https://%{SERVER_NAME}/$1 [R,L]<br />
- RewriteRule ^/(.*):NOSSL$ http://%{SERVER_NAME}/$1 [R,L]
+ RewriteRule ^/(.*)_SSL$ https://%{SERVER_NAME}/$1 [R,L]<br />
+ RewriteRule ^/(.*)_NOSSL$ http://%{SERVER_NAME}/$1 [R,L]
</code></p></div>
<p>This rewrite ruleset lets you use hyperlinks of the form
- <code>&lt;a href="document.html:SSL"&gt;</code>, to switch to HTTPS
+ <code>&lt;a href="document.html_SSL"&gt;</code>, to switch to HTTPS
in a relative link. (Replace SSL with NOSSL to switch to HTTP.)</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -1046,6 +1046,6 @@ the reason for my core dump?</a></h3>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/ssl/ssl_faq.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/ssl_howto.html.en b/docs/manual/ssl/ssl_howto.html.en
index b1362c10..b6d79362 100644
--- a/docs/manual/ssl/ssl_howto.html.en
+++ b/docs/manual/ssl/ssl_howto.html.en
@@ -293,6 +293,6 @@ Require valid-user
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/ssl/ssl_howto.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/ssl_intro.html.en b/docs/manual/ssl/ssl_intro.html.en
index a9d02e78..cc6b134f 100644
--- a/docs/manual/ssl/ssl_intro.html.en
+++ b/docs/manual/ssl/ssl_intro.html.en
@@ -645,6 +645,6 @@ Version 3.0</q>, 1996. See <a href="http://www.netscape.com/eng/ssl3/draft302.tx
<p><span>Available Languages: </span><a href="../en/ssl/ssl_intro.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/ssl/ssl_intro.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/ssl_intro.html.ja.utf8 b/docs/manual/ssl/ssl_intro.html.ja.utf8
index 9f6194df..f1357afb 100644
--- a/docs/manual/ssl/ssl_intro.html.ja.utf8
+++ b/docs/manual/ssl/ssl_intro.html.ja.utf8
@@ -692,6 +692,6 @@ Version 3.0</q>, 1996. See <a href="http://www.netscape.com/eng/ssl3/draft302.tx
<p><span>Available Languages: </span><a href="../en/ssl/ssl_intro.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/ssl/ssl_intro.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/stopping.html.de b/docs/manual/stopping.html.de
index f4f474f2..fbdd3d77 100644
--- a/docs/manual/stopping.html.de
+++ b/docs/manual/stopping.html.de
@@ -305,6 +305,6 @@
<a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Module</a> | <a href="./mod/directives.html">Direktiven</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossar</a> | <a href="./sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/stopping.html.en b/docs/manual/stopping.html.en
index 9501c9a7..93fbe22d 100644
--- a/docs/manual/stopping.html.en
+++ b/docs/manual/stopping.html.en
@@ -232,6 +232,6 @@ error. See above for a method of avoiding this.</div>
<a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/stopping.html.es b/docs/manual/stopping.html.es
index ba30be16..9ed93fa2 100644
--- a/docs/manual/stopping.html.es
+++ b/docs/manual/stopping.html.es
@@ -266,6 +266,6 @@ más arriba cómo puede solucionar este problema.</div>
<a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/stopping.html.fr b/docs/manual/stopping.html.fr
index 41165574..2728f5e7 100644
--- a/docs/manual/stopping.html.fr
+++ b/docs/manual/stopping.html.fr
@@ -272,6 +272,6 @@ pour éviter ce problème.</div>
<a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/stopping.html.ja.utf8 b/docs/manual/stopping.html.ja.utf8
index 45936001..329adacb 100644
--- a/docs/manual/stopping.html.ja.utf8
+++ b/docs/manual/stopping.html.ja.utf8
@@ -250,6 +250,6 @@
<a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/stopping.html.ko.euc-kr b/docs/manual/stopping.html.ko.euc-kr
index f6f82b9c..e925f8a4 100644
--- a/docs/manual/stopping.html.ko.euc-kr
+++ b/docs/manual/stopping.html.ko.euc-kr
@@ -204,6 +204,6 @@
<a href="./ko/stopping.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/stopping.html.tr.utf8 b/docs/manual/stopping.html.tr.utf8
index 11b3a986..29eb6061 100644
--- a/docs/manual/stopping.html.tr.utf8
+++ b/docs/manual/stopping.html.tr.utf8
@@ -241,6 +241,6 @@
<a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/stopping.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/suexec.html b/docs/manual/suexec.html
index 9c833c98..c4cc65bd 100644
--- a/docs/manual/suexec.html
+++ b/docs/manual/suexec.html
@@ -4,6 +4,10 @@ URI: suexec.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: suexec.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: suexec.html.ja.utf8
Content-Language: ja
Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/suexec.html.en b/docs/manual/suexec.html.en
index 5870b73b..8b27f326 100644
--- a/docs/manual/suexec.html.en
+++ b/docs/manual/suexec.html.en
@@ -19,6 +19,7 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>suEXEC Support</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="./en/suexec.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
@@ -193,7 +194,7 @@
<p class="indent">
- Presently, suEXEC does not allow <code><em>root</em></code>
+ suEXEC does not allow <code><em>root</em></code>
to execute CGI/SSI programs.
</p>
</li>
@@ -608,10 +609,11 @@
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="./en/suexec.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/suexec.html.fr b/docs/manual/suexec.html.fr
new file mode 100644
index 00000000..76ce6133
--- /dev/null
+++ b/docs/manual/suexec.html.fr
@@ -0,0 +1,662 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Support suEXEC - Serveur Apache HTTP</title>
+<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="./images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.2</p>
+<img alt="" src="./images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>Support suEXEC</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./fr/suexec.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+</div>
+
+ <p>La fonctionnalité <strong>suEXEC</strong> permet
+ l'exécution des programmes <strong>CGI</strong> et
+ <strong>SSI</strong> sous un identifiant utilisateur autre que celui sous
+ lequel s'exécute le serveur web qui appelle ces programmes.
+ Normalement, lorsqu'un programme CGI ou SSI est lancé, il
+ s'exécute sous le même identifiant utilisateur que celui du serveur web qui
+ l'appelle.</p>
+
+ <p>Utilisée de manière appropriée, cette fonctionnalité peut
+ réduire considérablement les risques de sécurité encourus
+ lorsqu'on autorise les utilisateurs à développer et faire
+ s'exécuter des programmes CGI ou SSI de leur cru. Cependant, mal
+ configuré, suEXEC peut causer de nombreux problèmes et même créer
+ de nouvelles failles dans la sécurité de votre ordinateur. Si
+ vous n'êtes pas familier avec la gestion des programmes
+ <em>setuid root</em> et les risques de sécurité qu'ils comportent,
+ nous vous recommandons vivement de ne pas tenter
+ d'utiliser suEXEC.</p>
+ </div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#before">Avant de commencer</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#model">Modèle de sécurité de suEXEC</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#install">Configurer et installer suEXEC</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#enable">Activation et désactivation
+de suEXEC</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#usage">Utilisation de suEXEC</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#debug">Débogage de suEXEC</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">Avis à la population !
+ Avertissements et exemples</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="before" id="before">Avant de commencer</a></h2>
+
+ <p>Avant de foncer tête baissée dans la lecture de ce document,
+ vous devez tenir compte des hypothèses faites par le Groupe
+ Apache et dans ce document.</p>
+
+ <p>Premièrement, vous devez utiliser un système d'exploitation
+ UNIX ou dérivé, capable d'effectuer des opérations
+ <strong>setuid</strong> et <strong>setgid</strong>. Tous les
+ exemples de commande sont fournis dans ce context. D'autres
+ plates-formes, même si elles supportent suEXEC, peuvent
+ présenter une configuration différente.</p>
+
+ <p>Deuxièmement, vous devez être familier avec les concepts de base
+ relatifs à la sécurité de votre ordinateur et son administration.
+ Ceci implique la compréhension des opérations
+ <strong>setuid/setgid</strong> et des différents effets qu'elles
+ peuvent produire sur votre système et son niveau de sécurité.</p>
+
+ <p>Troisièmement, vous devez utiliser une version
+ <strong>non modifiée</strong> du code de suEXEC. L'ensemble du
+ code de suEXEC a été scruté et testé avec soin par les développeurs
+ et de nombreux bêta testeurs. Toutes les précautions ont été prises
+ pour s'assurer d'une base sûre de code non seulement simple, mais
+ aussi solide. La modification de ce code peut causer des problèmes
+ inattendus et de nouveaux risques de sécurité. Il est
+ <strong>vivement</strong> recommandé de ne pas modifier le code de
+ suEXEC, à moins que vous ne soyez un programmeur spécialiste des
+ particularités liées à la sécurité, et souhaitez partager votre
+ travail avec le Groupe Apache afin de pouvoir en discuter.</p>
+
+ <p>Quatrièmement et dernièrement, le Groupe Apache a décidé de ne
+ <strong>PAS</strong> inclure suEXEC dans l'installation par défaut
+ d'Apache. Pour pouvoir mettre en oeuvre suEXEC, l'administrateur
+ doit porter la plus grande attention aux détails. Après avoir bien
+ réfléchi aux différents points de la configuration de suEXEC,
+ l'administrateur peut l'installer selon les méthodes classiques.
+ Le choix de chaque paramètre de configuration doit être
+ déterminé et spécifié avec soin par l'administrateur, afin de
+ maintenir la sécurité du système de manière appropriée lors de
+ l'utilisation de la fonctionnalité suEXEC. C'est par le biais de
+ ce processus minutieux que le Groupe Apache espère réserver
+ l'installation de suEXEC aux administrateurs prudents et
+ suffisamment déterminés à vouloir l'utiliser.</p>
+
+ <p>Vous êtes encore avec nous ? Oui ? Bien.
+ Alors nous pouvons continuer !</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="model" id="model">Modèle de sécurité de suEXEC</a></h2>
+
+ <p>Avant d'installer et configurer suEXEC, nous allons tout d'abord
+ décrire le modèle de sécurité que vous êtes sur le point
+ d'implémenter. Vous devriez ainsi mieux comprendre ce qui se passe
+ vraiment à l'intérieur de suEXEC et quelles précautions ont été
+ prises pour préserver la sécurité de votre système.</p>
+
+ <p><strong>suEXEC</strong> est basé sur un programme "conteneur"
+ (wrapper) setuid qui est appelé par le serveur web Apache principal.
+ Ce conteneur est appelé quand une requête HTTP concerne
+ un programme CGI ou SSI que l'administrateur
+ a décidé de faire s'exécuter
+ sous un utilisateur autre que celui du serveur principal.
+ Lorsqu'il reçoit une telle requête, Apache fournit au conteneur
+ suEXEC le nom du programme, ainsi que les identifiants utilisateur
+ et groupe sous lesquels le programme doit s'exécuter.</p>
+
+ <p>Le conteneur effectue ensuite les vérifications suivantes afin
+ de déterminer la réussite ou l'échec du processus -- si une seule
+ de ces conditions n'est pas vérifiée, le programme journalise
+ l'erreur et se termine en retournant un code d'erreur, sinon il
+ continue :</p>
+
+ <ol>
+ <li>
+ <strong>L'utilisateur qui exécute le conteneur est-il un
+ utilisateur valide de ce système ?</strong>
+
+ <p class="indent">
+ Ceci permet de s'assurer que l'utilisateur qui exécute le
+ conteneur est vraiment un utilisateur appartenant au système.
+ </p>
+ </li>
+
+ <li>
+ <strong>Le conteneur a-t-il été appelé avec un nombre
+ d'arguments correct ?</strong>
+
+ <p class="indent">
+ Le conteneur ne s'exécutera que si on lui fournit un nombre
+ d'arguments correct. Le serveur web apache sait quel est le
+ bon format des arguments. Si le conteneur ne reçoit pas un
+ nombre d'arguments correct, soit il a été modifié,
+ soit quelque chose ne va pas dans la portion suEXEC de
+ votre binaire Apache.
+ </p>
+ </li>
+
+ <li>
+ <strong>Cet utilisateur valide est-il autorisé à exécuter le
+ conteneur ?</strong>
+
+ <p class="indent">
+ Cet utilisateur est-il celui autorisé à exécuter le
+ conteneur ? Un seul utilisateur (celui d'Apache) est
+ autorisé à exécuter ce programme.
+ </p>
+ </li>
+
+ <li>
+ <strong>Le chemin du programme CGI ou SSI cible est-il
+ non sûr ?</strong>
+
+ <p class="indent">
+ Le chemin du programme CGI ou SSI cible débute-t-il par un
+ '/' ou contient-il une référence arrière '..' ? Ceci est
+ interdit ; le programme CGI ou SSI cible doit se trouver dans
+ la hiérarchie de la racine des documents de suEXEC (voir
+ <code>--with-suexec-docroot=<em>DIR</em></code> ci-dessous).
+ </p>
+ </li>
+
+ <li>
+ <strong>Le nom utilisateur cible est-il valide ?</strong>
+
+ <p class="indent">
+ L'utilisateur cible existe-t-il ?
+ </p>
+ </li>
+
+ <li>
+ <strong>Le nom du groupe cible est-il valide ?</strong>
+
+ <p class="indent">
+ Le groupe cible existe-t-il ?
+ </p>
+ </li>
+
+ <li>
+ <strong>L'utilisateur cible n'est-il <em>PAS</em>
+ superutilisateur ?</strong>
+
+
+ <p class="indent">
+ suEXEc ne permet pas à
+ <code><em>root</em></code> d'exécuter des programmes CGI/SSI.
+ </p>
+ </li>
+
+ <li>
+ <strong>Le numéro de l'identifiant de l'utilisateur cible
+ est-il <em>SUPERIEUR</em> au numéro d'identifiant
+ minimum ?</strong>
+
+ <p class="indent">
+ Le numéro d'identifiant utilisateur minimum est défini à
+ l'exécution du script configure. Ceci vous permet de définir
+ le numéro d'identifiant utilisateur le plus bas qui sera
+ autorisé à éxécuter des programmes CGI/SSI. En particulier,
+ cela permet d'écarter les comptes système.
+ </p>
+ </li>
+
+ <li>
+ <strong>Le groupe cible n'est-il <em>PAS</em> le groupe
+ superutilisateur ?</strong>
+
+ <p class="indent">
+ Actuellement, suEXEC ne permet pas au groupe
+ <code><em>root</em></code> d'exécuter des programmes CGI/SSI.
+ </p>
+ </li>
+
+ <li>
+ <strong> Le numéro d'identifiant du groupe cible est-il
+ <em>SUPERIEUR</em> au numéro d'identifiant minimum ?</strong>
+
+ <p class="indent">
+ Le numéro d'identifiant de groupe minimum est spécifié lors
+ de l'exécution du script configure. Ceci vous permet de
+ définir l'identifiant de groupe le plus bas possible qui sera
+ autorisé à exécuter des programmes CGI/SSI, et est
+ particulièrement utile pour écarter les groupes "système".
+ </p>
+ </li>
+
+ <li>
+ <strong>Le conteneur peut-il obtenir avec succès l'identité
+ des utilisateur et groupe cibles ?</strong>
+
+ <p class="indent">
+ C'est ici que le programme obtient l'identité des utilisateur
+ et groupe cibles via des appels à setuid et setgid. De même,
+ la liste des accès groupe est initialisée avec tous les
+ groupes auxquels l'utilisateur cible appartient.
+ </p>
+ </li>
+
+ <li>
+ <strong>Peut-on se positionner dans le répertoire dans dequel
+ sont situés les programmes CGI/SSI ?</strong>
+
+ <p class="indent">
+ S'il n'existe pas, il ne peut pas contenir de fichier. Et si
+ l'on ne peut pas s'y positionner, il n'existe probablement
+ pas.
+ </p>
+ </li>
+
+ <li>
+ <strong>Le répertoire est-il dans l'espace web
+ d'Apache ?</strong>
+
+ <p class="indent">
+ Si la requête concerne une portion de la racine du serveur,
+ le répertoire demandé est-il dans la hiérarchie de la racine
+ des documents de suEXEC ? Si la requête concerne un
+ <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>, le
+ répertoire demandé est-il dans la hiérarchie du répertoire
+ défini comme le répertoire utilisateur de suEXEC (voir les
+ <a href="#install">options de configuration de suEXEC</a>) ?
+ </p>
+ </li>
+
+ <li>
+ <strong>L'écriture dans le répertoire est-elle interdite pour
+ un utilisateur autre que le propriétaire ?</strong>
+
+ <p class="indent">
+ Le répertoire ne doit pas être ouvert aux autres
+ utilisateurs ; seul l'utilisateur propriétaire doit pouvoir
+ modifier le contenu du répertoire.
+ </p>
+ </li>
+
+ <li>
+ <strong>Le programme CGI/SSI cible existe-t-il ?</strong>
+
+ <p class="indent">
+ S'il n'existe pas, il ne peut pas être exécuté.
+ </p>
+ </li>
+
+ <li>
+ <strong>Les utilisateurs autres que le propriétaire n'ont-ils
+ <em>PAS</em> de droits en écriture sur le programme
+ CGI/SSI ?</strong>
+
+ <p class="indent">
+ Les utilisateurs autres que le propriétaire ne doivent pas
+ pouvoir modifier le programme CGI/SSI.
+ </p>
+ </li>
+
+ <li>
+ <strong>Le programme CGI/SSI n'est-il <em>PAS</em> setuid ou
+ setgid ?</strong>
+
+ <p class="indent">
+ Les programmes cibles ne doivent pas pouvoir modifier à
+ nouveau les identifiants utilisateur/groupe.
+ </p>
+ </li>
+
+ <li>
+ <strong>Le couple utilisateur/groupe cible est-il le même que
+ celui du programme ?</strong>
+
+ <p class="indent">
+ L'utilisateur est-il le propriétaire du fichier ?
+ </p>
+ </li>
+
+ <li>
+ <strong>Peut-on nettoyer avec succès l'environnement des
+ processus afin de garantir la sûreté des opérations ?</strong>
+
+ <p class="indent">
+ suExec nettoie l'environnement des processus en établissant
+ un chemin d'exécution sûr (défini lors de la configuration),
+ et en ne passant que les variables dont les noms font partie
+ de la liste de l'environnement sûr (créée de même lors de la
+ configuration).
+ </p>
+ </li>
+
+ <li>
+ <strong>Le conteneur peut-il avec succès se substituer au
+ programme CGI/SSI cible et s'exécuter ?</strong>
+
+ <p class="indent">
+ C'est là où l'exécution de suEXEC s'arrête et où commence
+ celle du programme CGI/ssi cible.
+ </p>
+ </li>
+ </ol>
+
+ <p>Ce sont les opérations standards effectuées par le modèle de
+ sécurité du conteneur suEXEC. Il peut paraître strict et est
+ susceptible d'imposer de nouvelles limitations et orientations
+ dans la conception des programmes CGI/SSI, mais il a été développé
+ avec le plus grand soin, étape par étape, en se focalisant sur
+ la sécurité.</p>
+
+ <p>Pour plus d'informations sur la mesure dans laquelle ce modèle
+ de sécurité peut limiter vos possibilités au regard de la
+ configuration du serveur, ainsi que les risques de sécurité qui
+ peuvent être évités grâce à une configuration appropriée de suEXEC,
+ se référer à la section <a href="#jabberwock">"Avis à la population !"</a> de ce document.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="install" id="install">Configurer et installer suEXEC</a></h2>
+
+ <p>C'est ici que nous entrons dans le vif du sujet.</p>
+
+ <p><strong>Options de configuration de suEXEC</strong><br />
+ </p>
+
+ <dl>
+ <dt><code>--enable-suexec</code></dt>
+
+ <dd>Cette option active la fonctionnalité suEXEC qui n'est
+ jamais installée ou activée par défaut. Au moins une option
+ <code>--with-suexec-xxxxx</code> doit accompagner l'option
+ <code>--enable-suexec</code> pour qu'APACI (l'utilitaire de
+ configuration de la compilation d'Apache) accepte votre demande
+ d'utilisation de la fonctionnalité suEXEC.</dd>
+
+ <dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
+
+ <dd>Le chemin du binaire <code>suexec</code> doit être codé en
+ dur dans le serveur pour des raisons de sécurité. Cette option
+ vous permet de modifier le chemin par défaut.
+ <em>Par exemple</em>
+ <code>--with-suexec-bin=/usr/sbin/suexec</code></dd>
+
+ <dt><code>--with-suexec-caller=<em>UID</em></code></dt>
+
+ <dd>L'<a href="mod/mpm_common.html#user">utilisateur</a> sous
+ lequel Apache s'exécute habituellement. C'est le seul utilisateur
+ autorisé à utiliser suexec.</dd>
+
+ <dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>
+
+ <dd>Cette option définit le sous-répertoire de la hiérarchie des
+ répertoires utilisateurs dans lequel l'utilisation
+ de suEXEC sera autorisée. Tous les exécutables situés dans ce
+ répertoire seront exécutables par suEXEC sous l'utilisateur
+ cible ; ces programmes doivent donc être sûrs. Si vous utilisez
+ une directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
+ "simple" (c'est à dire ne contenant pas de
+ "*"), l'option --with-suexec-userdir
+ devra contenir la même valeur. suEXEC ne fonctionnera pas
+ correctement si la directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> contient une valeur
+ différente du répertoire home de l'utilisateur tel qu'il est
+ défini dans le fichier <code>passwd</code>. la valeur par défaut
+ est "<code>public_html</code>".<br />
+ Si vous avez plusieurs hôtes virtuels avec une directive
+ <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> différente
+ pour chacun d'entre eux, vous devrez faire en sorte que chaque
+ UserDir possède un répertoire parent commun ; donnez alors à
+ l'option --with-suexec-userdir le nom
+ de ce répertoire commun. <strong>Si tout ceci n'est pas défini
+ correctement, les requêtes CGI "~userdir" ne fonctionneront
+ pas !</strong></dd>
+
+ <dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>
+
+ <dd>Cette option fonctionne comme la directive DocumentRoot pour
+ Apache. Il s'agit de la seule hiérarchie (en dehors des directives
+ <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>) dans laquelle la fonctionnalité suEXEC
+ pourra être utilisée. La valeur par défaut est la valeur de
+ <code>--datadir</code> accompagnée du suffixe
+ "<code>/htdocs</code>" ;
+ <em>Par exemple</em>, si vous exécutez configure avec
+ "<code>--datadir=/home/apache</code>", la valeur
+ "<code>/home/apache/htdocs</code>" sera utilisée par défaut comme
+ racine des documents pour le conteneur suEXEC.</dd>
+
+ <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
+
+ <dd>Cette option définit l'identifiant utilisateur le plus bas
+ avec lequel un utilisateur pourra être la cible de
+ suEXEC. 500 ou 100 sont des valeurs courantes sur la plupart des
+ systèmes. la valeur par défaut est 100.</dd>
+
+ <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
+
+ <dd>Cette option définit l'identifiant de groupe le plus bas
+ avec lequel un utilisateur pourra être la cible de
+ suEXEC. 100 est une valeur courante sur la plupart des
+ systèmes et est par conséquent la valeur par défaut.</dd>
+
+ <dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>
+
+ <dd>Cette option permet de définir le fichier dans lequel
+ toutes les transactions et erreurs de suEXEC seront journalisées
+ (à des fins d'analyse ou de débogage). Par défaut, le fichier
+ journal se nomme "<code>suexec_log</code>" et se trouve dans votre
+ répertoire standard des fichiers journaux défini par
+ <code>--logfiledir</code></dd>
+
+ <dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
+
+ <dd>Cette option permet de définir une variable d'environnement
+ PATH sûre à passer aux exécutables CGI. La valeur par défaut
+ est "<code>/usr/local/bin:/usr/bin:/bin</code>".</dd>
+ </dl>
+
+ <h3>Compilation et installation du conteneur suEXEC</h3>
+
+
+ <p>Si vous avez activé la fonctionnalité suEXEC à l'aide de
+ l'option <code>--enable-suexec</code>, le binaire
+ <code>suexec</code> sera automatiquement construit (en même temps
+ qu'Apache) lorsque vous exécuterez la comande
+ <code>make</code>.</p>
+
+ <p>Lorsque tous les composants auront été construits, vous pourrez
+ exécuter la commande <code>make install</code> afin de les
+ installer. Le binaire <code>suexec</code> sera installé dans le
+ répertoire défini à l'aide de l'option <code>--sbindir</code>. La
+ localisation par défaut est "/usr/local/apache2/bin/suexec".</p>
+ <p>Veuillez noter que vous aurez besoin des
+ <strong><em>privilèges root</em></strong> pour passer l'étape de
+ l'installation. Pour que le conteneur puisse changer
+ l'identifiant utilisateur, il doit avoir comme propriétaire
+ <code><em>root</em></code>, et les droits du fichier doivent
+ inclure le bit d'exécution setuserid.</p>
+
+
+ <h3>&gt;Mise en place de permissions pour
+ paranoïaque</h3>
+
+ <p>Bien que le conteneur suEXEC vérifie que l'utilisateur qui
+ l'appelle correspond bien à l'utilisateur spécifié à l'aide de
+ l'option <code>--with-suexec-caller</code> du programme
+ <code class="program"><a href="./programs/configure.html">configure</a></code>, il subsiste toujours le risque qu'un
+ appel système ou une bibliothèque fasse appel à suEXEC avant que
+ cette vérification ne soit exploitable sur votre système. Pour
+ tenir compte de ceci, et parce que c'est en général la meilleure
+ pratique, vous devez utiliser les permissions du système de
+ fichiers afin de vous assurer que seul le groupe sous lequel
+ s'exécute Apache puisse faire appel à suEXEC.</p>
+
+ <p>Si, par exemple, votre serveur web est configuré pour
+ s'exécuter en tant que :</p>
+
+<div class="example"><p><code>
+ User www<br />
+ Group webgroup<br />
+</code></p></div>
+
+ <p>et <code class="program"><a href="./programs/suexec.html">suexec</a></code> se trouve à
+ "/usr/local/apache2/bin/suexec", vous devez exécuter les
+ commandes</p>
+
+<div class="example"><p><code>
+ chgrp webgroup /usr/local/apache2/bin/suexec<br />
+ chmod 4750 /usr/local/apache2/bin/suexec<br />
+</code></p></div>
+
+ <p>Ceci permet de s'assurer que seul le groupe sous lequel Apache
+ s'exécute (ici webgroup) puisse faire appel au conteneur
+ suEXEC.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="enable" id="enable">Activation et désactivation
+de suEXEC</a></h2>
+
+ <p>Au démarrage, Apache vérifie la présence du fichier
+ <code class="program"><a href="./programs/suexec.html">suexec</a></code> dans le répertoire défini par
+ l'option <code>--sbindir</code> du script configure (le
+ répertoire par défaut est "/usr/local/apache/sbin/suexec"). Si
+ Apache trouve un conteneur suEXEC correctement configuré, il
+ enregistrera le message suivant dans le journal des erreurs :</p>
+
+<div class="example"><p><code>
+ [notice] suEXEC mechanism enabled (wrapper: <var>/path/to/suexec</var>)
+</code></p></div>
+
+ <p>Si ce message n'est pas généré au démarrage du serveur, ce
+ dernier ne trouve probablement pas le programme conteneur à
+ l'endroit où il est sensé être, ou l'exécutable suexec n'est pas
+ installé en <em>setuid root</em>.</p>
+
+ <p>Si le serveur Apache est déjà en cours d'exécution, et si
+ vous activez le mécanisme suEXEC pour la première fois, vous
+ devez arrêter et redémarrer Apache. Un redémarrage
+ à l'aide d'un simple signal HUP ou USR1 suffira. </p>
+ <p>Pour désactiver suEXEC, vous devez supprimer le fichier
+ <code class="program"><a href="./programs/suexec.html">suexec</a></code>, puis arrêter et redémarrer
+ Apache.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="usage" id="usage">Utilisation de suEXEC</a></h2>
+
+ <p>Les requêtes pour des programmes CGI ne feront appel au
+ conteneur suEXEC que si elles concernent un hôte virtuel
+ contenant une directive <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>, ou si elles sont
+ traitées par <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>.</p>
+
+ <p><strong>Hôtes virtuels :</strong><br /> Une des méthodes
+ d'utilisation du conteneur suEXEC consiste à insérer une
+ directive <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> dans une section
+ <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code>. En définissant
+ des valeurs différentes de celles du serveur principal, toutes les
+ requêtes pour des ressources CGI seront exécutées sous
+ les <em>User</em> et <em>Group</em> définis pour cette section
+ <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>. Si cette
+ directive est absente de la section <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>, l'utilisateur du
+ serveur principal sera pris par défaut</p>
+
+ <p><strong>Répertoires des utilisateurs :</strong><br /> Avec
+ cette méthode, les
+ requêtes traitées par <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> appelleront le
+ conteneur suEXEC pour exécuter le programme CGI sous l'identifiant
+ utilisateur du répertoire utilisateur concerné. Seuls prérequis
+ pour pouvoir accéder à cette fonctionnalité : l'exécution des CGI
+ doit être activée pour l'utilisateur concerné, et le script doit
+ passer avec succès le test des <a href="#model">vérifications de
+ sécurité</a> décrit plus haut. Voir aussi l'
+ <a href="#install">option de compilation</a>
+ <code>--with-suexec-userdir</code>.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="debug" id="debug">Débogage de suEXEC</a></h2>
+
+ <p>Le conteneur suEXEC va écrire ses informations de journalisation
+ dans le fichier défini par l'option de compilation
+ <code>--with-suexec-logfile</code> comme indiqué plus haut. Si vous
+ pensez avoir configuré et installé correctement le conteneur,
+ consultez ce journal, ainsi que le journal des erreurs du serveur
+ afin de déterminer l'endroit où vous avez fait fausse route.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="jabberwock" id="jabberwock">Avis à la population !
+ Avertissements et exemples</a></h2>
+
+ <p><strong>NOTE !</strong> Cette section est peut-être incomplète.
+ Pour en consulter la dernière révision, voir la version de la <a href="http://httpd.apache.org/docs/2.2/suexec.html">Documentation en ligne</a> du Groupe Apache.</p>
+
+ <p>Quelques points importants du conteneur peuvent
+ imposer des contraintes du point de vue de la configuration du
+ serveur. Veuillez en prendre connaissance avant de soumettre un
+ rapport de bogue à propos de suEXEC.</p>
+
+ <ul>
+ <li><strong>Points importants de suEXEC</strong></li>
+
+ <li>
+ Limitations concernant la hiérarchie.
+
+ <p class="indent">
+ Pour des raisons de sécurité et d'efficacité, toutes les
+ requêtes suEXEC ne doivent concerner que des ressources
+ situées dans la racine des documents définie pour les
+ requêtes concernant un hôte virtuel, ou des ressources
+ situées dans la racine des documents définies pour les
+ requêtes concernant un répertoire utilisateur. Par exemple,
+ si vous avez configuré quatre hôtes virtuels, vous devrez
+ définir la structure des racines de documents de vos hôtes
+ virtuels en dehors d'une hiérarchie de documents principale
+ d'Apache, afin de tirer parti de suEXEC dans le contexte des
+ hôtes virtuels (Exemple à venir).
+ </p>
+ </li>
+
+ <li>
+ La variable d'environnement PATH de suEXEC
+
+ <p class="indent">
+ Modifier cette variable peut s'avérer dangereux. Assurez-vous
+ que tout chemin que vous ajoutez à cette variable est un
+ répertoire <strong>de confiance</strong>. Vous n'avez
+ probablement pas l'intention d'ouvrir votre serveur de façon
+ à ce que l'on puisse y exécuter un cheval de Troie.
+ </p>
+ </li>
+
+ <li>
+ Modification de suEXEC
+
+ <p class="indent">
+ Encore une fois, ceci peut vous causer de
+ <strong>graves ennuis</strong> si vous vous y essayez sans
+ savoir ce que vous faites. Évitez de vous y risquer dans la
+ mesure du possible.
+ </p>
+ </li>
+ </ul>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./fr/suexec.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/suexec.html.ja.utf8 b/docs/manual/suexec.html.ja.utf8
index a7415aba..188bcf55 100644
--- a/docs/manual/suexec.html.ja.utf8
+++ b/docs/manual/suexec.html.ja.utf8
@@ -19,6 +19,7 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP サーãƒ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="./">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.2</a></div><div id="page-content"><div id="preamble"><h1>suEXEC サãƒãƒ¼ãƒˆ</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/suexec.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
@@ -604,10 +605,11 @@
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/suexec.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/suexec.html.ko.euc-kr b/docs/manual/suexec.html.ko.euc-kr
index 516e22b1..201c0815 100644
--- a/docs/manual/suexec.html.ko.euc-kr
+++ b/docs/manual/suexec.html.ko.euc-kr
@@ -19,6 +19,7 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>suEXEC Áö¿ø</h1>
<div class="toplang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/suexec.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
@@ -527,10 +528,11 @@
</div></div>
<div class="bottomlang">
<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/suexec.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/suexec.html.tr.utf8 b/docs/manual/suexec.html.tr.utf8
index 522bb00a..a95aeb61 100644
--- a/docs/manual/suexec.html.tr.utf8
+++ b/docs/manual/suexec.html.tr.utf8
@@ -19,6 +19,7 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>SuEXEC Desteği</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/suexec.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
@@ -190,8 +191,8 @@
<li>
<strong>Hedef grup <code>root</code> deÄŸil, deÄŸil mi?</strong>
- <p class="indent">Mevcut durumda, <code>root</code> grubunun CGI/SSI
- programlarını çalıştırmasına izin verilmemektedir.</p>
+ <p class="indent"><code>root</code> grubunun CGI/SSI
+ programlarını çalıştırmasına izin verilmez.</p>
</li>
<li>
@@ -547,10 +548,11 @@
</div></div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/suexec.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/upgrading.html.de b/docs/manual/upgrading.html.de
index c2d8ea01..8069b8fa 100644
--- a/docs/manual/upgrading.html.de
+++ b/docs/manual/upgrading.html.de
@@ -109,6 +109,6 @@
<a href="./en/upgrading.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/upgrading.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Module</a> | <a href="./mod/directives.html">Direktiven</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossar</a> | <a href="./sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/upgrading.html.en b/docs/manual/upgrading.html.en
index 63f6fcc7..2d4949db 100644
--- a/docs/manual/upgrading.html.en
+++ b/docs/manual/upgrading.html.en
@@ -149,6 +149,6 @@
<a href="./en/upgrading.html" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/upgrading.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/upgrading.html.fr b/docs/manual/upgrading.html.fr
index c6922f33..c7ec0b6e 100644
--- a/docs/manual/upgrading.html.fr
+++ b/docs/manual/upgrading.html.fr
@@ -162,6 +162,6 @@ fonctionnalités de Apache 2.2</a></li></ul></div>
<a href="./en/upgrading.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/upgrading.html" title="Français">&nbsp;fr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/urlmapping.html.en b/docs/manual/urlmapping.html.en
index f20c7e69..b3305d7b 100644
--- a/docs/manual/urlmapping.html.en
+++ b/docs/manual/urlmapping.html.en
@@ -293,6 +293,6 @@ is available to rewrite links in HTML and XHTML.</p>
<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/urlmapping.html.ja.utf8 b/docs/manual/urlmapping.html.ja.utf8
index 44afc09d..f58ee67d 100644
--- a/docs/manual/urlmapping.html.ja.utf8
+++ b/docs/manual/urlmapping.html.ja.utf8
@@ -285,6 +285,6 @@ ProxyPassReverseCookiePath /foo/ /bar/
<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/urlmapping.html.ko.euc-kr b/docs/manual/urlmapping.html.ko.euc-kr
index eec20541..d3724efe 100644
--- a/docs/manual/urlmapping.html.ko.euc-kr
+++ b/docs/manual/urlmapping.html.ko.euc-kr
@@ -244,6 +244,6 @@ ProxyPassReverse /foo/ http://internal.example.com/bar/
<a href="./ko/urlmapping.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">¸ðµâ</a> | <a href="./mod/directives.html">Áö½Ã¾îµé</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">¿ë¾î</a> | <a href="./sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/urlmapping.html.tr.utf8 b/docs/manual/urlmapping.html.tr.utf8
index 9ce0d13c..54f109e1 100644
--- a/docs/manual/urlmapping.html.tr.utf8
+++ b/docs/manual/urlmapping.html.tr.utf8
@@ -279,6 +279,6 @@
<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/urlmapping.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/details.html.en b/docs/manual/vhosts/details.html.en
index bd5952d8..58985d3d 100644
--- a/docs/manual/vhosts/details.html.en
+++ b/docs/manual/vhosts/details.html.en
@@ -426,6 +426,6 @@
<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/details.html.fr b/docs/manual/vhosts/details.html.fr
index d8bfae7b..aad95048 100644
--- a/docs/manual/vhosts/details.html.fr
+++ b/docs/manual/vhosts/details.html.fr
@@ -23,94 +23,98 @@
<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
- <p>Le code gérant les serveurs virtuels a été réécrit à partir de
- zéro dans <strong>Apache 1.3</strong>. Ce document vise à expliquer
- dans le détail comment Apache procède lors du choix de l'utilisation
- d'un serveur virtuel en fonction d'une requête reçue. L'apparition
- de la directive <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
- a rendu beaucoup plus facile et plus sûre la configuration des
+ <p>Le code gérant les serveurs virtuels a été réécrit à partir de
+ zéro dans <strong>Apache 1.3</strong>. Ce document vise à expliquer
+ dans le détail comment Apache procède lors du choix de l'utilisation
+ d'un serveur virtuel en fonction d'une requête reçue. L'apparition
+ de la directive <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
+ a rendu beaucoup plus facile et plus sûre la configuration des
serveurs virtuels par rapport aux versions précédant la 1.3.</p>
- <p>Si vous voulez juste <cite>que ça marche</cite> sans en
- comprendre le fonctionnement, voici <a href="examples.html">quelques
+ <p>Si vous voulez juste <cite>que ça marche</cite> sans en
+ comprendre le fonctionnement, voici <a href="examples.html">quelques
exemples</a>.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configparsing">Interprétation des fichiers
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configparsing">Interprétation des fichiers
de configuration</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#hostmatching">Choix du serveur virtuel</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#tips">Trucs et astuces</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="configparsing" id="configparsing">Interprétation des fichiers
+<h2><a name="configparsing" id="configparsing">Interprétation des fichiers
de configuration</a></h2>
- <p>Un <em>serveur principal (main_server)</em> contient toutes
- les définitions qui apparaissent en dehors des sections
- <code>&lt;VirtualHost&gt;</code>. Les serveurs virtuels, aussi
- appelés <em>vhosts</em> (pour virtual hosts), sont définis par les
+ <p>Un <em>serveur principal (main_server)</em> contient toutes
+ les définitions qui apparaissent en dehors des sections
+ <code>&lt;VirtualHost&gt;</code>. Les serveurs virtuels, aussi
+ appelés <em>vhosts</em> (pour virtual hosts), sont définis par les
sections <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.</p>
<p>Les directives
- <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>,
- <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>,
- <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>,
- et <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
+ <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et
+ <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>
peuvent être placées n'importe où dans le cadre de définition d'un
- serveur. Cependant, chaque fois que l'une d'elles est lue, elle écrase
+ serveur. Cependant, chaque fois que l'une d'elles est lue, elle écrase
ses instances précédentes (dans le contexte du même serveur).</p>
- <p>La valeur par défaut du champ <code>Listen</code> pour le serveur
- principal est de 80. Le serveur principal n'a pas de valeur par
- défaut pour <code>ServerPath</code> ni pour <code>ServerAlias</code>.
- La valeur par défaut de <code>ServerName</code> est déduite à partir
+ <p>Le serveur principal n'a pas de valeur par
+ défaut pour <code>ServerPath</code> ni pour <code>ServerAlias</code>.
+ La valeur par défaut de <code>ServerName</code> est déduite à partir
de l'adresses IP du serveur.</p>
- <p>La directive Listen associée au serveur principal a deux utilités.
- La première détermine le port réseau sur lequel Apache va écouter.
- La deuxième spécifie le port qui sera utilisé dans les URIs absolus
- lors des redirections.</p>
-
- <p>À la différence du serveur principal, les ports des serveurs
- virtuels <em>n</em>'affectent <em>pas</em> les ports sur lesquels
- Apache se met à l'écoute.</p>
-
- <p>Chaque adresse incluse dans une directive <code>VirtualHost</code>
- peut disposer d'un port optionnel. Si le port n'est pas précisé, il
- prend par défaut la dernière valeur de <code>Listen</code> lue dans
- la configuration du serveur principal. Le port particulier
- <code>*</code> représente un joker qui correspond à tous les ports.
- L'ensemble des adresses (y compris les résultats multiples
- <code>A</code> issus des requêtes DNS) est appelé <em>jeu
+ <p>Les numéros de port spécifiés par la directive
+ <code>VirtualHost</code> n'ont rien à voir avec les ports sur
+ lesquels Apache va se mettre en écoute. Ils permettent seulement
+ de déterminer quel <code>VirtualHost</code> devra être
+ sélectionné pour traiter la requête.</p>
+
+ <p>Chaque adresse incluse dans une directive <code>VirtualHost</code>
+ peut disposer d'un port optionnel. Si le port n'est pas précisé, il
+ pourra prendre n'importe quelle valeur. Le port particulier
+ <code>*</code> représente un joker qui correspond à tous les ports.
+ L'ensemble des adresses (y compris les résultats multiples
+ <code>A</code> issus des requêtes DNS) est appelé <em>jeu
d'adresses</em> du serveur virtuel.</p>
- <p>À moins qu'une directive
- <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> ne soit utilisée
- pour une adresse IP spécifique, le premier serveur virtuel avec
- cette adresse est considéré comme un <em>serveur virtuel par-IP</em>.
- L'adresse IP peut également prendre la valeur joker <code>*</code>.</p>
-
- <p>Dans les cas où l'on souhaite utiliser un <em>serveur virtuel
- par nom</em>, la directive <code>NameVirtualHost</code> <em>doit</em>
- apparaître avec l'adresse IP choisie. En d'autres termes, vous devez
- spécifier dans votre fichier de configuration l'adresse IP des noms
- de domaine (CNAME) de vos serveurs virtuels par nom au moyen de
- la directive <code>NameVirtualHost</code>.</p>
-
- <p>On peut utiliser plusieurs directives <code>NameVirtualHost</code>
- pour un groupe de directives <code>VirtualHost</code>, mais seule
- une directive <code>NameVirtualHost</code> doit être utilisée pour
+ <p>À moins qu'une directive
+ <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> ne soit utilisée
+ pour la paire adresse IP exacte/port dans la directive
+ <code>VirtualHost</code>, Apache sélectionne le serveur virtuel qui
+ correspond le mieux en se basant sur l'adresse IP (ou une adresse
+ quelconque) et le numéro de port. Si plusieurs serveurs virtuels
+ correspondent sans pouvoir être départagés, c'est le premier qui
+ apparaît dans le fichier de configuration qui sera sélectionné.</p>
+
+ <p>Si vous souhaitez qu'Apache <em>affine</em> ses critères de
+ sélection en faisant entrer en jeu l'en-tête HTTP <code>Host</code>
+ fourni par le client, la directive <code>NameVirtualHost</code> <em>doit</em>
+ apparaître avec la paire adresse IP exacte (ou adresse
+ quelconque)/port utilisée dans le jeu de directives
+ <code>VirtualHost</code> correspondant.</p>
+
+ <p>La sélection du serveur virtuel en fonction du nom n'intervient
+ qu'après la sélection d'un serveur virtuel à base d'adresse IP
+ unique, et ne prend en compte que l'ensemble des serveurs virtuels
+ qui possèdent la même paire adresse IP/port.</p>
+
+ <p>On peut utiliser des nom d'hôtes à la place d'adresses IP dans la
+ définition des serveurs virtuels, mais ils seront résolus en
+ adresses IP au démarrage du serveur et ceci n'est pas recommandé.</p>
+
+
+ <p>On peut utiliser plusieurs directives <code>NameVirtualHost</code>
+ pour un groupe de directives <code>VirtualHost</code>, mais seule
+ une directive <code>NameVirtualHost</code> doit être utilisée pour
chaque couple IP:port donné.</p>
- <p>L'ordre d'apparition des directives <code>NameVirtualHost</code>
- et <code>VirtualHost</code> est sans importance, ce qui fait que
- les deux exemples suivants ont des effets identiques (seul l'ordre
- des directives <code>VirtualHost</code> pour <em>un</em> jeu
+ <p>L'ordre d'apparition des directives <code>NameVirtualHost</code>
+ et <code>VirtualHost</code> est sans importance, ce qui fait que
+ les deux exemples suivants ont des effets identiques (seul l'ordre
+ des directives <code>VirtualHost</code> pour <em>un</em> jeu
d'adresses est important, voir ci-dessous)&nbsp;:</p>
<table><tr>
@@ -159,84 +163,71 @@ de configuration</a></h2>
</tr></table>
- <p>(Il est conseillé d'adopter le choix de gauche pour faciliter
+ <p>(Il est conseillé d'adopter le choix de gauche pour faciliter
la lisibilité des fichiers de configuration.)</p>
-
- <p>Après la lecture de la directive <code>VirtualHost</code>, le
- serveur virtuel se voit attribuer une valeur <code>Listen</code>
- par défaut qui est la valeur du port associé au premier nom spécifié
- dans sa directive <code>VirtualHost</code>.</p>
-
- <p>La liste complète des noms d'une directive <code>VirtualHost</code>
- est gérée exactement comme des <code>ServerAlias</code> (mais ne
- sont pas écrasés par d'autres <code>ServerAlias</code>) si tous
- les noms sont résolus dans ce jeu d'adresse. À noter que les états
- <code>Listen</code> de ce serveur virtuel sont sans incidence sur
- les ports attibués au jeu d'adresses.</p>
-
- <p>Pendant la phase d'initialisation, une liste de chaque adresse
- IP est générée et introduite dans une table de 'hash'. Si une
- adresse IP est utilisée dans une directive <code>NameVirtualHost</code>,
- cette liste contient les noms des serveurs virtuels pour cette
- adresse. Si aucun serveur virtuel n'est défini pour cette adresse,
- la directive <code>NameVirtualHost</code> est ignorée et un message
- est envoyé au journal d'erreurs. Quand un serveur virtuel par IP
+
+ <p>Pendant la phase d'initialisation, une liste de chaque adresse
+ IP est générée et introduite dans une table de 'hash'. Si une
+ adresse IP est utilisée dans une directive <code>NameVirtualHost</code>,
+ cette liste contient les noms des serveurs virtuels pour cette
+ adresse. Si aucun serveur virtuel n'est défini pour cette adresse,
+ la directive <code>NameVirtualHost</code> est ignorée et un message
+ est envoyé au journal d'erreurs. Quand un serveur virtuel par IP
est utilisé, la table de 'hash' reste vide.</p>
- <p>La fonction de 'hash' étant rapide, le temps d'exécution d'un
- 'hash' sur une adresse IP lors d'une requête est minimale et
- quasiment imperceptible. De plus, la table est optimisée pour les
+ <p>La fonction de 'hash' étant rapide, le temps d'exécution d'un
+ 'hash' sur une adresse IP lors d'une requête est minimale et
+ quasiment imperceptible. De plus, la table est optimisée pour les
adresses IP dont le dernier octet est le seul à changer.</p>
- <p>Pour chaque serveur virtuel, diverses valeurs sont initialisées
+ <p>Pour chaque serveur virtuel, diverses valeurs sont initialisées
par défaut. En particulier&nbsp;:</p>
<ol>
- <li>Dans le cas où un serveur virtuel ne contient pas de directives
+ <li>Dans le cas où un serveur virtuel ne contient pas de directives
<code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>,
- <code class="directive"><a href="../mod/core.html#resourceconfig">ResourceConfig</a></code>,
- <code class="directive"><a href="../mod/core.html#accessconfig">AccessConfig</a></code>,
<code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code>,
<code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code>,
<code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code>,
<code class="directive"><a href="../mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></code>,
+ <code class="directive"><a href="../mod/core.html#receivebuffersize">ReceiveBufferSize</a></code>,
ou <code class="directive"><a href="../mod/core.html#sendbuffersize">SendBufferSize</a></code>,
alors la valeur de chacun de ces paramètres est héritée de celle du
serveur principal. (C'est à dire, héritée de la valeur finale après
lecture de la configuration du serveur principal.)</li>
- <li>Les permissions par défaut sur les répertoires de chaque
- serveur virtuel sont assemblées avec celles du serveur principal.
- Elles concernent également toutes les informations de configuration
+ <li>Les permissions par défaut sur les répertoires de chaque
+ serveur virtuel sont assemblées avec celles du serveur principal.
+ Elles concernent également toutes les informations de configuration
par répertoire pour tous les modules.</li>
- <li>Les configurations par serveur pour chaque module sont assemblées
+ <li>Les configurations par serveur pour chaque module sont assemblées
à partir de celles du serveur principal.</li>
</ol>
- <p>L'essentiel des valeurs de configuration des serveurs virtuels
+ <p>L'essentiel des valeurs de configuration des serveurs virtuels
provient de valeurs par défaut issues du serveur principal.
Mais la position dans le fichier de configuration des directives
- du serveur principal n'a pas d'importance -- l'ensemble de la
- configuration du serveur principal est lu avant que ces valeurs par
- défaut soient appliquées aux serveur virtuels. Ainsi, même si la
- définition d'une valeur apparaît après celle d'un serveur virtuel,
+ du serveur principal n'a pas d'importance -- l'ensemble de la
+ configuration du serveur principal est lu avant que ces valeurs par
+ défaut soient appliquées aux serveur virtuels. Ainsi, même si la
+ définition d'une valeur apparaît après celle d'un serveur virtuel,
cette valeur peut affecter la definition du serveur virtuel.</p>
- <p>Dans le cas où le serveur principal n'a pas de <code>ServerName</code>
- à ce stade, le nom de la machine sur laquelle tourne le programme
- <code class="program"><a href="../programs/httpd.html">httpd</a></code> est utilisé à sa place. Nous appellerons
- <em>jeu d'adresses du serveur principal</em>, les adresses IP
- renvoyées par une résolution DNS sur le <code>ServerName</code>
+ <p>Dans le cas où le serveur principal n'a pas de <code>ServerName</code>
+ à ce stade, le nom de la machine sur laquelle tourne le programme
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code> est utilisé à sa place. Nous appellerons
+ <em>jeu d'adresses du serveur principal</em> les adresses IP
+ renvoyées par une résolution DNS sur le <code>ServerName</code>
du serveur principal.</p>
- <p>Pour tous les champs <code>ServerName</code> non définis, dans
- le cas d'une configuration en serveur virtuel par nom, la valeur
- adoptée par défaut est la première adresse donnée dans la section
+ <p>Pour tous les champs <code>ServerName</code> non définis, dans
+ le cas d'une configuration en serveur virtuel par nom, la valeur
+ adoptée par défaut est la première adresse donnée dans la section
<code>VirtualHost</code> qui définit le serveur virtuel.</p>
- <p>Si un serveur virtuel contient la valeur magique
- <code>_default_</code>, il fonctionne sur le même <code>ServerName</code>
+ <p>Si un serveur virtuel contient la valeur magique
+ <code>_default_</code>, il fonctionne sur le même <code>ServerName</code>
que le serveur principal.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -248,174 +239,178 @@ de configuration</a></h2>
<h3><a name="hashtable" id="hashtable">Vérification dans la table de hash</a></h3>
- <p>Après que le client se soit connecté, l'adresse
- IP à laquelle le client s'est connecté est recherchée dans la
+ <p>Après que le client se soit connecté, l'adresse
+ IP à laquelle le client s'est connecté est recherchée dans la
table de hash IP interne.</p>
- <p>Si la résolution de l'adresse IP n'aboutit pas (adresse IP non
- trouvée), la requête est servie par le serveur virtuel
- <code>_default_</code> s'il est défini pour le port correspondant
+ <p>Si la résolution de l'adresse IP n'aboutit pas (adresse IP non
+ trouvée), la requête est servie par le serveur virtuel
+ <code>_default_</code> s'il est défini pour le port correspondant
à la requête. Sinon, elle est servie par le serveur principal.</p>
- <p>Si l'adresse IP n'est pas trouvée dans la table de hash, la
- recherche du numéro de port peut aussi se terminer par une
- correspondance à un <code>NameVirtualHost *</code> qui est géré
- ensuite comme les autres serveur virtuels par noms.</p>
-
- <p>Si une liste est bien trouvée dans la table pour l'adresse
- IP recherchée, l'étape suivante est de déterminer s'il s'agit
+ <p>Si l'adresse IP n'est pas trouvée dans la table de hash, la
+ recherche du numéro de port peut aussi se terminer par une
+ correspondance à un <code>NameVirtualHost *</code> qui est géré
+ ensuite comme les autres serveurs virtuels par noms.</p>
+
+ <p>Si une liste est bien trouvée dans la table pour l'adresse
+ IP recherchée, l'étape suivante est de déterminer s'il s'agit
d'un serveur virtuel par nom ou par IP.</p>
<h3><a name="ipbased" id="ipbased">Serveur virtuel par IP</a></h3>
- <p>Si l'entrée trouvée dispose d'une liste de noms vide, c'est
- qu'il s'agit d'un serveur virtuel par IP, et aucun autre choix
+ <p>Si l'entrée trouvée dispose d'une liste de noms vide, c'est
+ qu'il s'agit d'un serveur virtuel par IP, et aucun autre choix
n'est plus à faire&nbsp;; la requête est servie par ce serveur virtuel.</p>
<h3><a name="namebased" id="namebased">Serveur virtuel par nom</a></h3>
- <p>Si l'entrée trouvée correspond à un serveur virtuel par nom,
- la liste de noms contient au moins une structure de serveurs
- virtuels. Les serveurs virtuels se présentent dans cette liste
- dans le même ordre que la lecture des directives <code>VirtualHost</code>
+ <p>Si l'entrée trouvée correspond à un serveur virtuel par nom,
+ la liste de noms contient au moins une structure de serveurs
+ virtuels. Les serveurs virtuels se présentent dans cette liste
+ dans le même ordre que la lecture des directives <code>VirtualHost</code>
dans le fichier de configuration.</p>
- <p>Le premier serveur virtuel de cette liste (donc, le premier
- serveur virtuel attribué à une adresse IP donnée dans le fichier
- de configuration) se voit attribuer la plus grande priorité, ce
- qui signifie que c'est lui qui traite les requêtes présentant un
- nom de serveur invalide ou ne présentant pas de champ
+ <p>Le premier serveur virtuel de cette liste (donc, le premier
+ serveur virtuel du fichier de configuration
+ attribué à l'adresse IP spécifiée)
+ se voit attribuer la plus grande priorité, ce
+ qui signifie que c'est lui qui traite les requêtes présentant un
+ nom de serveur invalide ou ne présentant pas de champ
<code>Host:</code> dans l'en-tête.</p>
- <p>Si un champ <code>Host:</code> est transmis dans l'en-tête de
- la requête, son occurrence est recherchée dans la liste et le
- premier serveur virtuel qui présente un <code>ServerName</code>
- ou un <code>ServerAlias</code> correspondant est choisi pour
- servir la requête. Il est possible que le champ <code>Host:</code>
- contienne un numéro de port, mais Apache utilise toujours le
+ <p>Si un champ <code>Host:</code> est transmis dans l'en-tête de
+ la requête, son occurrence est recherchée dans la liste et le
+ premier serveur virtuel qui présente un <code>ServerName</code>
+ ou un <code>ServerAlias</code> correspondant est choisi pour
+ servir la requête. Il est possible que le champ <code>Host:</code>
+ contienne un numéro de port, mais Apache utilise toujours le
port sur lequel il a effectivement reçu la requête.</p>
- <p>Dans le cas où le client a envoyé une requête en HTTP/1.0 sans
- un champ d'en-tête <code>Host:</code>, il est impossible de
- déterminer le serveur auquel le client veut se connecter&nbsp;; l'URI
- de la requête est recherché dans tous les <code>ServerPath</code>
- existants. Le premier chemin trouvé est utilisé et la requête est
+ <p>Dans le cas où le client a envoyé une requête en HTTP/1.0 sans
+ champ d'en-tête <code>Host:</code>, il est impossible de
+ déterminer le serveur auquel le client veut se connecter&nbsp;; l'URI
+ de la requête est recherché dans tous les <code>ServerPath</code>
+ existants. Le premier chemin trouvé est utilisé et la requête est
servie par le serveur virtuel correspondant.</p>
- <p>Si aucun serveur virtuel n'est trouvé, la requête est servie
- par le premier serveur virtuel qui écoute sur le port demandé et
- qui est sur la liste associée à l'adresse IP vers laquelle la
+ <p>Si aucun serveur virtuel n'est trouvé, la requête est servie
+ par le premier serveur virtuel qui écoute sur le port demandé et
+ qui est sur la liste associée à l'adresse IP vers laquelle la
requête a été envoyée (comme déjà précisé ci-avant).</p>
<h3><a name="persistent" id="persistent">Connexions persistantes</a></h3>
- <p>La recherche par adresse IP décrite ci-avant n'est faite
- qu'<em>une fois</em> pour chaque session TCP/IP, alors que la
- recherche par nom est réalisée pour <em>chaque</em> requête au
- cours d'une connexion persistante (KeepAlive). En d'autres termes,
- il est possible pour un client de faire des requêtes sur
- différents serveurs virtuels par nom, au cours d'une unique
+ <p>La recherche par adresse IP décrite ci-avant n'est faite
+ qu'<em>une fois</em> pour chaque session TCP/IP, alors que la
+ recherche par nom est réalisée pour <em>chaque</em> requête au
+ cours d'une connexion persistante (KeepAlive). En d'autres termes,
+ il est possible pour un client de faire des requêtes sur
+ différents serveurs virtuels par nom, au cours d'une unique
connexion persistante.</p>
<h3><a name="absoluteURI" id="absoluteURI">URI absolu</a></h3>
- <p>Au cas où l'URI de la requête est absolu, et que son nom de
- serveur et son port correspondent au serveur principal (ou l'un
- des serveurs virtuels configurés), <em>et</em> qu'ils correspondent
- à l'adresse et au port de la requête, alors l'URI est amputé
- de son préfixe protocole/nom de serveur/port et traité par le
- serveur correspondant (principal ou virtuel). Si cette correspondance
- n'existe pas, l'URI reste inchangé et la requête est considérée
+ <p>Au cas où l'URI de la requête est absolu, et que son nom de
+ serveur et son port correspondent au serveur principal (ou l'un
+ des serveurs virtuels configurés), <em>et</em> qu'ils correspondent
+ à l'adresse et au port de la requête, alors l'URI est amputé
+ de son préfixe protocole/nom de serveur/port et traité par le
+ serveur correspondant (principal ou virtuel). Si cette correspondance
+ n'existe pas, l'URI reste inchangé et la requête est considérée
comme une requête d'un serveur mandataire (proxy).</p>
<h3><a name="observations" id="observations">Observations</a></h3>
<ul>
- <li>Les serveurs virtuels par nom et par IP n'interfèrent
- jamais entre eux. Les serveurs virtuels par IP ne sont joignables
- qu'au travers de leur(s) adresse(s) IP propre(s), en aucun
- cas par aucune autre adresse. Les serveurs virtuels par nom
- ne sont accessibles que par leur(s) adresse(s) IP qui ne peuvent
- être définies qu'au moyen de la directive
+ <li>Les serveurs virtuels par nom et par IP n'interfèrent
+ jamais entre eux. Les serveurs virtuels par IP ne sont joignables
+ qu'au travers de leur(s) adresse(s) IP propre(s), et en aucun
+ cas par une autre adresse. Les serveurs virtuels par nom
+ ne sont accessibles que par leur(s) adresse(s) IP qui ne peuvent
+ être définies qu'au moyen de la directive
<code>NameVirtualHost</code>.</li>
- <li>Les vérifications sur <code>ServerAlias</code> et
- <code>ServerPath</code> ne sont jamais réalisées pour les
+ <li>Les vérifications sur <code>ServerAlias</code> et
+ <code>ServerPath</code> ne sont jamais réalisées pour les
serveurs virtuels par IP.</li>
- <li>L'ordre dans lequel sont agencés dans le fichier de
- configuration le serveur virtuel <code>_default_</code>, les
- serveurs virtuels par nom et par IP, et la directive
- <code>NameVirtualHost</code> est sans incidence sur le
- fonctionnement. Seul l'ordre des serveurs virtuels par nom
- pour une adresse donnée a une importance. Le serveur virtuel
- par nom qui est présent en premier dans la configuration se
- voit attribué la priorité la plus haute pour les requêtes
+ <li>L'ordre dans lequel sont agencés dans le fichier de
+ configuration le serveur virtuel <code>_default_</code>, les
+ serveurs virtuels par nom et par IP, et la directive
+ <code>NameVirtualHost</code> est sans incidence sur le
+ fonctionnement. Seul l'ordre des serveurs virtuels par nom
+ pour une adresse donnée a une importance. Le serveur virtuel
+ par nom qui est présent en premier dans la configuration se
+ voit attribué la priorité la plus haute pour les requêtes
arrivant sur son jeu d'adresses IP.</li>
- <li>Pour des raisons de sécurité, le numéro de port présenté
- dans le champ d'en-tête <code>Host:</code> n'est jamais utilisé
- pour les tests de correspondances. Apache ne prend en compte
+ <li>Le numéro de port présenté
+ dans le champ d'en-tête <code>Host:</code> n'est jamais utilisé
+ pour les tests de correspondances. Apache ne prend en compte
que le numéro de port sur lequel le client a envoyé la requête.</li>
- <li>Si une directive <code>ServerPath</code> existe, et se
- trouve être préfixe d'une autre directive <code>ServerPath</code>
- qui apparaît plus loin dans la configuration, la première
- sera toujours utilisée et la deuxième jamais. (Ceci ne se
- produit que dans le cas où aucun champ <code>Host:</code>
+ <li>Si une directive <code>ServerPath</code> existe, et se
+ trouve être préfixe d'une autre directive <code>ServerPath</code>
+ qui apparaît plus loin dans la configuration, la première
+ sera toujours utilisée et la deuxième jamais. (Ceci ne se
+ produit que dans le cas où aucun champ <code>Host:</code>
n'a été présenté par le client pour distinguer les deux.)</li>
- <li>Dans le cas où deux serveurs virtuels par IP ont une
- adresse en commun, le serveur virtuel qui apparaît en premier
- dans la configuration est toujours choisi. Ce genre de chose
- peut arriver par inadvertance. Le serveur envoie une alerte
+ <li>Dans le cas où deux serveurs virtuels par IP ont une
+ adresse en commun, le serveur virtuel qui apparaît en premier
+ dans la configuration est toujours choisi. Ce genre de chose
+ peut arriver par inadvertance. Le serveur envoie une alerte
dans le journal d'erreurs si ce cas se présente.</li>
- <li>Le serveur virtuel <code>_default_</code> ne sert la requête
- que si aucun autre serveur virtuel travaillant sur l'adresse
- IP <em>et</em> le port demandés n'est trouvé. La requête n'est
- traitée que si le numéro de port qui a reçu la requête est
- associé au serveur virtuel <code>_default_</code> (qui par
- défaut, correspond à <code>Listen</code>). Un port joker peut
- être spécifié (<em>comme dans</em> <code>_default_:*</code>)
- pour récupérer les requêtes sur tous les ports ouverts. Ceci
- est également applicable aux serveurs virtuels
- <code>NameVirtualHost *</code>.</li>
-
- <li>Le serveur principal ne sert à servir les requêtes que
- lorsque l'adresse IP et le port demandés par le client ne
- correspondent à aucun serveur virtuel (y compris un serveur
- virtuel <code>_default_</code>). En d'autres termes, le serveur
- principal n'est utile que pour les combinaisons adresse/port
- non spécifiées (sauf quand un serveur virtuel <code>_default_</code>
+ <li>Le serveur virtuel <code>_default_</code> ne sert la requête
+ que si aucun autre serveur virtuel travaillant sur l'adresse
+ IP <em>et</em> le port demandés n'est trouvé. La requête n'est
+ traitée que si le numéro de port qui a reçu la requête est
+ associé au serveur virtuel <code>_default_</code> (qui par
+ défaut, correspond à <code>Listen</code>). Un port joker peut
+ être spécifié (<em>comme dans</em> <code>_default_:*</code>)
+ pour récupérer les requêtes sur tous les ports ouverts. Ceci
+ est également applicable aux serveurs virtuels
+ <code>NameVirtualHost *</code>. Notez que ceci n'est qu'une
+ extension du principe de "meilleure correspondance", au même titre
+ qu'une correspondance spécifique et exacte est préférée à une
+ valeur quelconque.</li>
+
+ <li>Le serveur principal ne sert les requêtes que
+ lorsque l'adresse IP et le port demandés par le client ne
+ correspondent à aucun serveur virtuel (y compris un serveur
+ virtuel <code>_default_</code>). En d'autres termes, le serveur
+ principal n'est utile que pour les combinaisons adresse/port
+ non spécifiées (sauf quand un serveur virtuel <code>_default_</code>
correspond au port).</li>
- <li>Ni les serveurs virtuels <code>_default_</code>, ni le
- serveur principal ne sont utilisés pour traiter une requête
- avec un champ d'en-tête <code>Host:</code> manquant ou vide
- lorsque l'adresse (et le port) de connexion correspondent à
- des serveurs virtuels par nom, par exemple, dans une directive
+ <li>Ni les serveurs virtuels <code>_default_</code>, ni le
+ serveur principal ne sont utilisés pour traiter une requête
+ avec un champ d'en-tête <code>Host:</code> inconnu ou manquant
+ lorsque l'adresse (et le port) de connexion correspondent à
+ des serveurs virtuels par nom, par exemple, dans une directive
<code>NameVirtualHost</code>.</li>
- <li>Il ne faut jamais employer de noms DNS dans des directives
- <code>VirtualHost</code>, car cela oblige le serveur a s'appuyer
- sur le DNS au moment du démarrage. De plus, vous vous exposez
- à des problèmes de sécurité si vous n'avez pas la maîtrise du
- DNS pour la totalité de vos domaines. Voir la documentation
- <a href="../dns-caveats.html">disponible ici</a>, ainsi que
+ <li>Il ne faut jamais employer de noms DNS dans des directives
+ <code>VirtualHost</code>, car cela oblige le serveur a s'appuyer
+ sur le DNS au moment du démarrage. De plus, vous vous exposez
+ à des problèmes de sécurité si vous n'avez pas la maîtrise du
+ DNS pour la totalité de vos domaines. Voir la documentation
+ <a href="../dns-caveats.html">disponible ici</a>, ainsi que
les deux points précisés ci-après.</li>
- <li>Un nom de serveur <code>ServerName</code> devrait toujours
- être indiqué pour chaque serveur virtuel. Sans cela, une
+ <li>Un nom de serveur <code>ServerName</code> devrait toujours
+ être indiqué pour chaque serveur virtuel. Sans cela, une
résolution DNS est nécessaire pour chaque serveur virtuel.</li>
</ul>
@@ -424,28 +419,29 @@ de configuration</a></h2>
<div class="section">
<h2><a name="tips" id="tips">Trucs et astuces</a></h2>
- <p>En plus des points évoqués sur la page des
- <a href="../dns-caveats.html#tips">problèmes liés au DNS</a>,
+ <p>En plus des points évoqués sur la page des
+ <a href="../dns-caveats.html#tips">problèmes liés au DNS</a>,
voici quelques points intéressants&nbsp;:</p>
<ul>
- <li>Toujours positionner les définitions relatives au serveur
- principal avant toute définition <code>VirtualHost</code>.
- (Ceci améliore grandement la lisibilité de la configuration
- -- la manière dont la configuration est interprétée après la
- lecture des fichiers ne met pas en évidence le fait que les
- définitions positionnées avant et surtout après les serveurs
- virtuels peuvent impacter le fonctionnement des serveurs virtuels.)</li>
-
- <li>Toujours regrouper les définitions <code>NameVirtualHost</code>
- et <code>VirtualHost</code> dans la configuration pour une
- meilleure lisibilité.</li>
-
- <li>Éviter les <code>ServerPaths</code> qui sont préfixes
- d'autres <code>ServerPaths</code>. Si cela ne peut être évité,
- veillez à ce que le serveur virtuel contenant le préfixe le plus
- long (donc le plus précis) apparaisse dans le fichier de
- configuration avant le plus court. (<em>par exemple</em>,
+ <li>Toujours positionner les définitions relatives au serveur
+ principal avant toute définition <code>VirtualHost</code>.
+ (Ceci améliore grandement la lisibilité de la configuration
+ -- la manière dont la configuration est interprétée après la
+ lecture des fichiers ne met pas en évidence le fait que les
+ définitions positionnées avant et surtout après les serveurs
+ virtuels peuvent impacter le fonctionnement de tous les
+ serveurs virtuels.)</li>
+
+ <li>Toujours regrouper les définitions <code>NameVirtualHost</code>
+ et <code>VirtualHost</code> correspondantes
+ dans la configuration pour une meilleure lisibilité.</li>
+
+ <li>Éviter les <code>ServerPaths</code> qui sont préfixes
+ d'autres <code>ServerPaths</code>. Si cela ne peut être évité,
+ veillez à ce que le serveur virtuel contenant le préfixe le plus
+ long (donc le plus précis) apparaisse dans le fichier de
+ configuration avant le plus court. (<em>par exemple</em>,
"ServerPath /abc" est à spécifier après "ServerPath /abc/def").</li>
</ul>
@@ -456,6 +452,6 @@ de configuration</a></h2>
<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/details.html.ko.euc-kr b/docs/manual/vhosts/details.html.ko.euc-kr
index a52c4a57..82ba4881 100644
--- a/docs/manual/vhosts/details.html.ko.euc-kr
+++ b/docs/manual/vhosts/details.html.ko.euc-kr
@@ -381,6 +381,6 @@
<a href="../ko/vhosts/details.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/details.html.tr.utf8 b/docs/manual/vhosts/details.html.tr.utf8
index ca525203..e5fc8828 100644
--- a/docs/manual/vhosts/details.html.tr.utf8
+++ b/docs/manual/vhosts/details.html.tr.utf8
@@ -392,6 +392,6 @@
<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/details.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/examples.html.en b/docs/manual/vhosts/examples.html.en
index 8a5d7c6a..01164312 100644
--- a/docs/manual/vhosts/examples.html.en
+++ b/docs/manual/vhosts/examples.html.en
@@ -657,6 +657,6 @@
<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/examples.html.fr b/docs/manual/vhosts/examples.html.fr
index 123560b8..a3915192 100644
--- a/docs/manual/vhosts/examples.html.fr
+++ b/docs/manual/vhosts/examples.html.fr
@@ -24,12 +24,10 @@
<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Le but de ce document est d'essayer de répondre aux questions
- les plus répandues sur la configuration des serveurs virtuels.
+ les plus répandues sur la configuration des <a href="index.html">serveurs virtuels</a>.
Les scénarios présentés ici se rencontrent quand plusieurs
serveurs Webs doivent tourner sur une seule et même machine au
moyen de serveurs virtuels <a href="name-based.html">par nom</a>
@@ -66,8 +64,8 @@
<p>Votre serveur ne dispose que d'une seule adresse IP, et de
nombreux alias (CNAMES) pointent vers cette adresse dans le DNS.
- Pour l'exemple, <code>www.example1.com</code> et
- <code>www.example2.org</code> doivent tourner sur cette machine.</p>
+ Pour l'exemple, <code>www.example.com</code> et
+ <code>www.example.org</code> doivent tourner sur cette machine.</p>
<div class="note"><h3>Note&nbsp;:</h3><p>La configuration de serveurs virtuels
sous Apache ne provoque pas leur apparition magique dans la
@@ -85,13 +83,13 @@
# Apache doit écouter sur le port 80<br />
Listen 80<br />
<br />
- # Toutes les adresses IP doivent répondre aux requêtes sur les
- # serveurs virtuels
+ # Toutes les adresses IP doivent répondre aux requêtes sur les <br />
+ # serveurs virtuels<br />
NameVirtualHost *:80<br />
<br />
&lt;VirtualHost *:80&gt;<br />
<span class="indent">
- DocumentRoot /www/example1<br />
+ DocumentRoot /www/example.com<br />
ServerName www.example1.com<br />
<br />
# Autres directives ici<br />
@@ -101,7 +99,7 @@
<br />
&lt;VirtualHost *:80&gt;<br />
<span class="indent">
- DocumentRoot /www/example2<br />
+ DocumentRoot /www/example.org<br />
ServerName www.example2.org<br />
<br />
# Autres directives ici<br />
@@ -112,10 +110,10 @@
<p>Les astérisques correspondent à toutes les adresses, si bien que
le serveur principal ne répondra jamais à aucune requête. Comme
- <code>www.example1.com</code> se trouve en premier dans le fichier
+ <code>www.example.com</code> se trouve en premier dans le fichier
de configuration, il a la plus grande priorité et peut être vu
comme serveur <cite>par défaut</cite> ou <cite>primaire</cite>&nbsp;;
- ce qui signifie que toute requête reçue ne correspondant pas à une
+ ce qui signifie que toute requête reçue ne correspondant à aucune
des directives <code>ServerName</code> sera servie par ce premier
<code>VirtualHost</code>.</p>
@@ -180,8 +178,8 @@
<br />
&lt;VirtualHost 172.20.30.50&gt;<br />
<span class="indent">
- DocumentRoot /www/example1<br />
- ServerName www.example1.com<br />
+ DocumentRoot /www/example.com<br />
+ ServerName www.example.com<br />
<br />
# D'autres directives ici ...<br />
<br />
@@ -190,8 +188,8 @@
<br />
&lt;VirtualHost 172.20.30.50&gt;<br />
<span class="indent">
- DocumentRoot /www/example2<br />
- ServerName www.example2.org<br />
+ DocumentRoot /www/example.org<br />
+ ServerName www.example.org<br />
<br />
# D'autres directives ici ...<br />
<br />
@@ -203,7 +201,7 @@
<code>172.20.30.50</code> sera servie par le serveur principal.
Les requêtes vers <code>172.20.30.50</code> avec un nom de serveur
inconnu, ou sans en-tête <code>Host:</code>, seront servies par
- <code>www.example1.com</code>.</p>
+ <code>www.example.com</code>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
@@ -276,28 +274,28 @@
<br />
&lt;VirtualHost 172.20.30.40:80&gt;<br />
<span class="indent">
- ServerName www.example1.com<br />
+ ServerName www.example.com<br />
DocumentRoot /www/domain-80<br />
</span>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost 172.20.30.40:8080&gt;<br />
<span class="indent">
- ServerName www.example1.com<br />
+ ServerName www.example.com<br />
DocumentRoot /www/domain-8080<br />
</span>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost 172.20.30.40:80&gt;<br />
<span class="indent">
- ServerName www.example2.org<br />
+ ServerName www.example.org<br />
DocumentRoot /www/otherdomain-80<br />
</span>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost 172.20.30.40:8080&gt;<br />
<span class="indent">
- ServerName www.example2.org<br />
+ ServerName www.example.org<br />
DocumentRoot /www/otherdomain-8080<br />
</span>
&lt;/VirtualHost&gt;
@@ -309,7 +307,7 @@
<p>Le serveur dispose de deux adresses IP (<code>172.20.30.40</code>
et <code>172.20.30.50</code>) correspondant respectivement aux noms
- <code>www.example1.com</code> et <code>www.example2.org</code>.</p>
+ <code>www.example.com</code> et <code>www.example.org</code>.</p>
<div class="example"><h3>Configuration du serveur</h3><p><code>
@@ -318,14 +316,14 @@
<br />
&lt;VirtualHost 172.20.30.40&gt;<br />
<span class="indent">
- DocumentRoot /www/example1<br />
+ DocumentRoot /www/example.com<br />
ServerName www.example1.com<br />
</span>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost 172.20.30.50&gt;<br />
<span class="indent">
- DocumentRoot /www/example2<br />
+ DocumentRoot /www/example.org<br />
ServerName www.example2.org<br />
</span>
&lt;/VirtualHost&gt;
@@ -343,7 +341,7 @@
<p>Le serveur dispose de deux adresses IP (<code>172.20.30.40</code>
et <code>172.20.30.50</code>) correspondant respectivement aux noms
- <code>www.example1.com</code> et <code>www.example2.org</code>.
+ <code>www.example.com</code> et <code>www.example.org</code>.
Pour chacun d'eux, nous voulons un hébergement sur les ports 80
et 8080.</p>
@@ -357,29 +355,29 @@
<br />
&lt;VirtualHost 172.20.30.40:80&gt;<br />
<span class="indent">
- DocumentRoot /www/example1-80<br />
- ServerName www.example1.com<br />
+ DocumentRoot /www/example.com-80<br />
+ ServerName www.example.com<br />
</span>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost 172.20.30.40:8080&gt;<br />
<span class="indent">
- DocumentRoot /www/example1-8080<br />
- ServerName www.example1.com<br />
+ DocumentRoot /www/example.com-8080<br />
+ ServerName www.example.com<br />
</span>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost 172.20.30.50:80&gt;<br />
<span class="indent">
- DocumentRoot /www/example2-80<br />
- ServerName www.example1.org<br />
+ DocumentRoot /www/example.org-80<br />
+ ServerName www.example.org<br />
</span>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost 172.20.30.50:8080&gt;<br />
<span class="indent">
- DocumentRoot /www/example2-8080<br />
- ServerName www.example2.org<br />
+ DocumentRoot /www/example.org-8080<br />
+ ServerName www.example.org<br />
</span>
&lt;/VirtualHost&gt;
</code></p></div>
@@ -401,37 +399,37 @@
<br />
&lt;VirtualHost 172.20.30.40&gt;<br />
<span class="indent">
- DocumentRoot /www/example1<br />
- ServerName www.example1.com<br />
+ DocumentRoot /www/example.com<br />
+ ServerName www.example.com<br />
</span>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost 172.20.30.40&gt;<br />
<span class="indent">
- DocumentRoot /www/example2<br />
- ServerName www.example2.org<br />
+ DocumentRoot /www/example.org<br />
+ ServerName www.example.org<br />
</span>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost 172.20.30.40&gt;<br />
<span class="indent">
- DocumentRoot /www/example3<br />
- ServerName www.example3.net<br />
+ DocumentRoot /www/example.net<br />
+ ServerName www.example.net<br />
</span>
&lt;/VirtualHost&gt;<br />
<br />
# "par-IP"<br />
&lt;VirtualHost 172.20.30.50&gt;<br />
<span class="indent">
- DocumentRoot /www/example4<br />
- ServerName www.example4.edu<br />
+ DocumentRoot /www/example.edu<br />
+ ServerName www.example.edu<br />
</span>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost 172.20.30.60&gt;<br />
<span class="indent">
- DocumentRoot /www/example5<br />
- ServerName www.example5.gov<br />
+ DocumentRoot /www/example.gov<br />
+ ServerName www.example.gov<br />
</span>
&lt;/VirtualHost&gt;
</code></p></div>
@@ -559,7 +557,7 @@
par nom en un serveur virtuel par IP</a></h2>
<p>Le serveur virtuel par nom avec le nom de domaine
- <code>www.example2.org</code> (de notre <a href="#name">exemple
+ <code>www.example.org</code> (de notre <a href="#name">exemple
par nom</a>) devrait obtenir sa propre adresse IP. Pendant la
phase de migration, il est possible d'éviter les problèmes avec
les noms de serveurs et autres serveurs mandataires qui mémorisent
@@ -572,24 +570,24 @@
Listen 80<br />
- ServerName www.example1.com<br />
- DocumentRoot /www/example1<br />
+ ServerName www.example.com<br />
+ DocumentRoot /www/example.com<br />
<br />
NameVirtualHost 172.20.30.40<br />
<br />
&lt;VirtualHost 172.20.30.40 172.20.30.50&gt;<br />
<span class="indent">
- DocumentRoot /www/example2<br />
- ServerName www.example2.org<br />
+ DocumentRoot /www/example.org<br />
+ ServerName www.example.org<br />
# ...<br />
</span>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost 172.20.30.40&gt;<br />
<span class="indent">
- DocumentRoot /www/example3<br />
- ServerName www.example3.net<br />
- ServerAlias *.example3.net<br />
+ DocumentRoot /www/example.net<br />
+ ServerName www.example.net<br />
+ ServerAlias *.example.net<br />
# ...<br />
</span>
&lt;/VirtualHost&gt;
@@ -660,12 +658,12 @@
Une requête sur une URL <code>http://www.sub1.domain.tld/</code> n'est
servie par le serveur sub1-vhost que si le client envoie un en-tête
<code>Host:</code> correct. Si aucun en-tête <code>Host:</code>
- n'est transmis, le serveur primaire sera utilisé.<br />
- Notez qu'il y a une singularité&nbsp;: une requête sur
+ n'est transmis, le serveur primaire sera utilisé.</p>
+ <p>Notez qu'il y a une singularité&nbsp;: une requête sur
<code>http://www.sub2.domain.tld/sub1/</code> est également servie
par le serveur sub1-vhost si le client n'envoie pas d'en-tête
- <code>Host:</code>.<br />
- Les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ <code>Host:</code>.</p>
+ <p>Les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
sont employées pour s'assurer que le client qui envoie un en-tête
<code>Host:</code> correct puisse utiliser d'autres variantes d'URLs,
<em>c'est-à-dire</em> avec ou sans préfixe d'URL.</p>
@@ -678,6 +676,6 @@
<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/examples.html.ja.utf8 b/docs/manual/vhosts/examples.html.ja.utf8
index 3436f66d..7e92cc20 100644
--- a/docs/manual/vhosts/examples.html.ja.utf8
+++ b/docs/manual/vhosts/examples.html.ja.utf8
@@ -647,6 +647,6 @@
<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/examples.html.ko.euc-kr b/docs/manual/vhosts/examples.html.ko.euc-kr
index 9f3788ce..d1132328 100644
--- a/docs/manual/vhosts/examples.html.ko.euc-kr
+++ b/docs/manual/vhosts/examples.html.ko.euc-kr
@@ -626,6 +626,6 @@
<a href="../ko/vhosts/examples.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/examples.html.tr.utf8 b/docs/manual/vhosts/examples.html.tr.utf8
index 1f0bcb42..917eb658 100644
--- a/docs/manual/vhosts/examples.html.tr.utf8
+++ b/docs/manual/vhosts/examples.html.tr.utf8
@@ -640,6 +640,6 @@
<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/examples.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/fd-limits.html.en b/docs/manual/vhosts/fd-limits.html.en
index 212902b3..2575fcf5 100644
--- a/docs/manual/vhosts/fd-limits.html.en
+++ b/docs/manual/vhosts/fd-limits.html.en
@@ -125,6 +125,6 @@ Each file will be called <code>hostname.log</code>.</p>
<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/fd-limits.html.fr b/docs/manual/vhosts/fd-limits.html.fr
index 1dcf815b..34315cd1 100644
--- a/docs/manual/vhosts/fd-limits.html.fr
+++ b/docs/manual/vhosts/fd-limits.html.fr
@@ -138,6 +138,6 @@ nommé <code>nomduserveur.log</code>.</p>
<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/fd-limits.html.ja.utf8 b/docs/manual/vhosts/fd-limits.html.ja.utf8
index 8169724f..cc605d14 100644
--- a/docs/manual/vhosts/fd-limits.html.ja.utf8
+++ b/docs/manual/vhosts/fd-limits.html.ja.utf8
@@ -122,6 +122,6 @@ split-logfile &lt; /logs/multiple_vhost_log
<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/fd-limits.html.ko.euc-kr b/docs/manual/vhosts/fd-limits.html.ko.euc-kr
index bcf345d8..be6dc87e 100644
--- a/docs/manual/vhosts/fd-limits.html.ko.euc-kr
+++ b/docs/manual/vhosts/fd-limits.html.ko.euc-kr
@@ -119,6 +119,6 @@ split-logfile &lt; /logs/multiple_vhost_log
<a href="../ko/vhosts/fd-limits.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/fd-limits.html.tr.utf8 b/docs/manual/vhosts/fd-limits.html.tr.utf8
index 32d75589..8651f49c 100644
--- a/docs/manual/vhosts/fd-limits.html.tr.utf8
+++ b/docs/manual/vhosts/fd-limits.html.tr.utf8
@@ -121,6 +121,6 @@
<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/fd-limits.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/index.html b/docs/manual/vhosts/index.html
index 07d53eaa..d375dacc 100644
--- a/docs/manual/vhosts/index.html
+++ b/docs/manual/vhosts/index.html
@@ -27,3 +27,7 @@ Content-type: text/html; charset=KOI8-R
URI: index.html.tr.utf8
Content-Language: tr
Content-type: text/html; charset=UTF-8
+
+URI: index.html.zh-cn
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/vhosts/index.html.de b/docs/manual/vhosts/index.html.de
index 13c96518..f22b8576 100644
--- a/docs/manual/vhosts/index.html.de
+++ b/docs/manual/vhosts/index.html.de
@@ -24,7 +24,8 @@
<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/vhosts/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Der Begriff <cite>virtueller Host</cite> <span class="transnote">(<em>Anm.d.Ü.:</em> engl. 'virtual
@@ -105,8 +106,9 @@
<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/vhosts/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/index.html.en b/docs/manual/vhosts/index.html.en
index 520f07d5..730277b8 100644
--- a/docs/manual/vhosts/index.html.en
+++ b/docs/manual/vhosts/index.html.en
@@ -24,7 +24,8 @@
<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/vhosts/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
@@ -105,8 +106,9 @@ hosts</a></li><li><a href="ip-based.html">IP-based virtual hosts</a></li><li><a
<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/vhosts/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/index.html.fr b/docs/manual/vhosts/index.html.fr
index b88d13c2..fb996605 100644
--- a/docs/manual/vhosts/index.html.fr
+++ b/docs/manual/vhosts/index.html.fr
@@ -24,7 +24,8 @@
<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/vhosts/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
@@ -106,8 +107,9 @@
<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/vhosts/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/index.html.ja.utf8 b/docs/manual/vhosts/index.html.ja.utf8
index 7eb56d5d..83939074 100644
--- a/docs/manual/vhosts/index.html.ja.utf8
+++ b/docs/manual/vhosts/index.html.ja.utf8
@@ -24,7 +24,8 @@
<a href="../ja/vhosts/" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/vhosts/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
@@ -100,8 +101,9 @@
<a href="../ja/vhosts/" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/vhosts/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/index.html.ko.euc-kr b/docs/manual/vhosts/index.html.ko.euc-kr
index 143341d1..c69d0f4b 100644
--- a/docs/manual/vhosts/index.html.ko.euc-kr
+++ b/docs/manual/vhosts/index.html.ko.euc-kr
@@ -24,7 +24,8 @@
<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/vhosts/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<div class="outofdate">ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù.
ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.</div>
@@ -103,8 +104,9 @@
<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/vhosts/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/index.html.ru.koi8-r b/docs/manual/vhosts/index.html.ru.koi8-r
index 74449384..8583f831 100644
--- a/docs/manual/vhosts/index.html.ru.koi8-r
+++ b/docs/manual/vhosts/index.html.ru.koi8-r
@@ -24,7 +24,8 @@
<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/vhosts/" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
@@ -100,8 +101,9 @@
<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/vhosts/" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">íÏÄÕÌÉ</a> | <a href="../mod/directives.html">äÉÒÅËÔÉ×Ù</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">çÌÏÓÓÁÒÉÊ</a> | <a href="../sitemap.html">ëÁÒÔÁ ÓÁÊÔÁ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/index.html.tr.utf8 b/docs/manual/vhosts/index.html.tr.utf8
index 29789893..1e7f6af1 100644
--- a/docs/manual/vhosts/index.html.tr.utf8
+++ b/docs/manual/vhosts/index.html.tr.utf8
@@ -24,7 +24,8 @@
<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/vhosts/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/vhosts/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/vhosts/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
@@ -101,8 +102,9 @@
<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../ru/vhosts/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
-<a href="../tr/vhosts/" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+<a href="../tr/vhosts/" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/index.html.zh-cn b/docs/manual/vhosts/index.html.zh-cn
new file mode 100644
index 00000000..c5530017
--- /dev/null
+++ b/docs/manual/vhosts/index.html.zh-cn
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache 虚拟主机文档 - Apache HTTP æœåŠ¡å™¨</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP æœåŠ¡å™¨ç‰ˆæœ¬ 2.2</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP æœåŠ¡å™¨</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache 虚拟主机文档</h1>
+<div class="toplang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/vhosts/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../ru/vhosts/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+
+ <p>术语<cite>虚拟主机</cite>指的是在å•ä¸€æœºå™¨ä¸Šè¿è¡Œå¤šä¸ªç½‘ç«™
+ (例如 <code>www.company1.com</code> 和
+ <code>www.company2.com</code>) 。
+ 虚拟主机å¯ä»¥â€œ<a href="ip-based.html">基于 IP</a>â€ï¼Œå³æ¯ä¸ª IP 一个站点;
+ 或者“<a href="name-based.html">基于å称</a>â€ï¼Œ
+ å³æ¯ä¸ª IP 多个站点。这些站点è¿è¡Œåœ¨åŒä¸€ç‰©ç†æœåŠ¡å™¨ä¸Šçš„事实ä¸ä¼šæ˜Žæ˜¾çš„é€æ¼ç»™æœ€ç»ˆç”¨æˆ·ã€‚</p>
+
+ <p>Apache 是第一个支æŒåŸºäºŽ IP 的虚拟主机的æœåŠ¡å™¨ã€‚
+ Apache 版本 1.1 和更新的版本åŒæ—¶æ”¯æŒåŸºäºŽ IP 和基于å称的虚拟主机。
+ 基于å称的虚拟主机有时候称为<em>基于主机</em>或<em>éž IP</em> 的虚拟主机.</p>
+
+ <p>以下是在 Apache 1.3 以åŠæ›´æ–°ç‰ˆæœ¬ä¸­ï¼Œè§£é‡Šæ”¯æŒè™šæ‹Ÿä¸»æœºçš„所有详细信æ¯çš„文档页é¢åˆ—表。</p>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#support">虚拟主机支æŒ</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#directives">é…置指令</a></li>
+</ul><h3>å‚è§</h3><ul class="seealso"><li><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li><li><a href="name-based.html">基于å称的虚拟主机</a></li><li><a href="ip-based.html">基于 IP 的虚拟主机</a></li><li><a href="examples.html">虚拟主机样例</a></li><li><a href="fd-limits.html">文件å¥æŸ„é™åˆ¶</a></li><li><a href="mass.html">动æ€é…置的大规模虚拟主机</a></li><li><a href="details.html">虚拟主机匹é…的深入讨论</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="support" id="support">虚拟主机支æŒ</a></h2>
+
+ <ul>
+ <li><a href="name-based.html">基于å称的虚拟主机</a> (æ¯ä¸ª IP 多个站点)</li>
+ <li><a href="ip-based.html">基于 IP 的虚拟主机</a> (æ¯ä¸ª IP 一个站点)</li>
+ <li><a href="examples.html">虚拟主机样例</a></li>
+ <li><a href="fd-limits.html">文件å¥æŸ„é™åˆ¶</a> (或者<em>日志文件太多</em>)</li>
+ <li><a href="mass.html">动æ€é…置的大规模虚拟主机</a></li>
+ <li><a href="details.html">虚拟主机匹é…的深入讨论</a></li>
+ </ul>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="directives" id="directives">é…置指令</a></h2>
+
+ <ul>
+ <li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li>
+ <li><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code></li>
+ <li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li>
+ <li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li>
+ <li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li>
+ </ul>
+
+ <p>如果你è¦è°ƒè¯•è™šæ‹Ÿä¸»æœºé…置,你会å‘现 Apache 的命令行å‚æ•° <code>-S</code>
+ éžå¸¸æœ‰ç”¨ã€‚å³è¾“入以下命令:</p>
+
+ <div class="example"><p><code>
+ /usr/local/apache2/bin/httpd -S
+ </code></p></div>
+
+ <p>这个命令将会显示 Apache 是如何解æžé…置文件的。仔细检查 IP
+ 地å€ä¸ŽæœåŠ¡å™¨å称å¯èƒ½ä¼šå¸®åŠ©ä½ å‘现é…置错误
+ (å‚è§ <code class="program"><a href="../programs/httpd.html">httpd</a></code> 程åºæ–‡æ¡£ï¼Œä»¥ä¾¿äº†è§£å…¶å®ƒå‘½ä»¤è¡Œé€‰é¡¹)。</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>å¯ç”¨è¯­è¨€: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
+<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/vhosts/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../ru/vhosts/" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/vhosts/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许å¯è¯.</p>
+<p class="menu"><a href="../mod/">模å—</a> | <a href="../mod/directives.html">指令</a> | <a href="../faq/">常è§é—®é¢˜</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/ip-based.html.en b/docs/manual/vhosts/ip-based.html.en
index 00796abe..2b37170d 100644
--- a/docs/manual/vhosts/ip-based.html.en
+++ b/docs/manual/vhosts/ip-based.html.en
@@ -159,6 +159,6 @@
<a href="../ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/ip-based.html.fr b/docs/manual/vhosts/ip-based.html.fr
index e7005d89..afa38b48 100644
--- a/docs/manual/vhosts/ip-based.html.fr
+++ b/docs/manual/vhosts/ip-based.html.fr
@@ -179,6 +179,6 @@ résident pour des serveurs virtuels</a></h2>
<a href="../ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/ip-based.html.ja.utf8 b/docs/manual/vhosts/ip-based.html.ja.utf8
index 475fbcca..e4717ba1 100644
--- a/docs/manual/vhosts/ip-based.html.ja.utf8
+++ b/docs/manual/vhosts/ip-based.html.ja.utf8
@@ -155,6 +155,6 @@
<a href="../ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/ip-based.html.ko.euc-kr b/docs/manual/vhosts/ip-based.html.ko.euc-kr
index 611f664c..3c298209 100644
--- a/docs/manual/vhosts/ip-based.html.ko.euc-kr
+++ b/docs/manual/vhosts/ip-based.html.ko.euc-kr
@@ -149,6 +149,6 @@
<a href="../ko/vhosts/ip-based.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/ip-based.html.tr.utf8 b/docs/manual/vhosts/ip-based.html.tr.utf8
index ea4ce3a9..721289c3 100644
--- a/docs/manual/vhosts/ip-based.html.tr.utf8
+++ b/docs/manual/vhosts/ip-based.html.tr.utf8
@@ -163,6 +163,6 @@
<a href="../ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/ip-based.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/mass.html.en b/docs/manual/vhosts/mass.html.en
index 035cc5de..12c11a82 100644
--- a/docs/manual/vhosts/mass.html.en
+++ b/docs/manual/vhosts/mass.html.en
@@ -428,6 +428,6 @@ RewriteRule ^/(.*)$ %1/cgi-bin/$1
<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/mass.html.ko.euc-kr b/docs/manual/vhosts/mass.html.ko.euc-kr
index e05b83bf..b3be4444 100644
--- a/docs/manual/vhosts/mass.html.ko.euc-kr
+++ b/docs/manual/vhosts/mass.html.ko.euc-kr
@@ -420,6 +420,6 @@ RewriteRule ^/(.*)$ %1/cgi-bin/$1
<a href="../ko/vhosts/mass.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/mass.html.tr.utf8 b/docs/manual/vhosts/mass.html.tr.utf8
index fa124773..6a4fce7c 100644
--- a/docs/manual/vhosts/mass.html.tr.utf8
+++ b/docs/manual/vhosts/mass.html.tr.utf8
@@ -411,6 +411,6 @@ RewriteRule ^/(.*)$ %1/cgi-bin/$1
<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/mass.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/name-based.html.de b/docs/manual/vhosts/name-based.html.de
index 730ac438..5e6a5eb0 100644
--- a/docs/manual/vhosts/name-based.html.de
+++ b/docs/manual/vhosts/name-based.html.de
@@ -268,6 +268,6 @@
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/name-based.html.en b/docs/manual/vhosts/name-based.html.en
index 71d761bd..e0905de7 100644
--- a/docs/manual/vhosts/name-based.html.en
+++ b/docs/manual/vhosts/name-based.html.en
@@ -48,26 +48,12 @@
IP address and then configure the Apache HTTP Server to recognize
the different hostnames. Name-based virtual hosting also eases
the demand for scarce IP addresses. Therefore you should use
- name-based virtual hosting unless there is a specific reason to
- choose IP-based virtual hosting. Some reasons why you might consider
- using IP-based virtual hosting:</p>
-
- <ul>
- <li>Some ancient clients are not compatible with name-based virtual
- hosting. For name-based virtual hosting to work, the client must send
- the HTTP Host header. This is required by HTTP/1.1, and is
- implemented by all modern HTTP/1.0 browsers as an extension. If you
- need to support obsolete clients and still use name-based virtual
- hosting, a possible technique is discussed at the end of this
- document.</li>
-
- <li>Name-based virtual hosting cannot be used with SSL secure servers
- because of the nature of the SSL protocol.</li>
-
- <li>Some operating systems and network equipment implement bandwidth
- management techniques that cannot differentiate between hosts unless
- they are on separate IP addresses.</li>
- </ul>
+ name-based virtual hosting unless you are using equipment
+ that explicitly demands IP-based hosting. Historical reasons for
+ IP-based virtual hosting based on client support are no longer
+ applicable to a general-purpose web server, unless you are
+ using a <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> version without SNI support
+ (standard in Apache releases since 2.2.12).</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
@@ -243,6 +229,6 @@
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/name-based.html.fr b/docs/manual/vhosts/name-based.html.fr
index c109037e..d8f86108 100644
--- a/docs/manual/vhosts/name-based.html.fr
+++ b/docs/manual/vhosts/name-based.html.fr
@@ -25,8 +25,6 @@
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Ce document décrit quand et comment utiliser des serveurs
virtuels par nom.</p>
@@ -42,7 +40,7 @@
<p>Les hébergements virtuels par IP utilisent l'adresse IP
de la connexion afin de déterminer quel serveur virtuel doit
répondre. Par conséquent, vous devez disposer d'adresses IP
- différentes pour chaque nom de domaine complet (FQDN) que vous hébergez.
+ différentes pour chaque serveur.
Avec un hébergement
virtuel par nom, le serveur s'appuit sur les informations
transmises par le client dans les en-têtes HTTP de ses requêtes.
@@ -55,29 +53,12 @@
configurer votre serveur Apache HTTP afin qu'il reconnaisse
ces domaines. Il réduit aussi la pénurie en adresses IP. Par
conséquent, vous devriez utiliser l'hébergement virtuel par
- nom à moins d'avoir une raison spécifique de préférer
- l'hébergement virtuel par IP. Certaines de ces raisons vous
- sont exposées ci-après&nbsp;:</p>
-
- <ul>
- <li>Certains anciens navigateurs ne sont pas compatibles
- avec les serveurs virtuels par nom, car pour fonctionner,
- un client doit transmettre un champ d'en-tête HTTP Host.
- Cet en-tête est exigé pour HTTP/1.1, et peut être implémenté
- sur des navigateurs modernes HTTP/1.0 grâce à une extension.
- Si vous devez maintenir des clients obsolètes tout en
- utilisant l'hébergement virtuel par nom, il existe une
- technique qui est traitée à la fin de ce document.</li>
-
- <li>L'hébergement virtuel par nom ne peut pas être utilisé
- avec des serveurs sécurisés SSL à cause de la nature même
- du protocole SSL.</li>
-
- <li>Certains systèmes d'exploitation et équipements réseaux
- emploient des techniques de gestion de la bande passante
- qui ne peuvent pas différencier des domaines autrement que
- par des adresses IP séparées.</li>
- </ul>
+ nom, sauf dans le cas où vous utiliseriez des équipements qui
+ nécessitent un hébergement basé sur IP. Les raisons historiques de
+ l'hébergement basé sur IP dans un but de support de certains clients ne
+ s'appliquent plus à un serveur web d'usage général, sauf si vous
+ utilisez une version de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> sans support SNI
+ (situation standard depuis la version 2.2.12 d'Apache).</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
@@ -99,7 +80,8 @@
IP dans une directive
<code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> ne suffit
pas à faire écouter le serveur sur cette IP. Consultez
- <a href="../bind.html">la page sur les liaisons</a> pour plus
+ <a href="../bind.html">Définition des adresses et ports qu'utilise
+ Apache</a> pour plus
de détails. Par ailleurs, chaque adresse IP spécifiée ici doit
être associée avec une interface réseau sur le serveur.</p>
@@ -109,8 +91,7 @@
<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
doit être le même que celui de la directive
<code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
- (c'est-à-dire l'adresse IP ou <code>*</code> pour toutes les
- adresses). Dans chaque section
+ (dans le cas présent "*:80"). Dans chaque section
<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>,
vous devez définir au minimum une directive
<code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour désigner
@@ -196,8 +177,8 @@
La plupart des directives peut être placée dans ces sections en
y changeant seulement la configuration du serveur virtuel associé.
Pour déterminer si une directive particulière est permise,
- consultez <a href="../mod/directive-dict.html#Context">la page de
- contexte</a>. Le jeu de directives configurées dans le contexte
+ consultez le <a href="../mod/directive-dict.html#Context">contexte</a> de la
+ directive. Le jeu de directives configurées dans le contexte
du <em>serveur principal</em> (en dehors de toutes sections
<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>)
sera utilisé seulement s'il n'y a pas de configuration contraire
@@ -217,14 +198,14 @@
dont l'adresse IP correspond sera employé.</p>
<p>En conséquence, le premier serveur virtuel listé est le
- serveur virtuel <em>default</em>. La directive
+ serveur virtuel <em>par défaut</em>. La directive
<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> du
<em>serveur principal</em> <strong>ne</strong> sera
<strong>jamais</strong> employée lorsqu'une adresse IP
- correspond dans une directive
+ correspond à la directive
<code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si vous
- ne voulez pas avoir de configuration spéciale pour les requêtes
- qui ne sont pas attachées à un serveur virtuel en particulier,
+ souhaiter avoir une configuration spéciale pour les requêtes
+ qui ne correspondent pas à un serveur virtuel en particulier,
mettez cette configuration dans une section
<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
que vous placerez en premier dans le fichier de configuration.</p>
@@ -235,13 +216,13 @@
<p>Comme mentionné plus tôt, certains clients ne transmettent
pas les données nécessaires pour le bon fonctionnement des
- serveurs virtuels. Ces clients recevront toujours les pages
+ serveurs virtuels par nom. Ces clients recevront toujours les pages
du premier serveur virtuel listé pour cette adresse IP (le
serveur virtuel par nom <cite>primaire</cite>).</p>
<div class="note"><h3>De combien plus anciens&nbsp;?</h3>
<p>Veuillez noter que quand nous disons plus anciens, nous
- disons vraiment plus anciens. Vous seriez malchanceux de rencontrer
+ disons vraiment plus anciens. Vous avez peu de chances de rencontrer
de tels navigateurs encore utilisés de nos jours. Toutes les
versions actuelles des navigateurs transmettent leur en-tête
<code>Host</code> comme exigé par les serveurs virtuels par nom.</p>
@@ -277,7 +258,7 @@
<p>Pour rendre cette technique fonctionnelle, mettez un lien
dans votre serveur virtuel primaire vers
<code>http://www.domain.tld/domain/</code>. Ensuite, dans les
- pages de ce serveur virtuel, assurez vous ne n'utiliser que
+ pages de ce serveur virtuel, assurez vous de n'utiliser que
des liens relatifs (<em>par exemple</em>, "<code>file.html</code>"
ou "<code>../icons/image.gif</code>") ou des liens contenant
le préfixe <code>/domain/</code> (<em>par exemple</em>,
@@ -297,6 +278,6 @@
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/name-based.html.ja.utf8 b/docs/manual/vhosts/name-based.html.ja.utf8
index 2e208609..b759ba11 100644
--- a/docs/manual/vhosts/name-based.html.ja.utf8
+++ b/docs/manual/vhosts/name-based.html.ja.utf8
@@ -270,6 +270,6 @@
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/name-based.html.ko.euc-kr b/docs/manual/vhosts/name-based.html.ko.euc-kr
index 0eae5339..efa55088 100644
--- a/docs/manual/vhosts/name-based.html.ko.euc-kr
+++ b/docs/manual/vhosts/name-based.html.ko.euc-kr
@@ -235,6 +235,6 @@
<a href="../ko/vhosts/name-based.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/directives.html">Áö½Ã¾îµé</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div>
</body></html> \ No newline at end of file
diff --git a/docs/manual/vhosts/name-based.html.tr.utf8 b/docs/manual/vhosts/name-based.html.tr.utf8
index 22e71464..783e3b59 100644
--- a/docs/manual/vhosts/name-based.html.tr.utf8
+++ b/docs/manual/vhosts/name-based.html.tr.utf8
@@ -52,28 +52,12 @@ Barındırma</a></li><li><a href="examples.html">Çok kullanılan sanal konak ya
ismini doğru IP adresiyle eşlemek için DNS sunucunuzu yapılandırdıktan
sonra Apache HTTP sunucusunu farklı konak isimlerini tanıyacak şekilde
yapılandırmanız yeterli olur. İsme dayalı sanal barındırma ayrıca zaten
- kıt olan IP adreslerine talebi de azaltır. Bu nedenle, IP’ye dayalı sanal
- konakları kullanmanızı gerektirecek çok özel bir sebep olmadıkça isme
- dayalı sanal konaklar kullanmalısınız. IP’ye dayalı sanal konakların
- kullanımını gerektirebilecek bazı durumlar:</p>
-
- <ul>
- <li>Bazı tarihi istemciler isme dayalı sanal konaklarla uyumlu değildir.
- İsme dayalı sanal konakların çalışması için istemcinin HTTP Host
- başlığı göndermesi gerekir. Bu da HTTP/1.1 desteği gerektirir.
- Günümüzdeki HTTP/1.0 istemcileri bir eklenti olarak HTTP/1.1’i de
- desteklemektedir. Tarihi eser haline gelmiÅŸ HTTP/1.1 desteÄŸi
- bulurmayan eski istemcileri hala isme dayalı sanal konaklarla
- desteklemek isterseniz bu belgenin sonunda bunu mümkün kılabilecek bir
- tekniÄŸe yer verilmiÅŸtir.</li>
-
- <li>İsme dayalı sanal konaklar SSL portokolünün doğası gereğince SSL’li
- güvenli sunucular için kullanılamazlar.</li>
-
- <li>Bazı işletim sistemlerinin ve ağ donanımlarının gerçekleştirdiği
- band genişliği yönetim teknikleri IP adresleri farklı olmadığı sürece
- konaklar arasında ayrım yapamazlar.</li>
- </ul>
+ kıt olan IP adreslerine talebi de azaltır. Bu nedenle, açıkça IP’ye dayalı
+ sanal konakları talep eden donanım kullanmadıkça isme dayalı sanal konaklar
+ kullanmalısınız. SNI desteksiz bir <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> sürümü
+ (Apache'nin 2.2.12 sürümüne kadar standart) kullanmıyorsanız, istemci
+ desteğine bağlı IP’ye dayalı sanal konaklar için geçerli tarihsel sebepler,
+ genel amaçlı bir HTTP sunucusu için artık uygulanabilir değildir.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
@@ -251,6 +235,6 @@ Barındırma</a></li><li><a href="examples.html">Çok kullanılan sanal konak ya
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/name-based.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
-<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html> \ No newline at end of file
diff --git a/httpd.dep b/httpd.dep
new file mode 100644
index 00000000..78c5aa3d
--- /dev/null
+++ b/httpd.dep
@@ -0,0 +1,42 @@
+# Microsoft Developer Studio Generated Dependency File, included by httpd.mak
+
+.\build\win32\httpd.rc : \
+ ".\include\ap_release.h"\
+
+
+.\server\main.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_mpm.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\http_vhost.h"\
+ ".\include\httpd.h"\
+ ".\include\mpm.h"\
+ ".\include\mpm_common.h"\
+ ".\include\os.h"\
+ ".\include\scoreboard.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_ebcdic.h"\
+ ".\include\util_filter.h"\
+ ".\srclib\apr-util\include\apr_buckets.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_md5.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr-util\include\apu_version.h"\
+ ".\srclib\apr\include\apr_getopt.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+ ".\srclib\apr\include\apr_version.h"\
+
diff --git a/httpd.mak b/httpd.mak
new file mode 100644
index 00000000..6ac1cbd9
--- /dev/null
+++ b/httpd.mak
@@ -0,0 +1,344 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on httpd.dsp
+!IF "$(CFG)" == ""
+CFG=httpd - Win32 Release
+!MESSAGE No configuration specified. Defaulting to httpd - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "httpd - Win32 Release" && "$(CFG)" != "httpd - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "httpd.mak" CFG="httpd - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "httpd - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "httpd - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "httpd - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\httpd.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\httpd.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\httpd.idb"
+ -@erase "$(INTDIR)\httpd.res"
+ -@erase "$(INTDIR)\main.obj"
+ -@erase "$(OUTDIR)\httpd.exe"
+ -@erase "$(OUTDIR)\httpd.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "./srclib/apr/include" /I "./srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\httpd" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\httpd.res" /i "./include" /i "./srclib/apr/include" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="httpd.exe" /d LONG_NAME="Apache HTTP Server" /d ICON_FILE="apache.ico"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\httpd.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib mswsock.lib /nologo /stack:0x40000 /subsystem:console /incremental:no /pdb:"$(OUTDIR)\httpd.pdb" /debug /out:"$(OUTDIR)\httpd.exe" /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\main.obj" \
+ "$(INTDIR)\httpd.res" \
+ ".\srclib\apr\Release\libapr-1.lib" \
+ ".\srclib\apr-util\Release\libaprutil-1.lib" \
+ "$(OUTDIR)\libhttpd.lib"
+
+"$(OUTDIR)\httpd.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\httpd.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\httpd.exe"
+ if exist .\Release\httpd.exe.manifest mt.exe -manifest .\Release\httpd.exe.manifest -outputresource:.\Release\httpd.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "httpd - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\httpd.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\httpd.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\httpd.idb"
+ -@erase "$(INTDIR)\httpd.res"
+ -@erase "$(INTDIR)\main.obj"
+ -@erase "$(OUTDIR)\httpd.exe"
+ -@erase "$(OUTDIR)\httpd.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "./include" /I "./srclib/apr/include" /I "./srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\httpd" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\httpd.res" /i "./include" /i "./srclib/apr/include" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="httpd.exe" /d LONG_NAME="Apache HTTP Server" /d ICON_FILE="apache.ico"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\httpd.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib mswsock.lib /nologo /stack:0x40000 /subsystem:console /incremental:no /pdb:"$(OUTDIR)\httpd.pdb" /debug /out:"$(OUTDIR)\httpd.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\main.obj" \
+ "$(INTDIR)\httpd.res" \
+ ".\srclib\apr\Debug\libapr-1.lib" \
+ ".\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "$(OUTDIR)\libhttpd.lib"
+
+"$(OUTDIR)\httpd.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\httpd.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\httpd.exe"
+ if exist .\Debug\httpd.exe.manifest mt.exe -manifest .\Debug\httpd.exe.manifest -outputresource:.\Debug\httpd.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("httpd.dep")
+!INCLUDE "httpd.dep"
+!ELSE
+!MESSAGE Warning: cannot find "httpd.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "httpd - Win32 Release" || "$(CFG)" == "httpd - Win32 Debug"
+
+!IF "$(CFG)" == "httpd - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\.."
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\.."
+
+!ELSEIF "$(CFG)" == "httpd - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\.."
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\.."
+
+!ENDIF
+
+!IF "$(CFG)" == "httpd - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\.."
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\.."
+
+!ELSEIF "$(CFG)" == "httpd - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\.."
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\.."
+
+!ENDIF
+
+!IF "$(CFG)" == "httpd - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd "."
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "httpd - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd "."
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=.\build\win32\httpd.rc
+
+!IF "$(CFG)" == "httpd - Win32 Release"
+
+
+"$(INTDIR)\httpd.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\httpd.res" /i "./include" /i "./srclib/apr/include" /i "build\win32" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="httpd.exe" /d LONG_NAME="Apache HTTP Server" /d ICON_FILE="apache.ico" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "httpd - Win32 Debug"
+
+
+"$(INTDIR)\httpd.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\httpd.res" /i "./include" /i "./srclib/apr/include" /i "build\win32" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="httpd.exe" /d LONG_NAME="Apache HTTP Server" /d ICON_FILE="apache.ico" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\server\main.c
+
+"$(INTDIR)\main.obj" : $(SOURCE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+
+!ENDIF
+
diff --git a/httpd.spec b/httpd.spec
index 7623aacd..e70d12de 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -5,7 +5,7 @@
Summary: Apache HTTP Server
Name: httpd
-Version: 2.2.17
+Version: 2.2.19
Release: 1
URL: http://httpd.apache.org/
Vendor: Apache Software Foundation
@@ -15,7 +15,7 @@ Group: System Environment/Daemons
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildPrereq: apr-devel, apr-util-devel, openldap-devel, db4-devel, expat-devel, findutils, perl, pkgconfig, pcre-devel >= 5.0
BuildPrereq: /usr/bin/apr-1-config, /usr/bin/apu-1-config
-Requires: apr >= 1.2.0, apr-util >= 1.2.0, pcre >= 5.0, gawk, /usr/share/magic.mime, /usr/bin/find, openldap
+Requires: apr >= 1.4.2, apr-util >= 1.3.10, pcre >= 5.0, gawk, /usr/bin/find, openldap
Prereq: /sbin/chkconfig, /bin/mktemp, /bin/rm, /bin/mv
Prereq: sh-utils, textutils, /usr/sbin/useradd
Provides: webserver
@@ -33,7 +33,7 @@ Group: Development/Libraries
Summary: Development tools for the Apache HTTP server.
Obsoletes: secureweb-devel, apache-devel
Requires: libtool, httpd = %{version}
-Requires: apr-devel >= 1.2.0, apr-util-devel >= 1.2.0
+Requires: apr-devel >= 1.4.2, apr-util-devel >= 1.3.10
%description devel
The httpd-devel package contains the APXS binary and other files
@@ -215,8 +215,8 @@ fi
%post -n mod_ssl
umask 077
-if [ ! -f %{_sysconfdir}/httpd/conf/ssl.key/server.key ] ; then
-%{_bindir}/openssl genrsa -rand /proc/apm:/proc/cpuinfo:/proc/dma:/proc/filesystems:/proc/interrupts:/proc/ioports:/proc/pci:/proc/rtc:/proc/uptime 1024 > %{_sysconfdir}/httpd/conf/ssl.key/server.key 2> /dev/null
+if [ ! -f %{_sysconfdir}/httpd/conf/server.key ] ; then
+%{_bindir}/openssl genrsa -rand /proc/apm:/proc/cpuinfo:/proc/dma:/proc/filesystems:/proc/interrupts:/proc/ioports:/proc/pci:/proc/rtc:/proc/uptime 1024 > %{_sysconfdir}/httpd/conf/server.key 2> /dev/null
fi
FQDN=`hostname`
@@ -224,8 +224,8 @@ if [ "x${FQDN}" = "x" ]; then
FQDN=localhost.localdomain
fi
-if [ ! -f %{_sysconfdir}/httpd/conf/ssl.crt/server.crt ] ; then
-cat << EOF | %{_bindir}/openssl req -new -key %{_sysconfdir}/httpd/conf/ssl.key/server.key -x509 -days 365 -out %{_sysconfdir}/httpd/conf/ssl.crt/server.crt 2>/dev/null
+if [ ! -f %{_sysconfdir}/httpd/conf/server.crt ] ; then
+cat << EOF | %{_bindir}/openssl req -new -key %{_sysconfdir}/httpd/conf/server.key -x509 -days 365 -out %{_sysconfdir}/httpd/conf/server.crt 2>/dev/null
--
SomeState
SomeCity
@@ -370,154 +370,3 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/httpd/build/config.nice
%{_libdir}/httpd/build/mkdir.sh
-%changelog
-* Mon Mar 27 2006 Graham Leggett <minfrin@apache.org> 2.2.1-dev
-- Update dependancies on apr and apr-util to at least v1.2.0.
-- Add the missing file-cache module to the cache build.
-
-* Fri Aug 26 2005 Graham Leggett <minfrin@apache.org> 2.1.7
-- Deleting the xml doc files is no longer necessary.
-- Add httxt2dbm to the sbin directory
-
-* Sat Jul 2 2005 Graham Leggett <minfrin@apache.org> 2.1.7-dev
-- Fixed complaints about unpackaged files with new config file changes.
-
-* Thu Dec 16 2004 Graham Leggett <minfrin@apache.org> 2.1.3-dev
-- Changed build to use external apr and apr-util
-
-* Thu May 20 2004 Graham Leggett <minfrin@apache.org> 2.0.50-dev
-- Changed default dependancy to link to db4 instead of db3.
-- Fixed complaints about unpackaged files.
-
-* Sat Apr 5 2003 Graham Leggett <minfrin@apache.org> 2.0.46-dev
-- Moved mime.types back to the default location.
-- Added mod_ldap and friends, mod_cache and friends.
-- Added openldap dependancy.
-
-* Sun Mar 30 2003 Graham Leggett <minfrin@apache.org> 2.0.45-1
-- Created generic Apache rpm spec file from that donated by Redhat.
-- Removed Redhat specific patches and boilerplate files.
-- Removed SSL related Makefiles.
-
-* Mon Feb 24 2003 Joe Orton <jorton@redhat.com> 2.0.40-21
-- add security fix for CAN-2003-0020; replace non-printable characters
- with '!' when printing to error log.
-- disable debuginfo on IA64.
-
-* Tue Feb 11 2003 Joe Orton <jorton@redhat.com> 2.0.40-20
-- disable POSIX semaphores to support 2.4.18 kernel (#83324)
-
-* Wed Jan 29 2003 Joe Orton <jorton@redhat.com> 2.0.40-19
-- require xmlto 0.0.11 or later
-- fix apr_strerror on glibc2.3
-
-* Wed Jan 22 2003 Tim Powers <timp@redhat.com> 2.0.40-18
-- rebuilt
-
-* Thu Jan 16 2003 Joe Orton <jorton@redhat.com> 2.0.40-17
-- add mod_cgid and httpd binary built with worker MPM (#75496)
-- allow choice of httpd binary in init script
-- pick appropriate CGI module based on loaded MPM in httpd.conf
-- source /etc/sysconfig/httpd in apachectl to get httpd choice
-- make "apachectl status" fail gracefully when links isn't found (#78159)
-
-* Mon Jan 13 2003 Joe Orton <jorton@redhat.com> 2.0.40-16
-- rebuild for OpenSSL 0.9.7
-
-* Fri Jan 3 2003 Joe Orton <jorton@redhat.com> 2.0.40-15
-- fix possible infinite recursion in config dir processing (#77206)
-- fix memory leaks in request body processing (#79282)
-
-* Thu Dec 12 2002 Joe Orton <jorton@redhat.com> 2.0.40-14
-- remove unstable shmht session cache from mod_ssl
-- get SSL libs from pkg-config if available (Nalin Dahyabhai)
-- stop "apxs -a -i" from inserting AddModule into httpd.conf (#78676)
-
-* Wed Nov 6 2002 Joe Orton <jorton@redhat.com> 2.0.40-13
-- fix location of installbuilddir in apxs when libdir!=/usr/lib
-
-* Wed Nov 6 2002 Joe Orton <jorton@redhat.com> 2.0.40-12
-- pass libdir to configure; clean up config_vars.mk
-- package instdso.sh, fixing apxs -i (#73428)
-- prevent build if upstream MMN differs from mmn macro
-- remove installed but unpackaged files
-
-* Wed Oct 9 2002 Joe Orton <jorton@redhat.com> 2.0.40-11
-- correct SERVER_NAME encoding in i18n error pages (thanks to Andre Malo)
-
-* Wed Oct 9 2002 Joe Orton <jorton@redhat.com> 2.0.40-10
-- fix patch for CAN-2002-0840 to also cover i18n error pages
-
-* Wed Oct 2 2002 Joe Orton <jorton@redhat.com> 2.0.40-9
-- security fixes for CAN-2002-0840 and CAN-2002-0843
-- fix for possible mod_dav segfault for certain requests
-
-* Tue Sep 24 2002 Gary Benson <gbenson@redhat.com>
-- updates to the migration guide
-
-* Wed Sep 4 2002 Nalin Dahyabhai <nalin@redhat.com> 2.0.40-8
-- link httpd with libssl to avoid library loading/unloading weirdness
-
-* Tue Sep 3 2002 Joe Orton <jorton@redhat.com> 2.0.40-7
-- add LoadModule lines for proxy modules in httpd.conf (#73349)
-- fix permissions of conf/ssl.*/ directories; add Makefiles for
- certificate management (#73352)
-
-* Mon Sep 2 2002 Joe Orton <jorton@redhat.com> 2.0.40-6
-- provide "httpd-mmn" to manage module ABI compatibility
-
-* Sun Sep 1 2002 Joe Orton <jorton@redhat.com> 2.0.40-5
-- fix SSL session cache (#69699)
-- revert addition of LDAP support to apr-util
-
-* Mon Aug 26 2002 Joe Orton <jorton@redhat.com> 2.0.40-4
-- set SIGXFSZ disposition to "ignored" (#69520)
-- make dummy connections to the first listener in config (#72692)
-
-* Mon Aug 26 2002 Joe Orton <jorton@redhat.com> 2.0.40-3
-- allow "apachectl configtest" on a 1.3 httpd.conf
-- add mod_deflate
-- enable LDAP support in apr-util
-- don't package everything in /var/www/error as config(noreplace)
-
-* Wed Aug 21 2002 Bill Nottingham <notting@redhat.com> 2.0.40-2
-- add trigger (#68657)
-
-* Mon Aug 12 2002 Joe Orton <jorton@redhat.com> 2.0.40-1
-- update to 2.0.40
-
-* Wed Jul 24 2002 Joe Orton <jorton@redhat.com> 2.0.36-8
-- improve comment on use of UserDir in default config (#66886)
-
-* Wed Jul 10 2002 Joe Orton <jorton@redhat.com> 2.0.36-7
-- use /sbin/nologin as shell for apache user (#68371)
-- add patch from CVS to fix possible infinite loop when processing
- internal redirects
-
-* Wed Jun 26 2002 Gary Benson <gbenson@redhat.com> 2.0.36-6
-- modify init script to detect 1.3.x httpd.conf's and direct users
- to the migration guide
-
-* Tue Jun 25 2002 Gary Benson <gbenson@redhat.com> 2.0.36-5
-- patch apachectl to detect 1.3.x httpd.conf's and direct users
- to the migration guide
-- ship the migration guide
-
-* Fri Jun 21 2002 Joe Orton <jorton@redhat.com>
-- move /etc/httpd2 back to /etc/httpd
-- add noindex.html page and poweredby logo; tweak default config
- to load noindex.html if no default "/" page is present.
-- add patch to prevent mutex errors on graceful restart
-
-* Fri Jun 21 2002 Tim Powers <timp@redhat.com> 2.0.36-4
-- automated rebuild
-
-* Wed Jun 12 2002 Joe Orton <jorton@redhat.com> 2.0.36-3
-- add patch to fix SSL mutex handling
-
-* Wed Jun 12 2002 Joe Orton <jorton@redhat.com> 2.0.36-2
-- improved config directory patch
-
-* Mon May 20 2002 Joe Orton <jorton@redhat.com>
-- initial build; based heavily on apache.spec and mod_ssl.spec
-- fixes: #65214, #58490, #57376, #61265, #65518, #58177, #57245
diff --git a/include/ap_config.h b/include/ap_config.h
index f729adc0..dd977a6c 100644
--- a/include/ap_config.h
+++ b/include/ap_config.h
@@ -230,7 +230,7 @@
APR_OPTIONAL_HOOK(ap,name,fn,pre,succ,order)
#include "os.h"
-#if !defined(WIN32) && !defined(NETWARE)
+#if (!defined(WIN32) && !defined(NETWARE)) || defined(__MINGW32__)
#include "ap_config_auto.h"
#include "ap_config_layout.h"
#endif
diff --git a/include/ap_mmn.h b/include/ap_mmn.h
index ba1ca0bf..58951c0e 100644
--- a/include/ap_mmn.h
+++ b/include/ap_mmn.h
@@ -140,6 +140,12 @@
* and conditional cmdtype member of piped_log struct
* 20051115.24 (2.2.15) Add forward member to proxy_conn_rec
* 20051115.25 (2.2.17) Add errstatuses member to proxy_balancer
+ * 20051115.26 (2.2.18) Add ap_cache_check_allowed()
+ * 20051115.27 (2.2.18) BROKEN ABI fixed in 2.2.19:
+ * ap_unescape_url_keep2f() signature change
+ * Add core_dir_config.decode_encoded_slashes.
+ * 20051115.28 (2.2.19) Restore ap_unescape_url_keep2f(char *url) signature
+ * altered in 2.2.18. Add ap_unescape_url_keep2f_ex().
*/
#define MODULE_MAGIC_COOKIE 0x41503232UL /* "AP22" */
@@ -147,7 +153,7 @@
#ifndef MODULE_MAGIC_NUMBER_MAJOR
#define MODULE_MAGIC_NUMBER_MAJOR 20051115
#endif
-#define MODULE_MAGIC_NUMBER_MINOR 25 /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 28 /* 0...n */
/**
* Determine if the server's current MODULE_MAGIC_NUMBER is at least a
diff --git a/include/ap_release.h b/include/ap_release.h
index 546493d2..b4735260 100644
--- a/include/ap_release.h
+++ b/include/ap_release.h
@@ -25,7 +25,7 @@
#include "apr_general.h" /* stringify */
#define AP_SERVER_COPYRIGHT \
- "Copyright 2009 The Apache Software Foundation."
+ "Copyright 2011 The Apache Software Foundation."
/*
* The below defines the base string of the Server: header. Additional
@@ -45,7 +45,7 @@
#define AP_SERVER_MAJORVERSION_NUMBER 2
#define AP_SERVER_MINORVERSION_NUMBER 2
-#define AP_SERVER_PATCHLEVEL_NUMBER 17
+#define AP_SERVER_PATCHLEVEL_NUMBER 19
#define AP_SERVER_DEVBUILD_BOOLEAN 0
#if AP_SERVER_DEVBUILD_BOOLEAN
diff --git a/include/http_core.h b/include/http_core.h
index f124f219..0b96cca5 100644
--- a/include/http_core.h
+++ b/include/http_core.h
@@ -568,6 +568,8 @@ typedef struct {
#define USE_CANONICAL_PHYS_PORT_UNSET (2)
unsigned use_canonical_phys_port : 2;
+
+ unsigned int decode_encoded_slashes : 1; /* whether to decode encoded slashes in URLs */
} core_dir_config;
/* Per-server core configuration */
diff --git a/include/httpd.h b/include/httpd.h
index 40351b79..81175280 100644
--- a/include/httpd.h
+++ b/include/httpd.h
@@ -154,9 +154,11 @@ extern "C" {
#endif
/** The path to the suExec wrapper, can be overridden in Configuration */
+#if !defined(NETWARE) && !defined(WIN32)
#ifndef SUEXEC_BIN
#define SUEXEC_BIN HTTPD_ROOT "/bin/suexec"
#endif
+#endif
/** The timeout for waiting for messages */
#ifndef DEFAULT_TIMEOUT
@@ -1448,13 +1450,21 @@ AP_DECLARE(int) ap_is_url(const char *u);
AP_DECLARE(int) ap_unescape_url(char *url);
/**
- * Unescape a URL, but leaving %2f (slashes) escaped
+ * Unescape a URL, including encoded slashes.
* @param url The url to unescape
* @return 0 on success, non-zero otherwise
*/
AP_DECLARE(int) ap_unescape_url_keep2f(char *url);
/**
+ * Unescape a URL, including encoded slashes.
+ * @param url The url to unescape
+ * @param decode_slashes Whether or not slashes should be decoded or not
+ * @return 0 on success, non-zero otherwise
+ */
+AP_DECLARE(int) ap_unescape_url_keep2f_ex(char *url, int decode_slashes);
+
+/**
* Convert all double slashes to single slashes
* @param name The string to convert
*/
diff --git a/include/mpm_common.h b/include/mpm_common.h
index bacf76f2..125fe809 100644
--- a/include/mpm_common.h
+++ b/include/mpm_common.h
@@ -216,6 +216,19 @@ AP_DECLARE(gid_t) ap_gname2id(const char *name);
#define AP_MPM_HARD_LIMITS_FILE APACHE_MPM_DIR "/mpm_default.h"
+#ifndef HAVE_INITGROUPS
+/**
+ * The initgroups() function initializes the group access list by reading the
+ * group database /etc/group and using all groups of which user is a member.
+ * The additional group basegid is also added to the list.
+ * @param name The user name - must be non-NULL
+ * @param basegid The basegid to add
+ * @return returns 0 on success
+ * @fn int initgroups(const char *name, gid_t basegid)
+ */
+int initgroups(const char *name, gid_t basegid);
+#endif
+
#ifdef AP_MPM_USES_POD
typedef struct ap_pod_t ap_pod_t;
diff --git a/libhttpd.dep b/libhttpd.dep
new file mode 100644
index 00000000..78773900
--- /dev/null
+++ b/libhttpd.dep
@@ -0,0 +1,1058 @@
+# Microsoft Developer Studio Generated Dependency File, included by libhttpd.mak
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+!ENDIF
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+!ENDIF
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+!ENDIF
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+!ENDIF
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+!ENDIF
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+!ENDIF
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+!ENDIF
+
+.\modules\http\byterange_filter.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\http_vhost.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_ebcdic.h"\
+ ".\include\util_filter.h"\
+ ".\include\util_time.h"\
+ ".\modules\http\mod_core.h"\
+ ".\srclib\apr-util\include\apr_date.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_signal.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\modules\http\chunk_filter.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_mpm.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_connection.h"\
+ ".\include\http_core.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\scoreboard.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_ebcdic.h"\
+ ".\include\util_filter.h"\
+ ".\modules\http\mod_core.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\config.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\http_vhost.h"\
+ ".\include\httpd.h"\
+ ".\include\mpm.h"\
+ ".\include\os.h"\
+ ".\include\scoreboard.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_filter.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_fnmatch.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\connection.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_mpm.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_connection.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\http_vhost.h"\
+ ".\include\httpd.h"\
+ ".\include\mpm_default.h"\
+ ".\include\os.h"\
+ ".\include\scoreboard.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_filter.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\core.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_listen.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_provider.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_connection.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\http_vhost.h"\
+ ".\include\httpd.h"\
+ ".\include\mod_core.h"\
+ ".\include\mod_proxy.h"\
+ ".\include\mod_so.h"\
+ ".\include\mpm.h"\
+ ".\include\mpm_common.h"\
+ ".\include\os.h"\
+ ".\include\scoreboard.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_ebcdic.h"\
+ ".\include\util_filter.h"\
+ ".\include\util_md5.h"\
+ ".\srclib\apr-util\include\apr_date.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_md5.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_strmatch.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_fnmatch.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\core_filters.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_listen.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_provider.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_connection.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\http_vhost.h"\
+ ".\include\httpd.h"\
+ ".\include\mod_core.h"\
+ ".\include\mod_proxy.h"\
+ ".\include\mod_so.h"\
+ ".\include\mpm.h"\
+ ".\include\mpm_common.h"\
+ ".\include\os.h"\
+ ".\include\scoreboard.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_ebcdic.h"\
+ ".\include\util_filter.h"\
+ ".\include\util_md5.h"\
+ ".\srclib\apr-util\include\apr_date.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_md5.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_strmatch.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_fnmatch.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\modules\http\http_core.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_mpm.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_connection.h"\
+ ".\include\http_core.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\scoreboard.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_ebcdic.h"\
+ ".\include\util_filter.h"\
+ ".\modules\http\mod_core.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\modules\http\http_etag.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_connection.h"\
+ ".\include\http_core.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_filter.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\modules\http\http_filters.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_connection.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\http_vhost.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_ebcdic.h"\
+ ".\include\util_filter.h"\
+ ".\include\util_time.h"\
+ ".\modules\http\mod_core.h"\
+ ".\srclib\apr-util\include\apr_date.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_signal.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\modules\http\http_protocol.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_mpm.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\http_vhost.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_ebcdic.h"\
+ ".\include\util_filter.h"\
+ ".\include\util_time.h"\
+ ".\modules\http\mod_core.h"\
+ ".\srclib\apr-util\include\apr_date.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_signal.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\modules\http\http_request.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\scoreboard.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_filter.h"\
+ ".\modules\http\mod_core.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_fnmatch.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\log.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_mpm.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_filter.h"\
+ ".\include\util_time.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_signal.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\protocol.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\http_vhost.h"\
+ ".\include\httpd.h"\
+ ".\include\mod_core.h"\
+ ".\include\os.h"\
+ ".\include\scoreboard.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_ebcdic.h"\
+ ".\include\util_filter.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_strmatch.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_signal.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\request.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\httpd.h"\
+ ".\include\mod_core.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_filter.h"\
+ ".\include\util_script.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_fnmatch.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\vhost.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_vhost.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_filter.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\modules\mappers\mod_so.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_filter.h"\
+ ".\modules\mappers\mod_so.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\modules\arch\win32\mod_win32.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_regkey.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\httpd.h"\
+ ".\include\mod_cgi.h"\
+ ".\include\mod_core.h"\
+ ".\include\mod_include.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_filter.h"\
+ ".\include\util_script.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\os\win32\modules.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+
+
+.\server\eoc_bucket.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_connection.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+
+
+.\server\error_bucket.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_protocol.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_filter.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\util.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\http_protocol.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_ebcdic.h"\
+ ".\include\util_filter.h"\
+ ".\server\test_char.h"\
+ ".\srclib\apr-util\include\apr_base64.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\util_cfgtree.c : \
+ ".\include\ap_config.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+
+
+.\server\util_filter.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_log.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_filter.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\util_md5.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_ebcdic.h"\
+ ".\include\util_md5.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_md5.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\util_pcre.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+ ".\srclib\pcre\pcre.h"\
+
+
+.\server\util_script.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\http_protocol.h"\
+ ".\include\http_request.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_ebcdic.h"\
+ ".\include\util_filter.h"\
+ ".\include\util_script.h"\
+ ".\srclib\apr-util\include\apr_date.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\util_time.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_time.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+
+
+.\os\win32\util_win32.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_mpm.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_log.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_getopt.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+ ".\srclib\apr\include\arch\win32\apr_arch_file_io.h"\
+ ".\srclib\apr\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\server\util_xml.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_protocol.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_charset.h"\
+ ".\include\util_filter.h"\
+ ".\include\util_xml.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr-util\include\apr_xml.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+
+
+.\os\win32\ap_regkey.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_regkey.h"\
+ ".\include\os.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr\include\apr_getopt.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\arch\win32\apr_arch_file_io.h"\
+ ".\srclib\apr\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\server\mpm\winnt\child.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_listen.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_mpm.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_connection.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\httpd.h"\
+ ".\include\mpm.h"\
+ ".\include\mpm_common.h"\
+ ".\include\os.h"\
+ ".\include\scoreboard.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_filter.h"\
+ ".\server\mpm\winnt\mpm_default.h"\
+ ".\server\mpm\winnt\mpm_winnt.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_atomic.h"\
+ ".\srclib\apr\include\apr_getopt.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\listen.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_listen.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\httpd.h"\
+ ".\include\mpm.h"\
+ ".\include\mpm_common.h"\
+ ".\include\os.h"\
+ ".\include\scoreboard.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_filter.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+!ENDIF
+
+.\server\mpm_common.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_listen.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_mpm.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\httpd.h"\
+ ".\include\mpm.h"\
+ ".\include\mpm_common.h"\
+ ".\include\mpm_default.h"\
+ ".\include\os.h"\
+ ".\include\scoreboard.h"\
+ ".\include\util_cfgtree.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_getopt.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_signal.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+!ENDIF
+
+.\server\mpm\winnt\mpm_winnt.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_listen.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_mpm.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_connection.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\httpd.h"\
+ ".\include\mpm.h"\
+ ".\include\mpm_common.h"\
+ ".\include\os.h"\
+ ".\include\scoreboard.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_filter.h"\
+ ".\server\mpm\winnt\mpm_default.h"\
+ ".\server\mpm\winnt\mpm_winnt.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_atomic.h"\
+ ".\srclib\apr\include\apr_getopt.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\mpm\winnt\nt_eventlog.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_listen.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_regkey.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_log.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\server\mpm\winnt\mpm_winnt.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\provider.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_provider.h"\
+ ".\include\os.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\scoreboard.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_mpm.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_core.h"\
+ ".\include\http_log.h"\
+ ".\include\http_main.h"\
+ ".\include\httpd.h"\
+ ".\include\mpm.h"\
+ ".\include\os.h"\
+ ".\include\scoreboard.h"\
+ ".\include\util_cfgtree.h"\
+ ".\include\util_filter.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_hash.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_portable.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+.\server\mpm\winnt\service.c : \
+ ".\include\ap_config.h"\
+ ".\include\ap_listen.h"\
+ ".\include\ap_mmn.h"\
+ ".\include\ap_regex.h"\
+ ".\include\ap_regkey.h"\
+ ".\include\ap_release.h"\
+ ".\include\http_config.h"\
+ ".\include\http_log.h"\
+ ".\include\httpd.h"\
+ ".\include\os.h"\
+ ".\include\util_cfgtree.h"\
+ ".\server\mpm\winnt\mpm_winnt.h"\
+ ".\srclib\apr-util\include\apr_hooks.h"\
+ ".\srclib\apr-util\include\apr_optional_hooks.h"\
+ ".\srclib\apr-util\include\apr_uri.h"\
+ ".\srclib\apr\include\apr_lib.h"\
+ ".\srclib\apr\include\apr_mmap.h"\
+ ".\srclib\apr\include\apr_poll.h"\
+ ".\srclib\apr\include\apr_strings.h"\
+
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+!ENDIF
+
+.\build\win32\httpd.rc : \
+ ".\include\ap_release.h"\
+
diff --git a/libhttpd.mak b/libhttpd.mak
new file mode 100644
index 00000000..bd59a672
--- /dev/null
+++ b/libhttpd.mak
@@ -0,0 +1,1052 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on libhttpd.dsp
+!IF "$(CFG)" == ""
+CFG=libhttpd - Win32 Release
+!MESSAGE No configuration specified. Defaulting to libhttpd - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "libhttpd - Win32 Release" && "$(CFG)" != "libhttpd - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "libhttpd.mak" CFG="libhttpd - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "libhttpd - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "libhttpd - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : ".\include\mod_dav.h" "$(OUTDIR)\libhttpd.dll" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "pcre - Win32 Release" "gen_test_char - Win32 Release" "libaprutil - Win32 Release" "libapriconv - Win32 Release" "libapr - Win32 Release" ".\include\mod_dav.h" "$(OUTDIR)\libhttpd.dll" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libapriconv - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "gen_test_char - Win32 ReleaseCLEAN" "pcre - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\ap_regkey.obj"
+ -@erase "$(INTDIR)\byterange_filter.obj"
+ -@erase "$(INTDIR)\child.obj"
+ -@erase "$(INTDIR)\chunk_filter.obj"
+ -@erase "$(INTDIR)\config.obj"
+ -@erase "$(INTDIR)\connection.obj"
+ -@erase "$(INTDIR)\core.obj"
+ -@erase "$(INTDIR)\core_filters.obj"
+ -@erase "$(INTDIR)\eoc_bucket.obj"
+ -@erase "$(INTDIR)\error_bucket.obj"
+ -@erase "$(INTDIR)\http_core.obj"
+ -@erase "$(INTDIR)\http_etag.obj"
+ -@erase "$(INTDIR)\http_filters.obj"
+ -@erase "$(INTDIR)\http_protocol.obj"
+ -@erase "$(INTDIR)\http_request.obj"
+ -@erase "$(INTDIR)\libhttpd.res"
+ -@erase "$(INTDIR)\libhttpd_cl.idb"
+ -@erase "$(INTDIR)\libhttpd_cl.pdb"
+ -@erase "$(INTDIR)\listen.obj"
+ -@erase "$(INTDIR)\log.obj"
+ -@erase "$(INTDIR)\mod_so.obj"
+ -@erase "$(INTDIR)\mod_win32.obj"
+ -@erase "$(INTDIR)\modules.obj"
+ -@erase "$(INTDIR)\mpm_common.obj"
+ -@erase "$(INTDIR)\mpm_winnt.obj"
+ -@erase "$(INTDIR)\nt_eventlog.obj"
+ -@erase "$(INTDIR)\protocol.obj"
+ -@erase "$(INTDIR)\provider.obj"
+ -@erase "$(INTDIR)\request.obj"
+ -@erase "$(INTDIR)\scoreboard.obj"
+ -@erase "$(INTDIR)\service.obj"
+ -@erase "$(INTDIR)\util.obj"
+ -@erase "$(INTDIR)\util_cfgtree.obj"
+ -@erase "$(INTDIR)\util_filter.obj"
+ -@erase "$(INTDIR)\util_md5.obj"
+ -@erase "$(INTDIR)\util_pcre.obj"
+ -@erase "$(INTDIR)\util_script.obj"
+ -@erase "$(INTDIR)\util_time.obj"
+ -@erase "$(INTDIR)\util_win32.obj"
+ -@erase "$(INTDIR)\util_xml.obj"
+ -@erase "$(INTDIR)\vhost.obj"
+ -@erase "$(OUTDIR)\libhttpd.dll"
+ -@erase "$(OUTDIR)\libhttpd.exp"
+ -@erase "$(OUTDIR)\libhttpd.lib"
+ -@erase "$(OUTDIR)\libhttpd.pdb"
+ -@erase ".\include\mod_dav.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "./srclib/apr/include" /I "./srclib/apr-util/include" /I "./srclib/pcre" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PCRE_STATIC" /D "AP_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libhttpd_cl" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libhttpd.res" /i "./include" /i "./srclib/apr/include" /d "NDEBUG" /d BIN_NAME="libhttpd.dll" /d LONG_NAME="Apache HTTP Server Core"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libhttpd.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib mswsock.lib "Release\buildmark.obj" /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libhttpd.pdb" /debug /out:"$(OUTDIR)\libhttpd.dll" /implib:"$(OUTDIR)\libhttpd.lib" /base:@"os\win32\BaseAddr.ref",libhttpd.dll /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\byterange_filter.obj" \
+ "$(INTDIR)\chunk_filter.obj" \
+ "$(INTDIR)\config.obj" \
+ "$(INTDIR)\connection.obj" \
+ "$(INTDIR)\core.obj" \
+ "$(INTDIR)\core_filters.obj" \
+ "$(INTDIR)\http_core.obj" \
+ "$(INTDIR)\http_etag.obj" \
+ "$(INTDIR)\http_filters.obj" \
+ "$(INTDIR)\http_protocol.obj" \
+ "$(INTDIR)\http_request.obj" \
+ "$(INTDIR)\log.obj" \
+ "$(INTDIR)\protocol.obj" \
+ "$(INTDIR)\request.obj" \
+ "$(INTDIR)\vhost.obj" \
+ "$(INTDIR)\mod_so.obj" \
+ "$(INTDIR)\mod_win32.obj" \
+ "$(INTDIR)\modules.obj" \
+ "$(INTDIR)\eoc_bucket.obj" \
+ "$(INTDIR)\error_bucket.obj" \
+ "$(INTDIR)\util.obj" \
+ "$(INTDIR)\util_cfgtree.obj" \
+ "$(INTDIR)\util_filter.obj" \
+ "$(INTDIR)\util_md5.obj" \
+ "$(INTDIR)\util_pcre.obj" \
+ "$(INTDIR)\util_script.obj" \
+ "$(INTDIR)\util_time.obj" \
+ "$(INTDIR)\util_win32.obj" \
+ "$(INTDIR)\util_xml.obj" \
+ "$(INTDIR)\ap_regkey.obj" \
+ "$(INTDIR)\child.obj" \
+ "$(INTDIR)\listen.obj" \
+ "$(INTDIR)\mpm_common.obj" \
+ "$(INTDIR)\mpm_winnt.obj" \
+ "$(INTDIR)\nt_eventlog.obj" \
+ "$(INTDIR)\provider.obj" \
+ "$(INTDIR)\scoreboard.obj" \
+ "$(INTDIR)\service.obj" \
+ "$(INTDIR)\libhttpd.res" \
+ ".\srclib\apr\Release\libapr-1.lib" \
+ ".\srclib\apr-iconv\Release\libapriconv-1.lib" \
+ ".\srclib\apr-util\Release\libaprutil-1.lib" \
+ ".\srclib\pcre\LibR\pcre.lib"
+
+"$(OUTDIR)\libhttpd.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ cl.exe /nologo /MD /W3 /O2 /Oy- /Zi /I "./include" /I "./srclib/apr/include" /I "./srclib/apr-util/include" /I "./srclib/pcre" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PCRE_STATIC" /D "AP_DECLARE_EXPORT" /Fd"Release\libhttpd" /FD /c server\buildmark.c /Fo"Release\buildmark.obj"
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\libhttpd.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libhttpd.dll"
+ if exist .\Release\libhttpd.dll.manifest mt.exe -manifest .\Release\libhttpd.dll.manifest -outputresource:.\Release\libhttpd.dll;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : ".\server\test_char.h" ".\include\mpm_default.h" ".\include\mpm.h" ".\include\mod_so.h" ".\include\mod_proxy.h" ".\include\mod_include.h" ".\include\mod_dav.h" ".\include\mod_core.h" ".\include\mod_cgi.h" "$(OUTDIR)\libhttpd.dll" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "pcre - Win32 Debug" "gen_test_char - Win32 Debug" "libaprutil - Win32 Debug" "libapriconv - Win32 Debug" "libapr - Win32 Debug" ".\server\test_char.h" ".\include\mpm_default.h" ".\include\mpm.h" ".\include\mod_so.h" ".\include\mod_proxy.h" ".\include\mod_include.h" ".\include\mod_dav.h" ".\include\mod_core.h" ".\include\mod_cgi.h" "$(OUTDIR)\libhttpd.dll" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libapriconv - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "gen_test_char - Win32 DebugCLEAN" "pcre - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\ap_regkey.obj"
+ -@erase "$(INTDIR)\byterange_filter.obj"
+ -@erase "$(INTDIR)\child.obj"
+ -@erase "$(INTDIR)\chunk_filter.obj"
+ -@erase "$(INTDIR)\config.obj"
+ -@erase "$(INTDIR)\connection.obj"
+ -@erase "$(INTDIR)\core.obj"
+ -@erase "$(INTDIR)\core_filters.obj"
+ -@erase "$(INTDIR)\eoc_bucket.obj"
+ -@erase "$(INTDIR)\error_bucket.obj"
+ -@erase "$(INTDIR)\http_core.obj"
+ -@erase "$(INTDIR)\http_etag.obj"
+ -@erase "$(INTDIR)\http_filters.obj"
+ -@erase "$(INTDIR)\http_protocol.obj"
+ -@erase "$(INTDIR)\http_request.obj"
+ -@erase "$(INTDIR)\libhttpd.res"
+ -@erase "$(INTDIR)\libhttpd_cl.idb"
+ -@erase "$(INTDIR)\libhttpd_cl.pdb"
+ -@erase "$(INTDIR)\listen.obj"
+ -@erase "$(INTDIR)\log.obj"
+ -@erase "$(INTDIR)\mod_so.obj"
+ -@erase "$(INTDIR)\mod_win32.obj"
+ -@erase "$(INTDIR)\modules.obj"
+ -@erase "$(INTDIR)\mpm_common.obj"
+ -@erase "$(INTDIR)\mpm_winnt.obj"
+ -@erase "$(INTDIR)\nt_eventlog.obj"
+ -@erase "$(INTDIR)\protocol.obj"
+ -@erase "$(INTDIR)\provider.obj"
+ -@erase "$(INTDIR)\request.obj"
+ -@erase "$(INTDIR)\scoreboard.obj"
+ -@erase "$(INTDIR)\service.obj"
+ -@erase "$(INTDIR)\util.obj"
+ -@erase "$(INTDIR)\util_cfgtree.obj"
+ -@erase "$(INTDIR)\util_filter.obj"
+ -@erase "$(INTDIR)\util_md5.obj"
+ -@erase "$(INTDIR)\util_pcre.obj"
+ -@erase "$(INTDIR)\util_script.obj"
+ -@erase "$(INTDIR)\util_time.obj"
+ -@erase "$(INTDIR)\util_win32.obj"
+ -@erase "$(INTDIR)\util_xml.obj"
+ -@erase "$(INTDIR)\vhost.obj"
+ -@erase "$(OUTDIR)\libhttpd.dll"
+ -@erase "$(OUTDIR)\libhttpd.exp"
+ -@erase "$(OUTDIR)\libhttpd.lib"
+ -@erase "$(OUTDIR)\libhttpd.pdb"
+ -@erase ".\include\mod_cgi.h"
+ -@erase ".\include\mod_core.h"
+ -@erase ".\include\mod_dav.h"
+ -@erase ".\include\mod_include.h"
+ -@erase ".\include\mod_proxy.h"
+ -@erase ".\include\mod_so.h"
+ -@erase ".\include\mpm.h"
+ -@erase ".\include\mpm_default.h"
+ -@erase ".\server\test_char.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "./include" /I "./srclib/apr/include" /I "./srclib/apr-util/include" /I "./srclib/pcre" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "PCRE_STATIC" /D "AP_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libhttpd_cl" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libhttpd.res" /i "./include" /i "./srclib/apr/include" /d "_DEBUG" /d BIN_NAME="libhttpd.dll" /d LONG_NAME="Apache HTTP Server Core"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libhttpd.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib mswsock.lib "Debug\buildmark.obj" /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libhttpd.pdb" /debug /out:"$(OUTDIR)\libhttpd.dll" /implib:"$(OUTDIR)\libhttpd.lib" /base:@"os\win32\BaseAddr.ref",libhttpd.dll
+LINK32_OBJS= \
+ "$(INTDIR)\byterange_filter.obj" \
+ "$(INTDIR)\chunk_filter.obj" \
+ "$(INTDIR)\config.obj" \
+ "$(INTDIR)\connection.obj" \
+ "$(INTDIR)\core.obj" \
+ "$(INTDIR)\core_filters.obj" \
+ "$(INTDIR)\http_core.obj" \
+ "$(INTDIR)\http_etag.obj" \
+ "$(INTDIR)\http_filters.obj" \
+ "$(INTDIR)\http_protocol.obj" \
+ "$(INTDIR)\http_request.obj" \
+ "$(INTDIR)\log.obj" \
+ "$(INTDIR)\protocol.obj" \
+ "$(INTDIR)\request.obj" \
+ "$(INTDIR)\vhost.obj" \
+ "$(INTDIR)\mod_so.obj" \
+ "$(INTDIR)\mod_win32.obj" \
+ "$(INTDIR)\modules.obj" \
+ "$(INTDIR)\eoc_bucket.obj" \
+ "$(INTDIR)\error_bucket.obj" \
+ "$(INTDIR)\util.obj" \
+ "$(INTDIR)\util_cfgtree.obj" \
+ "$(INTDIR)\util_filter.obj" \
+ "$(INTDIR)\util_md5.obj" \
+ "$(INTDIR)\util_pcre.obj" \
+ "$(INTDIR)\util_script.obj" \
+ "$(INTDIR)\util_time.obj" \
+ "$(INTDIR)\util_win32.obj" \
+ "$(INTDIR)\util_xml.obj" \
+ "$(INTDIR)\ap_regkey.obj" \
+ "$(INTDIR)\child.obj" \
+ "$(INTDIR)\listen.obj" \
+ "$(INTDIR)\mpm_common.obj" \
+ "$(INTDIR)\mpm_winnt.obj" \
+ "$(INTDIR)\nt_eventlog.obj" \
+ "$(INTDIR)\provider.obj" \
+ "$(INTDIR)\scoreboard.obj" \
+ "$(INTDIR)\service.obj" \
+ "$(INTDIR)\libhttpd.res" \
+ ".\srclib\apr\Debug\libapr-1.lib" \
+ ".\srclib\apr-iconv\Debug\libapriconv-1.lib" \
+ ".\srclib\apr-util\Debug\libaprutil-1.lib" \
+ ".\srclib\pcre\LibD\pcre.lib"
+
+"$(OUTDIR)\libhttpd.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ cl.exe /nologo /MDd /W3 /EHsc /Zi /Od /I "./include" /I "./srclib/apr/include" /I "./srclib/apr-util/include" /I "./srclib/pcre" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "PCRE_STATIC" /D "AP_DECLARE_EXPORT" /Fd"Debug\libhttpd" /FD /c server\buildmark.c /Fo"Debug\buildmark.obj"
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\libhttpd.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libhttpd.dll"
+ if exist .\Debug\libhttpd.dll.manifest mt.exe -manifest .\Debug\libhttpd.dll.manifest -outputresource:.\Debug\libhttpd.dll;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("libhttpd.dep")
+!INCLUDE "libhttpd.dep"
+!ELSE
+!MESSAGE Warning: cannot find "libhttpd.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "libhttpd - Win32 Release" || "$(CFG)" == "libhttpd - Win32 Debug"
+SOURCE=.\modules\generators\mod_cgi.h
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+InputPath=.\modules\generators\mod_cgi.h
+
+".\include\mod_cgi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\modules\generators\mod_cgi.h > .\include\mod_cgi.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+InputPath=.\modules\generators\mod_cgi.h
+
+".\include\mod_cgi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\modules\generators\mod_cgi.h > .\include\mod_cgi.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\modules\http\mod_core.h
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+InputPath=.\modules\http\mod_core.h
+
+".\include\mod_core.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\modules\http\mod_core.h > .\include\mod_core.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+InputPath=.\modules\http\mod_core.h
+
+".\include\mod_core.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\modules\http\mod_core.h > .\include\mod_core.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\modules\dav\main\mod_dav.h
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+InputPath=.\modules\dav\main\mod_dav.h
+
+".\include\mod_dav.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\modules\dav\main\mod_dav.h > .\include\mod_dav.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+InputPath=.\modules\dav\main\mod_dav.h
+
+".\include\mod_dav.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\modules\dav\main\mod_dav.h > .\include\mod_dav.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\modules\filters\mod_include.h
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+InputPath=.\modules\filters\mod_include.h
+
+".\include\mod_include.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\modules\filters\mod_include.h > .\include\mod_include.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+InputPath=.\modules\filters\mod_include.h
+
+".\include\mod_include.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\modules\filters\mod_include.h > .\include\mod_include.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\modules\proxy\mod_proxy.h
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+InputPath=.\modules\proxy\mod_proxy.h
+
+".\include\mod_proxy.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\modules\proxy\mod_proxy.h > .\include\mod_proxy.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+InputPath=.\modules\proxy\mod_proxy.h
+
+".\include\mod_proxy.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\modules\proxy\mod_proxy.h > .\include\mod_proxy.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\modules\mappers\mod_so.h
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+InputPath=.\modules\mappers\mod_so.h
+
+".\include\mod_so.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\modules\mappers\mod_so.h > .\include\mod_so.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+InputPath=.\modules\mappers\mod_so.h
+
+".\include\mod_so.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\modules\mappers\mod_so.h > .\include\mod_so.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\os\win32\os.h
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+InputPath=.\os\win32\os.h
+
+".\include\os.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\os\win32\os.h > .\include\os.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+InputPath=.\os\win32\os.h
+
+".\include\os.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\os\win32\os.h > .\include\os.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\server\buildmark.c
+SOURCE=.\modules\http\byterange_filter.c
+
+"$(INTDIR)\byterange_filter.obj" : $(SOURCE) "$(INTDIR)" ".\modules\http\mod_core.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\modules\http\chunk_filter.c
+
+"$(INTDIR)\chunk_filter.obj" : $(SOURCE) "$(INTDIR)" ".\modules\http\mod_core.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\config.c
+
+"$(INTDIR)\config.obj" : $(SOURCE) "$(INTDIR)" ".\include\mpm.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\connection.c
+
+"$(INTDIR)\connection.obj" : $(SOURCE) "$(INTDIR)" ".\include\mpm_default.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\core.c
+
+"$(INTDIR)\core.obj" : $(SOURCE) "$(INTDIR)" ".\include\mpm.h" ".\include\mod_core.h" ".\include\mod_proxy.h" ".\include\mod_so.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\core_filters.c
+
+"$(INTDIR)\core_filters.obj" : $(SOURCE) "$(INTDIR)" ".\include\mpm.h" ".\include\mod_core.h" ".\include\mod_proxy.h" ".\include\mod_so.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\modules\http\http_core.c
+
+"$(INTDIR)\http_core.obj" : $(SOURCE) "$(INTDIR)" ".\modules\http\mod_core.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\modules\http\http_etag.c
+
+"$(INTDIR)\http_etag.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\modules\http\http_filters.c
+
+"$(INTDIR)\http_filters.obj" : $(SOURCE) "$(INTDIR)" ".\modules\http\mod_core.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\modules\http\http_protocol.c
+
+"$(INTDIR)\http_protocol.obj" : $(SOURCE) "$(INTDIR)" ".\modules\http\mod_core.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\modules\http\http_request.c
+
+"$(INTDIR)\http_request.obj" : $(SOURCE) "$(INTDIR)" ".\modules\http\mod_core.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\log.c
+
+"$(INTDIR)\log.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\protocol.c
+
+"$(INTDIR)\protocol.obj" : $(SOURCE) "$(INTDIR)" ".\include\mod_core.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\request.c
+
+"$(INTDIR)\request.obj" : $(SOURCE) "$(INTDIR)" ".\include\mod_core.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\vhost.c
+
+"$(INTDIR)\vhost.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\modules\mappers\mod_so.c
+
+"$(INTDIR)\mod_so.obj" : $(SOURCE) "$(INTDIR)" ".\modules\mappers\mod_so.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\modules\arch\win32\mod_win32.c
+
+"$(INTDIR)\mod_win32.obj" : $(SOURCE) "$(INTDIR)" ".\include\mod_core.h" ".\include\mod_cgi.h" ".\include\os.h" ".\include\mod_include.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\os\win32\modules.c
+
+"$(INTDIR)\modules.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\eoc_bucket.c
+
+"$(INTDIR)\eoc_bucket.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\error_bucket.c
+
+"$(INTDIR)\error_bucket.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\util.c
+
+"$(INTDIR)\util.obj" : $(SOURCE) "$(INTDIR)" ".\server\test_char.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\util_cfgtree.c
+
+"$(INTDIR)\util_cfgtree.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\util_filter.c
+
+"$(INTDIR)\util_filter.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\util_md5.c
+
+"$(INTDIR)\util_md5.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\util_pcre.c
+
+"$(INTDIR)\util_pcre.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\util_script.c
+
+"$(INTDIR)\util_script.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\util_time.c
+
+"$(INTDIR)\util_time.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\os\win32\util_win32.c
+
+"$(INTDIR)\util_win32.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\util_xml.c
+
+"$(INTDIR)\util_xml.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\os\win32\ap_regkey.c
+
+"$(INTDIR)\ap_regkey.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\mpm\winnt\child.c
+
+"$(INTDIR)\child.obj" : $(SOURCE) "$(INTDIR)" ".\server\mpm\winnt\mpm_default.h" ".\include\os.h" ".\include\mpm.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\listen.c
+
+"$(INTDIR)\listen.obj" : $(SOURCE) "$(INTDIR)" ".\include\mpm.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\mpm\winnt\mpm.h
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+InputPath=.\server\mpm\winnt\mpm.h
+
+".\include\mpm.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\server\mpm\winnt\mpm.h > .\include\mpm.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+InputPath=.\server\mpm\winnt\mpm.h
+
+".\include\mpm.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\server\mpm\winnt\mpm.h > .\include\mpm.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\server\mpm_common.c
+
+"$(INTDIR)\mpm_common.obj" : $(SOURCE) "$(INTDIR)" ".\include\mpm.h" ".\include\mpm_default.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\mpm\winnt\mpm_default.h
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+InputPath=.\server\mpm\winnt\mpm_default.h
+
+".\include\mpm_default.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\server\mpm\winnt\mpm_default.h > .\include\mpm_default.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+InputPath=.\server\mpm\winnt\mpm_default.h
+
+".\include\mpm_default.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\server\mpm\winnt\mpm_default.h > .\include\mpm_default.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\server\mpm\winnt\mpm_winnt.c
+
+"$(INTDIR)\mpm_winnt.obj" : $(SOURCE) "$(INTDIR)" ".\server\mpm\winnt\mpm_default.h" ".\include\os.h" ".\include\mpm.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\mpm\winnt\nt_eventlog.c
+
+"$(INTDIR)\nt_eventlog.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\provider.c
+
+"$(INTDIR)\provider.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\scoreboard.c
+
+"$(INTDIR)\scoreboard.obj" : $(SOURCE) "$(INTDIR)" ".\include\mpm.h" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\server\mpm\winnt\service.c
+
+"$(INTDIR)\service.obj" : $(SOURCE) "$(INTDIR)" ".\include\os.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\.."
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\.."
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\.."
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\.."
+
+!ENDIF
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+"libapriconv - Win32 Release" :
+ cd ".\srclib\apr-iconv"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapriconv.mak" CFG="libapriconv - Win32 Release"
+ cd "..\.."
+
+"libapriconv - Win32 ReleaseCLEAN" :
+ cd ".\srclib\apr-iconv"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapriconv.mak" CFG="libapriconv - Win32 Release" RECURSE=1 CLEAN
+ cd "..\.."
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+"libapriconv - Win32 Debug" :
+ cd ".\srclib\apr-iconv"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapriconv.mak" CFG="libapriconv - Win32 Debug"
+ cd "..\.."
+
+"libapriconv - Win32 DebugCLEAN" :
+ cd ".\srclib\apr-iconv"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapriconv.mak" CFG="libapriconv - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\.."
+
+!ENDIF
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\.."
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\.."
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\.."
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\.."
+
+!ENDIF
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+"gen_test_char - Win32 Release" :
+ cd ".\server"
+ $(MAKE) /$(MAKEFLAGS) /F ".\gen_test_char.mak" CFG="gen_test_char - Win32 Release"
+ cd ".."
+
+"gen_test_char - Win32 ReleaseCLEAN" :
+ cd ".\server"
+ $(MAKE) /$(MAKEFLAGS) /F ".\gen_test_char.mak" CFG="gen_test_char - Win32 Release" RECURSE=1 CLEAN
+ cd ".."
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+"gen_test_char - Win32 Debug" :
+ cd ".\server"
+ $(MAKE) /$(MAKEFLAGS) /F ".\gen_test_char.mak" CFG="gen_test_char - Win32 Debug"
+ cd ".."
+
+"gen_test_char - Win32 DebugCLEAN" :
+ cd ".\server"
+ $(MAKE) /$(MAKEFLAGS) /F ".\gen_test_char.mak" CFG="gen_test_char - Win32 Debug" RECURSE=1 CLEAN
+ cd ".."
+
+!ENDIF
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+"pcre - Win32 Release" :
+ cd ".\srclib\pcre"
+ $(MAKE) /$(MAKEFLAGS) /F ".\pcre.mak" CFG="pcre - Win32 Release"
+ cd "..\.."
+
+"pcre - Win32 ReleaseCLEAN" :
+ cd ".\srclib\pcre"
+ $(MAKE) /$(MAKEFLAGS) /F ".\pcre.mak" CFG="pcre - Win32 Release" RECURSE=1 CLEAN
+ cd "..\.."
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+"pcre - Win32 Debug" :
+ cd ".\srclib\pcre"
+ $(MAKE) /$(MAKEFLAGS) /F ".\pcre.mak" CFG="pcre - Win32 Debug"
+ cd "..\.."
+
+"pcre - Win32 DebugCLEAN" :
+ cd ".\srclib\pcre"
+ $(MAKE) /$(MAKEFLAGS) /F ".\pcre.mak" CFG="pcre - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\.."
+
+!ENDIF
+
+SOURCE=.\server\gen_test_char.exe
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+InputPath=.\server\gen_test_char.exe
+USERDEP__GEN_T=".\include\os.h"
+
+".\server\test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" $(USERDEP__GEN_T)
+ <<tempfile.bat
+ @echo off
+ .\server\gen_test_char.exe >.\server\test_char.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+InputPath=.\server\gen_test_char.exe
+USERDEP__GEN_T=".\include\os.h"
+
+".\server\test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" $(USERDEP__GEN_T)
+ <<tempfile.bat
+ @echo off
+ .\server\gen_test_char.exe >.\server\test_char.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\build\win32\httpd.rc
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+
+"$(INTDIR)\libhttpd.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\libhttpd.res" /i "./include" /i "./srclib/apr/include" /i "build\win32" /d "NDEBUG" /d BIN_NAME="libhttpd.dll" /d LONG_NAME="Apache HTTP Server Core" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+
+"$(INTDIR)\libhttpd.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\libhttpd.res" /i "./include" /i "./srclib/apr/include" /i "build\win32" /d "_DEBUG" /d BIN_NAME="libhttpd.dll" /d LONG_NAME="Apache HTTP Server Core" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/modules/NWGNUmakefile b/modules/NWGNUmakefile
index 76d018d2..5f7882a6 100644
--- a/modules/NWGNUmakefile
+++ b/modules/NWGNUmakefile
@@ -14,9 +14,9 @@ endif
SUBDIRS = \
aaa \
cache \
- dav\main \
- dav\fs \
- dav\lock \
+ dav/main \
+ dav/fs \
+ dav/lock \
echo \
generators \
loggers \
@@ -65,7 +65,7 @@ endif
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
diff --git a/modules/aaa/NWGNUauthbasc b/modules/aaa/NWGNUauthbasc
index e445bf85..60507845 100644
--- a/modules/aaa/NWGNUauthbasc
+++ b/modules/aaa/NWGNUauthbasc
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = AuthBasic Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/aaa/NWGNUauthdigt b/modules/aaa/NWGNUauthdigt
index 762c8533..32e243dc 100644
--- a/modules/aaa/NWGNUauthdigt
+++ b/modules/aaa/NWGNUauthdigt
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = Digest Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/aaa/NWGNUauthnalias b/modules/aaa/NWGNUauthnalias
index 6dfbef6a..859e34fb 100644
--- a/modules/aaa/NWGNUauthnalias
+++ b/modules/aaa/NWGNUauthnalias
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = AuthnAlias Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/aaa/NWGNUauthnano b/modules/aaa/NWGNUauthnano
index 0879e4a5..e7921c30 100644
--- a/modules/aaa/NWGNUauthnano
+++ b/modules/aaa/NWGNUauthnano
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = AuthAnon Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/aaa/NWGNUauthndbd b/modules/aaa/NWGNUauthndbd
index 10e3782b..efbbd277 100644
--- a/modules/aaa/NWGNUauthndbd
+++ b/modules/aaa/NWGNUauthndbd
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,13 +16,11 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
- $(AP_WORK)/modules/database \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(STDMOD)/database \
$(EOLIST)
#
@@ -110,7 +108,7 @@ NLM_THREAD_NAME = AuthnDBD Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -123,12 +121,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -138,7 +136,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -173,7 +171,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -204,8 +202,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -233,7 +231,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -246,6 +244,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/aaa/NWGNUauthndbm b/modules/aaa/NWGNUauthndbm
index 6dbe67f0..31f43d60 100644
--- a/modules/aaa/NWGNUauthndbm
+++ b/modules/aaa/NWGNUauthndbm
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = AuthnDBM Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/aaa/NWGNUauthndef b/modules/aaa/NWGNUauthndef
index c6d2ce2f..ec272ab6 100644
--- a/modules/aaa/NWGNUauthndef
+++ b/modules/aaa/NWGNUauthndef
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = Authndef Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/aaa/NWGNUauthnfil b/modules/aaa/NWGNUauthnfil
index 5bcb536d..5017c919 100644
--- a/modules/aaa/NWGNUauthnfil
+++ b/modules/aaa/NWGNUauthnfil
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = AuthnFile Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/aaa/NWGNUauthnzldap b/modules/aaa/NWGNUauthnzldap
index ffb475db..b260b73a 100644
--- a/modules/aaa/NWGNUauthnzldap
+++ b/modules/aaa/NWGNUauthnzldap
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,11 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -116,7 +115,7 @@ NLM_THREAD_NAME = AuthnzLDAP Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -129,12 +128,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -144,7 +143,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -179,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -217,10 +216,10 @@ FILES_nlm_Ximports = \
util_ldap_cache_getuserdn \
util_ldap_cache_compare \
util_ldap_cache_comparedn \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
- @$(LDAPSDK)/imports/lldapsdk.imp \
+ @lldapsdk.imp \
$(EOLIST)
#
@@ -247,7 +246,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -260,6 +259,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/aaa/NWGNUauthzdbm b/modules/aaa/NWGNUauthzdbm
index 74a0d3da..32bfff64 100644
--- a/modules/aaa/NWGNUauthzdbm
+++ b/modules/aaa/NWGNUauthzdbm
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = AuthzDBM Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/aaa/NWGNUauthzdef b/modules/aaa/NWGNUauthzdef
index 8b5104ef..58b50cf6 100644
--- a/modules/aaa/NWGNUauthzdef
+++ b/modules/aaa/NWGNUauthzdef
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = Authzdef Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/aaa/NWGNUauthzgrp b/modules/aaa/NWGNUauthzgrp
index 7ed5dff3..24a96e5f 100644
--- a/modules/aaa/NWGNUauthzgrp
+++ b/modules/aaa/NWGNUauthzgrp
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = AuthzGrp Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/aaa/NWGNUauthzusr b/modules/aaa/NWGNUauthzusr
index a97c253c..aa5ebd7d 100644
--- a/modules/aaa/NWGNUauthzusr
+++ b/modules/aaa/NWGNUauthzusr
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = AuthzUser Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/aaa/NWGNUmakefile b/modules/aaa/NWGNUmakefile
index 9ef2cf04..f53d72bb 100644
--- a/modules/aaa/NWGNUmakefile
+++ b/modules/aaa/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -111,7 +111,7 @@ NLM_THREAD_NAME =
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -244,10 +244,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -258,6 +258,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/aaa/mod_auth_basic.dep b/modules/aaa/mod_auth_basic.dep
new file mode 100644
index 00000000..aab5f656
--- /dev/null
+++ b/modules/aaa/mod_auth_basic.dep
@@ -0,0 +1,35 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_auth_basic.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_auth_basic.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_base64.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_auth.h"\
+
diff --git a/modules/aaa/mod_auth_basic.mak b/modules/aaa/mod_auth_basic.mak
new file mode 100644
index 00000000..fb4224df
--- /dev/null
+++ b/modules/aaa/mod_auth_basic.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_auth_basic.dsp
+!IF "$(CFG)" == ""
+CFG=mod_auth_basic - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_auth_basic - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_auth_basic - Win32 Release" && "$(CFG)" != "mod_auth_basic - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_auth_basic - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_auth_basic - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_auth_basic - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_auth_basic.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_auth_basic.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_auth_basic.obj"
+ -@erase "$(INTDIR)\mod_auth_basic.res"
+ -@erase "$(INTDIR)\mod_auth_basic_src.idb"
+ -@erase "$(INTDIR)\mod_auth_basic_src.pdb"
+ -@erase "$(OUTDIR)\mod_auth_basic.exp"
+ -@erase "$(OUTDIR)\mod_auth_basic.lib"
+ -@erase "$(OUTDIR)\mod_auth_basic.pdb"
+ -@erase "$(OUTDIR)\mod_auth_basic.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "AAA_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_auth_basic_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_auth_basic.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_auth_basic.so" /d LONG_NAME="auth_basic_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_auth_basic.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_auth_basic.pdb" /debug /out:"$(OUTDIR)\mod_auth_basic.so" /implib:"$(OUTDIR)\mod_auth_basic.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_auth_basic.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_auth_basic.obj" \
+ "$(INTDIR)\mod_auth_basic.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_auth_basic.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_auth_basic.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_auth_basic.so"
+ if exist .\Release\mod_auth_basic.so.manifest mt.exe -manifest .\Release\mod_auth_basic.so.manifest -outputresource:.\Release\mod_auth_basic.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_auth_basic - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_auth_basic.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_auth_basic.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_auth_basic.obj"
+ -@erase "$(INTDIR)\mod_auth_basic.res"
+ -@erase "$(INTDIR)\mod_auth_basic_src.idb"
+ -@erase "$(INTDIR)\mod_auth_basic_src.pdb"
+ -@erase "$(OUTDIR)\mod_auth_basic.exp"
+ -@erase "$(OUTDIR)\mod_auth_basic.lib"
+ -@erase "$(OUTDIR)\mod_auth_basic.pdb"
+ -@erase "$(OUTDIR)\mod_auth_basic.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "AAA_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_auth_basic_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_auth_basic.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_auth_basic.so" /d LONG_NAME="auth_basic_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_auth_basic.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_auth_basic.pdb" /debug /out:"$(OUTDIR)\mod_auth_basic.so" /implib:"$(OUTDIR)\mod_auth_basic.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_auth_basic.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_auth_basic.obj" \
+ "$(INTDIR)\mod_auth_basic.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_auth_basic.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_auth_basic.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_auth_basic.so"
+ if exist .\Debug\mod_auth_basic.so.manifest mt.exe -manifest .\Debug\mod_auth_basic.so.manifest -outputresource:.\Debug\mod_auth_basic.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_auth_basic.dep")
+!INCLUDE "mod_auth_basic.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_auth_basic.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_auth_basic - Win32 Release" || "$(CFG)" == "mod_auth_basic - Win32 Debug"
+
+!IF "$(CFG)" == "mod_auth_basic - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_auth_basic - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_auth_basic - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_auth_basic - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_auth_basic - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_auth_basic - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_auth_basic - Win32 Release"
+
+
+"$(INTDIR)\mod_auth_basic.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_auth_basic.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_auth_basic.so" /d LONG_NAME="auth_basic_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_auth_basic - Win32 Debug"
+
+
+"$(INTDIR)\mod_auth_basic.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_auth_basic.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_auth_basic.so" /d LONG_NAME="auth_basic_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_auth_basic.c
+
+"$(INTDIR)\mod_auth_basic.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/aaa/mod_auth_digest.dep b/modules/aaa/mod_auth_digest.dep
new file mode 100644
index 00000000..b10c1745
--- /dev/null
+++ b/modules/aaa/mod_auth_digest.dep
@@ -0,0 +1,39 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_auth_digest.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_auth_digest.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_md5.h"\
+ "..\..\srclib\apr-util\include\apr_base64.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_sha1.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ ".\mod_auth.h"\
+
diff --git a/modules/aaa/mod_auth_digest.mak b/modules/aaa/mod_auth_digest.mak
new file mode 100644
index 00000000..db5a390e
--- /dev/null
+++ b/modules/aaa/mod_auth_digest.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_auth_digest.dsp
+!IF "$(CFG)" == ""
+CFG=mod_auth_digest - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_auth_digest - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_auth_digest - Win32 Release" && "$(CFG)" != "mod_auth_digest - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_auth_digest.mak" CFG="mod_auth_digest - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_auth_digest - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_auth_digest - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_auth_digest - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_auth_digest.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_auth_digest.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_auth_digest.obj"
+ -@erase "$(INTDIR)\mod_auth_digest.res"
+ -@erase "$(INTDIR)\mod_auth_digest_src.idb"
+ -@erase "$(INTDIR)\mod_auth_digest_src.pdb"
+ -@erase "$(OUTDIR)\mod_auth_digest.exp"
+ -@erase "$(OUTDIR)\mod_auth_digest.lib"
+ -@erase "$(OUTDIR)\mod_auth_digest.pdb"
+ -@erase "$(OUTDIR)\mod_auth_digest.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_auth_digest_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_auth_digest.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_auth_digest.so" /d LONG_NAME="auth_digest_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_auth_digest.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_auth_digest.pdb" /debug /out:"$(OUTDIR)\mod_auth_digest.so" /implib:"$(OUTDIR)\mod_auth_digest.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_auth_digest.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_auth_digest.obj" \
+ "$(INTDIR)\mod_auth_digest.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_auth_digest.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_auth_digest.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_auth_digest.so"
+ if exist .\Release\mod_auth_digest.so.manifest mt.exe -manifest .\Release\mod_auth_digest.so.manifest -outputresource:.\Release\mod_auth_digest.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_auth_digest - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_auth_digest.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_auth_digest.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_auth_digest.obj"
+ -@erase "$(INTDIR)\mod_auth_digest.res"
+ -@erase "$(INTDIR)\mod_auth_digest_src.idb"
+ -@erase "$(INTDIR)\mod_auth_digest_src.pdb"
+ -@erase "$(OUTDIR)\mod_auth_digest.exp"
+ -@erase "$(OUTDIR)\mod_auth_digest.lib"
+ -@erase "$(OUTDIR)\mod_auth_digest.pdb"
+ -@erase "$(OUTDIR)\mod_auth_digest.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_auth_digest_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_auth_digest.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_auth_digest.so" /d LONG_NAME="auth_digest_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_auth_digest.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_auth_digest.pdb" /debug /out:"$(OUTDIR)\mod_auth_digest.so" /implib:"$(OUTDIR)\mod_auth_digest.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_auth_digest.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_auth_digest.obj" \
+ "$(INTDIR)\mod_auth_digest.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_auth_digest.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_auth_digest.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_auth_digest.so"
+ if exist .\Debug\mod_auth_digest.so.manifest mt.exe -manifest .\Debug\mod_auth_digest.so.manifest -outputresource:.\Debug\mod_auth_digest.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_auth_digest.dep")
+!INCLUDE "mod_auth_digest.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_auth_digest.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_auth_digest - Win32 Release" || "$(CFG)" == "mod_auth_digest - Win32 Debug"
+
+!IF "$(CFG)" == "mod_auth_digest - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_auth_digest - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_auth_digest - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_auth_digest - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_auth_digest - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_auth_digest - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_auth_digest - Win32 Release"
+
+
+"$(INTDIR)\mod_auth_digest.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_auth_digest.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_auth_digest.so" /d LONG_NAME="auth_digest_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_auth_digest - Win32 Debug"
+
+
+"$(INTDIR)\mod_auth_digest.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_auth_digest.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_auth_digest.so" /d LONG_NAME="auth_digest_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_auth_digest.c
+
+"$(INTDIR)\mod_auth_digest.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/aaa/mod_authn_alias.dep b/modules/aaa/mod_authn_alias.dep
new file mode 100644
index 00000000..8dcf9084
--- /dev/null
+++ b/modules/aaa/mod_authn_alias.dep
@@ -0,0 +1,29 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_authn_alias.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_authn_alias.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_auth.h"\
+
diff --git a/modules/aaa/mod_authn_alias.mak b/modules/aaa/mod_authn_alias.mak
new file mode 100644
index 00000000..f9a54407
--- /dev/null
+++ b/modules/aaa/mod_authn_alias.mak
@@ -0,0 +1,381 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_authn_alias.dsp
+!IF "$(CFG)" == ""
+CFG=mod_authn_alias - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_authn_alias - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_authn_alias - Win32 Release" && "$(CFG)" != "mod_authn_alias - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_authn_alias.mak" CFG="mod_authn_alias - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_authn_alias - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_authn_alias - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_alias - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authn_alias.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_authn_alias.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_auth_basic - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authn_alias.obj"
+ -@erase "$(INTDIR)\mod_authn_alias.res"
+ -@erase "$(INTDIR)\mod_authn_alias_src.idb"
+ -@erase "$(INTDIR)\mod_authn_alias_src.pdb"
+ -@erase "$(OUTDIR)\mod_authn_alias.exp"
+ -@erase "$(OUTDIR)\mod_authn_alias.lib"
+ -@erase "$(OUTDIR)\mod_authn_alias.pdb"
+ -@erase "$(OUTDIR)\mod_authn_alias.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authn_alias_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authn_alias.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_authn_alias.so" /d LONG_NAME="authn_alias_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authn_alias.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authn_alias.pdb" /debug /out:"$(OUTDIR)\mod_authn_alias.so" /implib:"$(OUTDIR)\mod_authn_alias.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authn_alias.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authn_alias.obj" \
+ "$(INTDIR)\mod_authn_alias.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authn_alias.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_authn_alias.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authn_alias.so"
+ if exist .\Release\mod_authn_alias.so.manifest mt.exe -manifest .\Release\mod_authn_alias.so.manifest -outputresource:.\Release\mod_authn_alias.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_authn_alias - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authn_alias.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_authn_alias.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_auth_basic - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authn_alias.obj"
+ -@erase "$(INTDIR)\mod_authn_alias.res"
+ -@erase "$(INTDIR)\mod_authn_alias_src.idb"
+ -@erase "$(INTDIR)\mod_authn_alias_src.pdb"
+ -@erase "$(OUTDIR)\mod_authn_alias.exp"
+ -@erase "$(OUTDIR)\mod_authn_alias.lib"
+ -@erase "$(OUTDIR)\mod_authn_alias.pdb"
+ -@erase "$(OUTDIR)\mod_authn_alias.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authn_alias_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authn_alias.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_authn_alias.so" /d LONG_NAME="authn_alias_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authn_alias.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authn_alias.pdb" /debug /out:"$(OUTDIR)\mod_authn_alias.so" /implib:"$(OUTDIR)\mod_authn_alias.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authn_alias.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authn_alias.obj" \
+ "$(INTDIR)\mod_authn_alias.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authn_alias.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_authn_alias.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authn_alias.so"
+ if exist .\Debug\mod_authn_alias.so.manifest mt.exe -manifest .\Debug\mod_authn_alias.so.manifest -outputresource:.\Debug\mod_authn_alias.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_authn_alias.dep")
+!INCLUDE "mod_authn_alias.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_authn_alias.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_authn_alias - Win32 Release" || "$(CFG)" == "mod_authn_alias - Win32 Debug"
+
+!IF "$(CFG)" == "mod_authn_alias - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_alias - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_alias - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_alias - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_alias - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_alias - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_alias - Win32 Release"
+
+"mod_auth_basic - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release"
+ cd "."
+
+"mod_auth_basic - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_authn_alias - Win32 Debug"
+
+"mod_auth_basic - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug"
+ cd "."
+
+"mod_auth_basic - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_authn_alias - Win32 Release"
+
+
+"$(INTDIR)\mod_authn_alias.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authn_alias.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_authn_alias.so" /d LONG_NAME="authn_alias_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_authn_alias - Win32 Debug"
+
+
+"$(INTDIR)\mod_authn_alias.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authn_alias.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_authn_alias.so" /d LONG_NAME="authn_alias_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_authn_alias.c
+
+"$(INTDIR)\mod_authn_alias.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/aaa/mod_authn_anon.dep b/modules/aaa/mod_authn_anon.dep
new file mode 100644
index 00000000..8b90313f
--- /dev/null
+++ b/modules/aaa/mod_authn_anon.dep
@@ -0,0 +1,32 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_authn_anon.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_authn_anon.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_auth.h"\
+
diff --git a/modules/aaa/mod_authn_anon.mak b/modules/aaa/mod_authn_anon.mak
new file mode 100644
index 00000000..54737c5a
--- /dev/null
+++ b/modules/aaa/mod_authn_anon.mak
@@ -0,0 +1,381 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_authn_anon.dsp
+!IF "$(CFG)" == ""
+CFG=mod_authn_anon - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_authn_anon - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_authn_anon - Win32 Release" && "$(CFG)" != "mod_authn_anon - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_authn_anon.mak" CFG="mod_authn_anon - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_authn_anon - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_authn_anon - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_anon - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authn_anon.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_authn_anon.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_auth_basic - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authn_anon.obj"
+ -@erase "$(INTDIR)\mod_authn_anon.res"
+ -@erase "$(INTDIR)\mod_authn_anon_src.idb"
+ -@erase "$(INTDIR)\mod_authn_anon_src.pdb"
+ -@erase "$(OUTDIR)\mod_authn_anon.exp"
+ -@erase "$(OUTDIR)\mod_authn_anon.lib"
+ -@erase "$(OUTDIR)\mod_authn_anon.pdb"
+ -@erase "$(OUTDIR)\mod_authn_anon.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authn_anon_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authn_anon.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_authn_anon.so" /d LONG_NAME="authn_anon_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authn_anon.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authn_anon.pdb" /debug /out:"$(OUTDIR)\mod_authn_anon.so" /implib:"$(OUTDIR)\mod_authn_anon.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authn_anon.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authn_anon.obj" \
+ "$(INTDIR)\mod_authn_anon.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authn_anon.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_authn_anon.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authn_anon.so"
+ if exist .\Release\mod_authn_anon.so.manifest mt.exe -manifest .\Release\mod_authn_anon.so.manifest -outputresource:.\Release\mod_authn_anon.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_authn_anon - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authn_anon.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_authn_anon.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_auth_basic - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authn_anon.obj"
+ -@erase "$(INTDIR)\mod_authn_anon.res"
+ -@erase "$(INTDIR)\mod_authn_anon_src.idb"
+ -@erase "$(INTDIR)\mod_authn_anon_src.pdb"
+ -@erase "$(OUTDIR)\mod_authn_anon.exp"
+ -@erase "$(OUTDIR)\mod_authn_anon.lib"
+ -@erase "$(OUTDIR)\mod_authn_anon.pdb"
+ -@erase "$(OUTDIR)\mod_authn_anon.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authn_anon_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authn_anon.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_authn_anon.so" /d LONG_NAME="authn_anon_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authn_anon.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authn_anon.pdb" /debug /out:"$(OUTDIR)\mod_authn_anon.so" /implib:"$(OUTDIR)\mod_authn_anon.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authn_anon.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authn_anon.obj" \
+ "$(INTDIR)\mod_authn_anon.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authn_anon.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_authn_anon.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authn_anon.so"
+ if exist .\Debug\mod_authn_anon.so.manifest mt.exe -manifest .\Debug\mod_authn_anon.so.manifest -outputresource:.\Debug\mod_authn_anon.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_authn_anon.dep")
+!INCLUDE "mod_authn_anon.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_authn_anon.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_authn_anon - Win32 Release" || "$(CFG)" == "mod_authn_anon - Win32 Debug"
+
+!IF "$(CFG)" == "mod_authn_anon - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_anon - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_anon - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_anon - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_anon - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_anon - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_anon - Win32 Release"
+
+"mod_auth_basic - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release"
+ cd "."
+
+"mod_auth_basic - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_authn_anon - Win32 Debug"
+
+"mod_auth_basic - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug"
+ cd "."
+
+"mod_auth_basic - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_authn_anon - Win32 Release"
+
+
+"$(INTDIR)\mod_authn_anon.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authn_anon.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_authn_anon.so" /d LONG_NAME="authn_anon_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_authn_anon - Win32 Debug"
+
+
+"$(INTDIR)\mod_authn_anon.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authn_anon.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_authn_anon.so" /d LONG_NAME="authn_anon_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_authn_anon.c
+
+"$(INTDIR)\mod_authn_anon.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/aaa/mod_authn_dbd.dep b/modules/aaa/mod_authn_dbd.dep
new file mode 100644
index 00000000..19e5e958
--- /dev/null
+++ b/modules/aaa/mod_authn_dbd.dep
@@ -0,0 +1,31 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_authn_dbd.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_authn_dbd.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\srclib\apr-util\include\apr_dbd.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr-util\include\apu_version.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_version.h"\
+ ".\mod_auth.h"\
+
diff --git a/modules/aaa/mod_authn_dbd.mak b/modules/aaa/mod_authn_dbd.mak
new file mode 100644
index 00000000..0d287e3d
--- /dev/null
+++ b/modules/aaa/mod_authn_dbd.mak
@@ -0,0 +1,409 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_authn_dbd.dsp
+!IF "$(CFG)" == ""
+CFG=mod_authn_dbd - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_authn_dbd - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_authn_dbd - Win32 Release" && "$(CFG)" != "mod_authn_dbd - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_authn_dbd.mak" CFG="mod_authn_dbd - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_authn_dbd - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_authn_dbd - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_dbd - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authn_dbd.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_dbd - Win32 Release" "mod_auth_basic - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_authn_dbd.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_auth_basic - Win32 ReleaseCLEAN" "mod_dbd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authn_dbd.obj"
+ -@erase "$(INTDIR)\mod_authn_dbd.res"
+ -@erase "$(INTDIR)\mod_authn_dbd_src.idb"
+ -@erase "$(INTDIR)\mod_authn_dbd_src.pdb"
+ -@erase "$(OUTDIR)\mod_authn_dbd.exp"
+ -@erase "$(OUTDIR)\mod_authn_dbd.lib"
+ -@erase "$(OUTDIR)\mod_authn_dbd.pdb"
+ -@erase "$(OUTDIR)\mod_authn_dbd.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "DBD_DECLARE_EXPORT" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authn_dbd_src" /FD /I ../database /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authn_dbd.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_authn_dbd.so" /d LONG_NAME="authn_dbd_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authn_dbd.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authn_dbd.pdb" /debug /out:"$(OUTDIR)\mod_authn_dbd.so" /implib:"$(OUTDIR)\mod_authn_dbd.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authn_dbd.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authn_dbd.obj" \
+ "$(INTDIR)\mod_authn_dbd.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib" \
+ "..\database\Release\mod_dbd.lib"
+
+"$(OUTDIR)\mod_authn_dbd.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_authn_dbd.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authn_dbd.so"
+ if exist .\Release\mod_authn_dbd.so.manifest mt.exe -manifest .\Release\mod_authn_dbd.so.manifest -outputresource:.\Release\mod_authn_dbd.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_authn_dbd - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authn_dbd.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_dbd - Win32 Debug" "mod_auth_basic - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_authn_dbd.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_auth_basic - Win32 DebugCLEAN" "mod_dbd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authn_dbd.obj"
+ -@erase "$(INTDIR)\mod_authn_dbd.res"
+ -@erase "$(INTDIR)\mod_authn_dbd_src.idb"
+ -@erase "$(INTDIR)\mod_authn_dbd_src.pdb"
+ -@erase "$(OUTDIR)\mod_authn_dbd.exp"
+ -@erase "$(OUTDIR)\mod_authn_dbd.lib"
+ -@erase "$(OUTDIR)\mod_authn_dbd.pdb"
+ -@erase "$(OUTDIR)\mod_authn_dbd.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "DBD_DECLARE_EXPORT" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authn_dbd_src" /FD /EHsc /I ../database /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authn_dbd.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_authn_dbd.so" /d LONG_NAME="authn_dbd_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authn_dbd.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authn_dbd.pdb" /debug /out:"$(OUTDIR)\mod_authn_dbd.so" /implib:"$(OUTDIR)\mod_authn_dbd.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authn_dbd.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authn_dbd.obj" \
+ "$(INTDIR)\mod_authn_dbd.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib" \
+ "..\database\Debug\mod_dbd.lib"
+
+"$(OUTDIR)\mod_authn_dbd.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_authn_dbd.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authn_dbd.so"
+ if exist .\Debug\mod_authn_dbd.so.manifest mt.exe -manifest .\Debug\mod_authn_dbd.so.manifest -outputresource:.\Debug\mod_authn_dbd.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_authn_dbd.dep")
+!INCLUDE "mod_authn_dbd.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_authn_dbd.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_authn_dbd - Win32 Release" || "$(CFG)" == "mod_authn_dbd - Win32 Debug"
+
+!IF "$(CFG)" == "mod_authn_dbd - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_dbd - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_dbd - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_dbd - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_dbd - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_dbd - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_dbd - Win32 Release"
+
+"mod_auth_basic - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release"
+ cd "."
+
+"mod_auth_basic - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_authn_dbd - Win32 Debug"
+
+"mod_auth_basic - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug"
+ cd "."
+
+"mod_auth_basic - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_dbd - Win32 Release"
+
+"mod_dbd - Win32 Release" :
+ cd ".\..\database"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_dbd.mak" CFG="mod_dbd - Win32 Release"
+ cd "..\aaa"
+
+"mod_dbd - Win32 ReleaseCLEAN" :
+ cd ".\..\database"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_dbd.mak" CFG="mod_dbd - Win32 Release" RECURSE=1 CLEAN
+ cd "..\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_dbd - Win32 Debug"
+
+"mod_dbd - Win32 Debug" :
+ cd ".\..\database"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_dbd.mak" CFG="mod_dbd - Win32 Debug"
+ cd "..\aaa"
+
+"mod_dbd - Win32 DebugCLEAN" :
+ cd ".\..\database"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_dbd.mak" CFG="mod_dbd - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\aaa"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_authn_dbd - Win32 Release"
+
+
+"$(INTDIR)\mod_authn_dbd.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authn_dbd.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_authn_dbd.so" /d LONG_NAME="authn_dbd_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_authn_dbd - Win32 Debug"
+
+
+"$(INTDIR)\mod_authn_dbd.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authn_dbd.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_authn_dbd.so" /d LONG_NAME="authn_dbd_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_authn_dbd.c
+
+"$(INTDIR)\mod_authn_dbd.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/aaa/mod_authn_dbm.dep b/modules/aaa/mod_authn_dbm.dep
new file mode 100644
index 00000000..9a283fcc
--- /dev/null
+++ b/modules/aaa/mod_authn_dbm.dep
@@ -0,0 +1,34 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_authn_dbm.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_authn_dbm.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_auth.h"\
+
diff --git a/modules/aaa/mod_authn_dbm.mak b/modules/aaa/mod_authn_dbm.mak
new file mode 100644
index 00000000..9e61ed45
--- /dev/null
+++ b/modules/aaa/mod_authn_dbm.mak
@@ -0,0 +1,381 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_authn_dbm.dsp
+!IF "$(CFG)" == ""
+CFG=mod_authn_dbm - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_authn_dbm - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_authn_dbm - Win32 Release" && "$(CFG)" != "mod_authn_dbm - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_authn_dbm.mak" CFG="mod_authn_dbm - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_authn_dbm - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_authn_dbm - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_dbm - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authn_dbm.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_authn_dbm.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_auth_basic - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authn_dbm.obj"
+ -@erase "$(INTDIR)\mod_authn_dbm.res"
+ -@erase "$(INTDIR)\mod_authn_dbm_src.idb"
+ -@erase "$(INTDIR)\mod_authn_dbm_src.pdb"
+ -@erase "$(OUTDIR)\mod_authn_dbm.exp"
+ -@erase "$(OUTDIR)\mod_authn_dbm.lib"
+ -@erase "$(OUTDIR)\mod_authn_dbm.pdb"
+ -@erase "$(OUTDIR)\mod_authn_dbm.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authn_dbm_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authn_dbm.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_authn_dbm.so" /d LONG_NAME="authn_dbm_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authn_dbm.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authn_dbm.pdb" /debug /out:"$(OUTDIR)\mod_authn_dbm.so" /implib:"$(OUTDIR)\mod_authn_dbm.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authn_dbm.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authn_dbm.obj" \
+ "$(INTDIR)\mod_authn_dbm.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authn_dbm.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_authn_dbm.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authn_dbm.so"
+ if exist .\Release\mod_authn_dbm.so.manifest mt.exe -manifest .\Release\mod_authn_dbm.so.manifest -outputresource:.\Release\mod_authn_dbm.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_authn_dbm - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authn_dbm.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_authn_dbm.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_auth_basic - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authn_dbm.obj"
+ -@erase "$(INTDIR)\mod_authn_dbm.res"
+ -@erase "$(INTDIR)\mod_authn_dbm_src.idb"
+ -@erase "$(INTDIR)\mod_authn_dbm_src.pdb"
+ -@erase "$(OUTDIR)\mod_authn_dbm.exp"
+ -@erase "$(OUTDIR)\mod_authn_dbm.lib"
+ -@erase "$(OUTDIR)\mod_authn_dbm.pdb"
+ -@erase "$(OUTDIR)\mod_authn_dbm.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authn_dbm_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authn_dbm.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_authn_dbm.so" /d LONG_NAME="authn_dbm_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authn_dbm.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authn_dbm.pdb" /debug /out:"$(OUTDIR)\mod_authn_dbm.so" /implib:"$(OUTDIR)\mod_authn_dbm.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authn_dbm.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authn_dbm.obj" \
+ "$(INTDIR)\mod_authn_dbm.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authn_dbm.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_authn_dbm.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authn_dbm.so"
+ if exist .\Debug\mod_authn_dbm.so.manifest mt.exe -manifest .\Debug\mod_authn_dbm.so.manifest -outputresource:.\Debug\mod_authn_dbm.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_authn_dbm.dep")
+!INCLUDE "mod_authn_dbm.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_authn_dbm.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_authn_dbm - Win32 Release" || "$(CFG)" == "mod_authn_dbm - Win32 Debug"
+
+!IF "$(CFG)" == "mod_authn_dbm - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_dbm - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_dbm - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_dbm - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_dbm - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_dbm - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_dbm - Win32 Release"
+
+"mod_auth_basic - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release"
+ cd "."
+
+"mod_auth_basic - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_authn_dbm - Win32 Debug"
+
+"mod_auth_basic - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug"
+ cd "."
+
+"mod_auth_basic - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_authn_dbm - Win32 Release"
+
+
+"$(INTDIR)\mod_authn_dbm.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authn_dbm.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_authn_dbm.so" /d LONG_NAME="authn_dbm_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_authn_dbm - Win32 Debug"
+
+
+"$(INTDIR)\mod_authn_dbm.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authn_dbm.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_authn_dbm.so" /d LONG_NAME="authn_dbm_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_authn_dbm.c
+
+"$(INTDIR)\mod_authn_dbm.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/aaa/mod_authn_default.dep b/modules/aaa/mod_authn_default.dep
new file mode 100644
index 00000000..ef61c579
--- /dev/null
+++ b/modules/aaa/mod_authn_default.dep
@@ -0,0 +1,30 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_authn_default.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_authn_default.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/aaa/mod_authn_default.mak b/modules/aaa/mod_authn_default.mak
new file mode 100644
index 00000000..c7d457fd
--- /dev/null
+++ b/modules/aaa/mod_authn_default.mak
@@ -0,0 +1,381 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_authn_default.dsp
+!IF "$(CFG)" == ""
+CFG=mod_authn_default - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_authn_default - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_authn_default - Win32 Release" && "$(CFG)" != "mod_authn_default - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_authn_default.mak" CFG="mod_authn_default - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_authn_default - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_authn_default - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_default - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authn_default.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_authn_default.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_auth_basic - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authn_default.obj"
+ -@erase "$(INTDIR)\mod_authn_default.res"
+ -@erase "$(INTDIR)\mod_authn_default_src.idb"
+ -@erase "$(INTDIR)\mod_authn_default_src.pdb"
+ -@erase "$(OUTDIR)\mod_authn_default.exp"
+ -@erase "$(OUTDIR)\mod_authn_default.lib"
+ -@erase "$(OUTDIR)\mod_authn_default.pdb"
+ -@erase "$(OUTDIR)\mod_authn_default.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authn_default_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authn_default.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_authn_default.so" /d LONG_NAME="authn_default_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authn_default.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authn_default.pdb" /debug /out:"$(OUTDIR)\mod_authn_default.so" /implib:"$(OUTDIR)\mod_authn_default.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authn_default.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authn_default.obj" \
+ "$(INTDIR)\mod_authn_default.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authn_default.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_authn_default.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authn_default.so"
+ if exist .\Release\mod_authn_default.so.manifest mt.exe -manifest .\Release\mod_authn_default.so.manifest -outputresource:.\Release\mod_authn_default.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_authn_default - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authn_default.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_authn_default.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_auth_basic - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authn_default.obj"
+ -@erase "$(INTDIR)\mod_authn_default.res"
+ -@erase "$(INTDIR)\mod_authn_default_src.idb"
+ -@erase "$(INTDIR)\mod_authn_default_src.pdb"
+ -@erase "$(OUTDIR)\mod_authn_default.exp"
+ -@erase "$(OUTDIR)\mod_authn_default.lib"
+ -@erase "$(OUTDIR)\mod_authn_default.pdb"
+ -@erase "$(OUTDIR)\mod_authn_default.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authn_default_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authn_default.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_authn_default.so" /d LONG_NAME="authn_default_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authn_default.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authn_default.pdb" /debug /out:"$(OUTDIR)\mod_authn_default.so" /implib:"$(OUTDIR)\mod_authn_default.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authn_default.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authn_default.obj" \
+ "$(INTDIR)\mod_authn_default.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authn_default.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_authn_default.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authn_default.so"
+ if exist .\Debug\mod_authn_default.so.manifest mt.exe -manifest .\Debug\mod_authn_default.so.manifest -outputresource:.\Debug\mod_authn_default.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_authn_default.dep")
+!INCLUDE "mod_authn_default.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_authn_default.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_authn_default - Win32 Release" || "$(CFG)" == "mod_authn_default - Win32 Debug"
+
+!IF "$(CFG)" == "mod_authn_default - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_default - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_default - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_default - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_default - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_default - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_default - Win32 Release"
+
+"mod_auth_basic - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release"
+ cd "."
+
+"mod_auth_basic - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_authn_default - Win32 Debug"
+
+"mod_auth_basic - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug"
+ cd "."
+
+"mod_auth_basic - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_authn_default - Win32 Release"
+
+
+"$(INTDIR)\mod_authn_default.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authn_default.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_authn_default.so" /d LONG_NAME="authn_default_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_authn_default - Win32 Debug"
+
+
+"$(INTDIR)\mod_authn_default.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authn_default.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_authn_default.so" /d LONG_NAME="authn_default_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_authn_default.c
+
+"$(INTDIR)\mod_authn_default.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/aaa/mod_authn_file.c b/modules/aaa/mod_authn_file.c
index 018733e1..f3b2b9db 100644
--- a/modules/aaa/mod_authn_file.c
+++ b/modules/aaa/mod_authn_file.c
@@ -70,6 +70,12 @@ static authn_status check_password(request_rec *r, const char *user,
apr_status_t status;
char *file_password = NULL;
+ if (!conf->pwfile) {
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
+ "AuthUserFile not specified in the configuration");
+ return AUTH_GENERAL_ERROR;
+ }
+
status = ap_pcfg_openfile(&f, r->pool, conf->pwfile);
if (status != APR_SUCCESS) {
@@ -118,6 +124,12 @@ static authn_status get_realm_hash(request_rec *r, const char *user,
apr_status_t status;
char *file_hash = NULL;
+ if (!conf->pwfile) {
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
+ "AuthUserFile not specified in the configuration");
+ return AUTH_GENERAL_ERROR;
+ }
+
status = ap_pcfg_openfile(&f, r->pool, conf->pwfile);
if (status != APR_SUCCESS) {
diff --git a/modules/aaa/mod_authn_file.dep b/modules/aaa/mod_authn_file.dep
new file mode 100644
index 00000000..963946b6
--- /dev/null
+++ b/modules/aaa/mod_authn_file.dep
@@ -0,0 +1,33 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_authn_file.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_authn_file.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_auth.h"\
+
diff --git a/modules/aaa/mod_authn_file.mak b/modules/aaa/mod_authn_file.mak
new file mode 100644
index 00000000..f8a6c855
--- /dev/null
+++ b/modules/aaa/mod_authn_file.mak
@@ -0,0 +1,381 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_authn_file.dsp
+!IF "$(CFG)" == ""
+CFG=mod_authn_file - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_authn_file - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_authn_file - Win32 Release" && "$(CFG)" != "mod_authn_file - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_authn_file.mak" CFG="mod_authn_file - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_authn_file - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_authn_file - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_file - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authn_file.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_authn_file.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_auth_basic - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authn_file.obj"
+ -@erase "$(INTDIR)\mod_authn_file.res"
+ -@erase "$(INTDIR)\mod_authn_file_src.idb"
+ -@erase "$(INTDIR)\mod_authn_file_src.pdb"
+ -@erase "$(OUTDIR)\mod_authn_file.exp"
+ -@erase "$(OUTDIR)\mod_authn_file.lib"
+ -@erase "$(OUTDIR)\mod_authn_file.pdb"
+ -@erase "$(OUTDIR)\mod_authn_file.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authn_file_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authn_file.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_authn_file.so" /d LONG_NAME="authn_file_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authn_file.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authn_file.pdb" /debug /out:"$(OUTDIR)\mod_authn_file.so" /implib:"$(OUTDIR)\mod_authn_file.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authn_file.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authn_file.obj" \
+ "$(INTDIR)\mod_authn_file.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authn_file.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_authn_file.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authn_file.so"
+ if exist .\Release\mod_authn_file.so.manifest mt.exe -manifest .\Release\mod_authn_file.so.manifest -outputresource:.\Release\mod_authn_file.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_authn_file - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authn_file.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_authn_file.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_auth_basic - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authn_file.obj"
+ -@erase "$(INTDIR)\mod_authn_file.res"
+ -@erase "$(INTDIR)\mod_authn_file_src.idb"
+ -@erase "$(INTDIR)\mod_authn_file_src.pdb"
+ -@erase "$(OUTDIR)\mod_authn_file.exp"
+ -@erase "$(OUTDIR)\mod_authn_file.lib"
+ -@erase "$(OUTDIR)\mod_authn_file.pdb"
+ -@erase "$(OUTDIR)\mod_authn_file.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authn_file_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authn_file.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_authn_file.so" /d LONG_NAME="authn_file_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authn_file.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authn_file.pdb" /debug /out:"$(OUTDIR)\mod_authn_file.so" /implib:"$(OUTDIR)\mod_authn_file.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authn_file.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authn_file.obj" \
+ "$(INTDIR)\mod_authn_file.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authn_file.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_authn_file.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authn_file.so"
+ if exist .\Debug\mod_authn_file.so.manifest mt.exe -manifest .\Debug\mod_authn_file.so.manifest -outputresource:.\Debug\mod_authn_file.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_authn_file.dep")
+!INCLUDE "mod_authn_file.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_authn_file.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_authn_file - Win32 Release" || "$(CFG)" == "mod_authn_file - Win32 Debug"
+
+!IF "$(CFG)" == "mod_authn_file - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_file - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_file - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_file - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_file - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authn_file - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authn_file - Win32 Release"
+
+"mod_auth_basic - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release"
+ cd "."
+
+"mod_auth_basic - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_authn_file - Win32 Debug"
+
+"mod_auth_basic - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug"
+ cd "."
+
+"mod_auth_basic - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_authn_file - Win32 Release"
+
+
+"$(INTDIR)\mod_authn_file.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authn_file.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_authn_file.so" /d LONG_NAME="authn_file_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_authn_file - Win32 Debug"
+
+
+"$(INTDIR)\mod_authn_file.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authn_file.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_authn_file.so" /d LONG_NAME="authn_file_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_authn_file.c
+
+"$(INTDIR)\mod_authn_file.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/aaa/mod_authnz_ldap.dep b/modules/aaa/mod_authnz_ldap.dep
new file mode 100644
index 00000000..d1405477
--- /dev/null
+++ b/modules/aaa/mod_authnz_ldap.dep
@@ -0,0 +1,36 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_authnz_ldap.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_authnz_ldap.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_ldap.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ ".\mod_auth.h"\
+
diff --git a/modules/aaa/mod_authnz_ldap.mak b/modules/aaa/mod_authnz_ldap.mak
new file mode 100644
index 00000000..facd97a3
--- /dev/null
+++ b/modules/aaa/mod_authnz_ldap.mak
@@ -0,0 +1,381 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_authnz_ldap.dsp
+!IF "$(CFG)" == ""
+CFG=mod_authnz_ldap - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_authnz_ldap - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_authnz_ldap - Win32 Release" && "$(CFG)" != "mod_authnz_ldap - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_authnz_ldap.mak" CFG="mod_authnz_ldap - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_authnz_ldap - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_authnz_ldap - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_authnz_ldap - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authnz_ldap.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_ldap - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_authnz_ldap.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_ldap - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authnz_ldap.obj"
+ -@erase "$(INTDIR)\mod_authnz_ldap.res"
+ -@erase "$(INTDIR)\mod_authnz_ldap_src.idb"
+ -@erase "$(INTDIR)\mod_authnz_ldap_src.pdb"
+ -@erase "$(OUTDIR)\mod_authnz_ldap.exp"
+ -@erase "$(OUTDIR)\mod_authnz_ldap.lib"
+ -@erase "$(OUTDIR)\mod_authnz_ldap.pdb"
+ -@erase "$(OUTDIR)\mod_authnz_ldap.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../ldap" /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "LDAP_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authnz_ldap_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authnz_ldap.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_authnz_ldap.so" /d LONG_NAME="authnz_ldap_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authnz_ldap.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib wldap32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authnz_ldap.pdb" /debug /out:"$(OUTDIR)\mod_authnz_ldap.so" /implib:"$(OUTDIR)\mod_authnz_ldap.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authnz_ldap.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authnz_ldap.obj" \
+ "$(INTDIR)\mod_authnz_ldap.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "..\ldap\Release\mod_ldap.lib"
+
+"$(OUTDIR)\mod_authnz_ldap.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_authnz_ldap.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authnz_ldap.so"
+ if exist .\Release\mod_authnz_ldap.so.manifest mt.exe -manifest .\Release\mod_authnz_ldap.so.manifest -outputresource:.\Release\mod_authnz_ldap.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_authnz_ldap - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authnz_ldap.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_ldap - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_authnz_ldap.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_ldap - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authnz_ldap.obj"
+ -@erase "$(INTDIR)\mod_authnz_ldap.res"
+ -@erase "$(INTDIR)\mod_authnz_ldap_src.idb"
+ -@erase "$(INTDIR)\mod_authnz_ldap_src.pdb"
+ -@erase "$(OUTDIR)\mod_authnz_ldap.exp"
+ -@erase "$(OUTDIR)\mod_authnz_ldap.lib"
+ -@erase "$(OUTDIR)\mod_authnz_ldap.pdb"
+ -@erase "$(OUTDIR)\mod_authnz_ldap.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../ldap" /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "LDAP_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authnz_ldap_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authnz_ldap.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_authnz_ldap.so" /d LONG_NAME="authnz_ldap_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authnz_ldap.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib wldap32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authnz_ldap.pdb" /debug /out:"$(OUTDIR)\mod_authnz_ldap.so" /implib:"$(OUTDIR)\mod_authnz_ldap.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authnz_ldap.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authnz_ldap.obj" \
+ "$(INTDIR)\mod_authnz_ldap.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "..\ldap\Debug\mod_ldap.lib"
+
+"$(OUTDIR)\mod_authnz_ldap.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_authnz_ldap.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authnz_ldap.so"
+ if exist .\Debug\mod_authnz_ldap.so.manifest mt.exe -manifest .\Debug\mod_authnz_ldap.so.manifest -outputresource:.\Debug\mod_authnz_ldap.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_authnz_ldap.dep")
+!INCLUDE "mod_authnz_ldap.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_authnz_ldap.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_authnz_ldap - Win32 Release" || "$(CFG)" == "mod_authnz_ldap - Win32 Debug"
+
+!IF "$(CFG)" == "mod_authnz_ldap - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authnz_ldap - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authnz_ldap - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authnz_ldap - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authnz_ldap - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authnz_ldap - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authnz_ldap - Win32 Release"
+
+"mod_ldap - Win32 Release" :
+ cd ".\..\ldap"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_ldap.mak" CFG="mod_ldap - Win32 Release"
+ cd "..\aaa"
+
+"mod_ldap - Win32 ReleaseCLEAN" :
+ cd ".\..\ldap"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_ldap.mak" CFG="mod_ldap - Win32 Release" RECURSE=1 CLEAN
+ cd "..\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authnz_ldap - Win32 Debug"
+
+"mod_ldap - Win32 Debug" :
+ cd ".\..\ldap"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_ldap.mak" CFG="mod_ldap - Win32 Debug"
+ cd "..\aaa"
+
+"mod_ldap - Win32 DebugCLEAN" :
+ cd ".\..\ldap"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_ldap.mak" CFG="mod_ldap - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\aaa"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_authnz_ldap - Win32 Release"
+
+
+"$(INTDIR)\mod_authnz_ldap.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authnz_ldap.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_authnz_ldap.so" /d LONG_NAME="authnz_ldap_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_authnz_ldap - Win32 Debug"
+
+
+"$(INTDIR)\mod_authnz_ldap.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authnz_ldap.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_authnz_ldap.so" /d LONG_NAME="authnz_ldap_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_authnz_ldap.c
+
+"$(INTDIR)\mod_authnz_ldap.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/aaa/mod_authz_dbm.dep b/modules/aaa/mod_authz_dbm.dep
new file mode 100644
index 00000000..e925b1ce
--- /dev/null
+++ b/modules/aaa/mod_authz_dbm.dep
@@ -0,0 +1,33 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_authz_dbm.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_authz_dbm.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_auth.h"\
+
diff --git a/modules/aaa/mod_authz_dbm.mak b/modules/aaa/mod_authz_dbm.mak
new file mode 100644
index 00000000..3aa689af
--- /dev/null
+++ b/modules/aaa/mod_authz_dbm.mak
@@ -0,0 +1,381 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_authz_dbm.dsp
+!IF "$(CFG)" == ""
+CFG=mod_authz_dbm - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_authz_dbm - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_authz_dbm - Win32 Release" && "$(CFG)" != "mod_authz_dbm - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_authz_dbm.mak" CFG="mod_authz_dbm - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_authz_dbm - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_authz_dbm - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_dbm - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authz_dbm.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_authz_dbm.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_auth_basic - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authz_dbm.obj"
+ -@erase "$(INTDIR)\mod_authz_dbm.res"
+ -@erase "$(INTDIR)\mod_authz_dbm_src.idb"
+ -@erase "$(INTDIR)\mod_authz_dbm_src.pdb"
+ -@erase "$(OUTDIR)\mod_authz_dbm.exp"
+ -@erase "$(OUTDIR)\mod_authz_dbm.lib"
+ -@erase "$(OUTDIR)\mod_authz_dbm.pdb"
+ -@erase "$(OUTDIR)\mod_authz_dbm.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authz_dbm_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authz_dbm.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_authz_dbm.so" /d LONG_NAME="authz_dbm_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authz_dbm.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authz_dbm.pdb" /debug /out:"$(OUTDIR)\mod_authz_dbm.so" /implib:"$(OUTDIR)\mod_authz_dbm.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authz_dbm.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authz_dbm.obj" \
+ "$(INTDIR)\mod_authz_dbm.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authz_dbm.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_authz_dbm.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authz_dbm.so"
+ if exist .\Release\mod_authz_dbm.so.manifest mt.exe -manifest .\Release\mod_authz_dbm.so.manifest -outputresource:.\Release\mod_authz_dbm.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_authz_dbm - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authz_dbm.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_authz_dbm.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_auth_basic - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authz_dbm.obj"
+ -@erase "$(INTDIR)\mod_authz_dbm.res"
+ -@erase "$(INTDIR)\mod_authz_dbm_src.idb"
+ -@erase "$(INTDIR)\mod_authz_dbm_src.pdb"
+ -@erase "$(OUTDIR)\mod_authz_dbm.exp"
+ -@erase "$(OUTDIR)\mod_authz_dbm.lib"
+ -@erase "$(OUTDIR)\mod_authz_dbm.pdb"
+ -@erase "$(OUTDIR)\mod_authz_dbm.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authz_dbm_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authz_dbm.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_authz_dbm.so" /d LONG_NAME="authz_dbm_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authz_dbm.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authz_dbm.pdb" /debug /out:"$(OUTDIR)\mod_authz_dbm.so" /implib:"$(OUTDIR)\mod_authz_dbm.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authz_dbm.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authz_dbm.obj" \
+ "$(INTDIR)\mod_authz_dbm.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authz_dbm.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_authz_dbm.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authz_dbm.so"
+ if exist .\Debug\mod_authz_dbm.so.manifest mt.exe -manifest .\Debug\mod_authz_dbm.so.manifest -outputresource:.\Debug\mod_authz_dbm.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_authz_dbm.dep")
+!INCLUDE "mod_authz_dbm.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_authz_dbm.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_authz_dbm - Win32 Release" || "$(CFG)" == "mod_authz_dbm - Win32 Debug"
+
+!IF "$(CFG)" == "mod_authz_dbm - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_dbm - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_dbm - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_dbm - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_dbm - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_dbm - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_dbm - Win32 Release"
+
+"mod_auth_basic - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release"
+ cd "."
+
+"mod_auth_basic - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_authz_dbm - Win32 Debug"
+
+"mod_auth_basic - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug"
+ cd "."
+
+"mod_auth_basic - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_authz_dbm - Win32 Release"
+
+
+"$(INTDIR)\mod_authz_dbm.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authz_dbm.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_authz_dbm.so" /d LONG_NAME="authz_dbm_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_authz_dbm - Win32 Debug"
+
+
+"$(INTDIR)\mod_authz_dbm.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authz_dbm.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_authz_dbm.so" /d LONG_NAME="authz_dbm_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_authz_dbm.c
+
+"$(INTDIR)\mod_authz_dbm.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/aaa/mod_authz_default.dep b/modules/aaa/mod_authz_default.dep
new file mode 100644
index 00000000..4f225eab
--- /dev/null
+++ b/modules/aaa/mod_authz_default.dep
@@ -0,0 +1,31 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_authz_default.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_authz_default.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/aaa/mod_authz_default.mak b/modules/aaa/mod_authz_default.mak
new file mode 100644
index 00000000..ed435114
--- /dev/null
+++ b/modules/aaa/mod_authz_default.mak
@@ -0,0 +1,381 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_authz_default.dsp
+!IF "$(CFG)" == ""
+CFG=mod_authz_default - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_authz_default - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_authz_default - Win32 Release" && "$(CFG)" != "mod_authz_default - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_authz_default.mak" CFG="mod_authz_default - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_authz_default - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_authz_default - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_default - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authz_default.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_authz_default.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_auth_basic - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authz_default.obj"
+ -@erase "$(INTDIR)\mod_authz_default.res"
+ -@erase "$(INTDIR)\mod_authz_default_src.idb"
+ -@erase "$(INTDIR)\mod_authz_default_src.pdb"
+ -@erase "$(OUTDIR)\mod_authz_default.exp"
+ -@erase "$(OUTDIR)\mod_authz_default.lib"
+ -@erase "$(OUTDIR)\mod_authz_default.pdb"
+ -@erase "$(OUTDIR)\mod_authz_default.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authz_default_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authz_default.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_authz_default.so" /d LONG_NAME="authz_default_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authz_default.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authz_default.pdb" /debug /out:"$(OUTDIR)\mod_authz_default.so" /implib:"$(OUTDIR)\mod_authz_default.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authz_default.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authz_default.obj" \
+ "$(INTDIR)\mod_authz_default.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authz_default.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_authz_default.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authz_default.so"
+ if exist .\Release\mod_authz_default.so.manifest mt.exe -manifest .\Release\mod_authz_default.so.manifest -outputresource:.\Release\mod_authz_default.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_authz_default - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authz_default.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_authz_default.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_auth_basic - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authz_default.obj"
+ -@erase "$(INTDIR)\mod_authz_default.res"
+ -@erase "$(INTDIR)\mod_authz_default_src.idb"
+ -@erase "$(INTDIR)\mod_authz_default_src.pdb"
+ -@erase "$(OUTDIR)\mod_authz_default.exp"
+ -@erase "$(OUTDIR)\mod_authz_default.lib"
+ -@erase "$(OUTDIR)\mod_authz_default.pdb"
+ -@erase "$(OUTDIR)\mod_authz_default.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authz_default_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authz_default.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_authz_default.so" /d LONG_NAME="authz_default_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authz_default.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authz_default.pdb" /debug /out:"$(OUTDIR)\mod_authz_default.so" /implib:"$(OUTDIR)\mod_authz_default.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authz_default.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authz_default.obj" \
+ "$(INTDIR)\mod_authz_default.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authz_default.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_authz_default.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authz_default.so"
+ if exist .\Debug\mod_authz_default.so.manifest mt.exe -manifest .\Debug\mod_authz_default.so.manifest -outputresource:.\Debug\mod_authz_default.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_authz_default.dep")
+!INCLUDE "mod_authz_default.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_authz_default.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_authz_default - Win32 Release" || "$(CFG)" == "mod_authz_default - Win32 Debug"
+
+!IF "$(CFG)" == "mod_authz_default - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_default - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_default - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_default - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_default - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_default - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_default - Win32 Release"
+
+"mod_auth_basic - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release"
+ cd "."
+
+"mod_auth_basic - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_authz_default - Win32 Debug"
+
+"mod_auth_basic - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug"
+ cd "."
+
+"mod_auth_basic - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_authz_default - Win32 Release"
+
+
+"$(INTDIR)\mod_authz_default.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authz_default.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_authz_default.so" /d LONG_NAME="authz_default_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_authz_default - Win32 Debug"
+
+
+"$(INTDIR)\mod_authz_default.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authz_default.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_authz_default.so" /d LONG_NAME="authz_default_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_authz_default.c
+
+"$(INTDIR)\mod_authz_default.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/aaa/mod_authz_groupfile.dep b/modules/aaa/mod_authz_groupfile.dep
new file mode 100644
index 00000000..2778e35b
--- /dev/null
+++ b/modules/aaa/mod_authz_groupfile.dep
@@ -0,0 +1,32 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_authz_groupfile.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_authz_groupfile.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_auth.h"\
+
diff --git a/modules/aaa/mod_authz_groupfile.mak b/modules/aaa/mod_authz_groupfile.mak
new file mode 100644
index 00000000..f249131b
--- /dev/null
+++ b/modules/aaa/mod_authz_groupfile.mak
@@ -0,0 +1,381 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_authz_groupfile.dsp
+!IF "$(CFG)" == ""
+CFG=mod_authz_groupfile - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_authz_groupfile - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_authz_groupfile - Win32 Release" && "$(CFG)" != "mod_authz_groupfile - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_authz_groupfile.mak" CFG="mod_authz_groupfile - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_authz_groupfile - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_authz_groupfile - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_groupfile - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authz_groupfile.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_authz_groupfile.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_auth_basic - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authz_groupfile.obj"
+ -@erase "$(INTDIR)\mod_authz_groupfile.res"
+ -@erase "$(INTDIR)\mod_authz_groupfile_src.idb"
+ -@erase "$(INTDIR)\mod_authz_groupfile_src.pdb"
+ -@erase "$(OUTDIR)\mod_authz_groupfile.exp"
+ -@erase "$(OUTDIR)\mod_authz_groupfile.lib"
+ -@erase "$(OUTDIR)\mod_authz_groupfile.pdb"
+ -@erase "$(OUTDIR)\mod_authz_groupfile.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authz_groupfile_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authz_groupfile.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_authz_groupfile.so" /d LONG_NAME="authz_groupfile_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authz_groupfile.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authz_groupfile.pdb" /debug /out:"$(OUTDIR)\mod_authz_groupfile.so" /implib:"$(OUTDIR)\mod_authz_groupfile.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authz_groupfile.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authz_groupfile.obj" \
+ "$(INTDIR)\mod_authz_groupfile.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authz_groupfile.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_authz_groupfile.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authz_groupfile.so"
+ if exist .\Release\mod_authz_groupfile.so.manifest mt.exe -manifest .\Release\mod_authz_groupfile.so.manifest -outputresource:.\Release\mod_authz_groupfile.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_authz_groupfile - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authz_groupfile.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_authz_groupfile.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_auth_basic - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authz_groupfile.obj"
+ -@erase "$(INTDIR)\mod_authz_groupfile.res"
+ -@erase "$(INTDIR)\mod_authz_groupfile_src.idb"
+ -@erase "$(INTDIR)\mod_authz_groupfile_src.pdb"
+ -@erase "$(OUTDIR)\mod_authz_groupfile.exp"
+ -@erase "$(OUTDIR)\mod_authz_groupfile.lib"
+ -@erase "$(OUTDIR)\mod_authz_groupfile.pdb"
+ -@erase "$(OUTDIR)\mod_authz_groupfile.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authz_groupfile_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authz_groupfile.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_authz_groupfile.so" /d LONG_NAME="authz_groupfile_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authz_groupfile.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authz_groupfile.pdb" /debug /out:"$(OUTDIR)\mod_authz_groupfile.so" /implib:"$(OUTDIR)\mod_authz_groupfile.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authz_groupfile.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authz_groupfile.obj" \
+ "$(INTDIR)\mod_authz_groupfile.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authz_groupfile.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_authz_groupfile.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authz_groupfile.so"
+ if exist .\Debug\mod_authz_groupfile.so.manifest mt.exe -manifest .\Debug\mod_authz_groupfile.so.manifest -outputresource:.\Debug\mod_authz_groupfile.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_authz_groupfile.dep")
+!INCLUDE "mod_authz_groupfile.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_authz_groupfile.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_authz_groupfile - Win32 Release" || "$(CFG)" == "mod_authz_groupfile - Win32 Debug"
+
+!IF "$(CFG)" == "mod_authz_groupfile - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_groupfile - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_groupfile - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_groupfile - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_groupfile - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_groupfile - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_groupfile - Win32 Release"
+
+"mod_auth_basic - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release"
+ cd "."
+
+"mod_auth_basic - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_authz_groupfile - Win32 Debug"
+
+"mod_auth_basic - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug"
+ cd "."
+
+"mod_auth_basic - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_authz_groupfile - Win32 Release"
+
+
+"$(INTDIR)\mod_authz_groupfile.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authz_groupfile.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_authz_groupfile.so" /d LONG_NAME="authz_groupfile_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_authz_groupfile - Win32 Debug"
+
+
+"$(INTDIR)\mod_authz_groupfile.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authz_groupfile.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_authz_groupfile.so" /d LONG_NAME="authz_groupfile_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_authz_groupfile.c
+
+"$(INTDIR)\mod_authz_groupfile.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/aaa/mod_authz_host.dep b/modules/aaa/mod_authz_host.dep
new file mode 100644
index 00000000..899f3d92
--- /dev/null
+++ b/modules/aaa/mod_authz_host.dep
@@ -0,0 +1,29 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_authz_host.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_authz_host.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/aaa/mod_authz_host.mak b/modules/aaa/mod_authz_host.mak
new file mode 100644
index 00000000..a439aa2e
--- /dev/null
+++ b/modules/aaa/mod_authz_host.mak
@@ -0,0 +1,381 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_authz_host.dsp
+!IF "$(CFG)" == ""
+CFG=mod_authz_host - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_authz_host - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_authz_host - Win32 Release" && "$(CFG)" != "mod_authz_host - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_authz_host.mak" CFG="mod_authz_host - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_authz_host - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_authz_host - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_host - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authz_host.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_authz_host.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_auth_basic - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authz_host.obj"
+ -@erase "$(INTDIR)\mod_authz_host.res"
+ -@erase "$(INTDIR)\mod_authz_host_src.idb"
+ -@erase "$(INTDIR)\mod_authz_host_src.pdb"
+ -@erase "$(OUTDIR)\mod_authz_host.exp"
+ -@erase "$(OUTDIR)\mod_authz_host.lib"
+ -@erase "$(OUTDIR)\mod_authz_host.pdb"
+ -@erase "$(OUTDIR)\mod_authz_host.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authz_host_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authz_host.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_authz_host.so" /d LONG_NAME="authz_host_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authz_host.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authz_host.pdb" /debug /out:"$(OUTDIR)\mod_authz_host.so" /implib:"$(OUTDIR)\mod_authz_host.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authz_host.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authz_host.obj" \
+ "$(INTDIR)\mod_authz_host.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authz_host.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_authz_host.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authz_host.so"
+ if exist .\Release\mod_authz_host.so.manifest mt.exe -manifest .\Release\mod_authz_host.so.manifest -outputresource:.\Release\mod_authz_host.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_authz_host - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authz_host.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_authz_host.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_auth_basic - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authz_host.obj"
+ -@erase "$(INTDIR)\mod_authz_host.res"
+ -@erase "$(INTDIR)\mod_authz_host_src.idb"
+ -@erase "$(INTDIR)\mod_authz_host_src.pdb"
+ -@erase "$(OUTDIR)\mod_authz_host.exp"
+ -@erase "$(OUTDIR)\mod_authz_host.lib"
+ -@erase "$(OUTDIR)\mod_authz_host.pdb"
+ -@erase "$(OUTDIR)\mod_authz_host.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authz_host_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authz_host.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_authz_host.so" /d LONG_NAME="authz_host_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authz_host.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authz_host.pdb" /debug /out:"$(OUTDIR)\mod_authz_host.so" /implib:"$(OUTDIR)\mod_authz_host.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authz_host.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authz_host.obj" \
+ "$(INTDIR)\mod_authz_host.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authz_host.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_authz_host.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authz_host.so"
+ if exist .\Debug\mod_authz_host.so.manifest mt.exe -manifest .\Debug\mod_authz_host.so.manifest -outputresource:.\Debug\mod_authz_host.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_authz_host.dep")
+!INCLUDE "mod_authz_host.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_authz_host.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_authz_host - Win32 Release" || "$(CFG)" == "mod_authz_host - Win32 Debug"
+
+!IF "$(CFG)" == "mod_authz_host - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_host - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_host - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_host - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_host - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_host - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_host - Win32 Release"
+
+"mod_auth_basic - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release"
+ cd "."
+
+"mod_auth_basic - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_authz_host - Win32 Debug"
+
+"mod_auth_basic - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug"
+ cd "."
+
+"mod_auth_basic - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_authz_host - Win32 Release"
+
+
+"$(INTDIR)\mod_authz_host.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authz_host.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_authz_host.so" /d LONG_NAME="authz_host_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_authz_host - Win32 Debug"
+
+
+"$(INTDIR)\mod_authz_host.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authz_host.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_authz_host.so" /d LONG_NAME="authz_host_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_authz_host.c
+
+"$(INTDIR)\mod_authz_host.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/aaa/mod_authz_owner.dep b/modules/aaa/mod_authz_owner.dep
new file mode 100644
index 00000000..8059d07f
--- /dev/null
+++ b/modules/aaa/mod_authz_owner.dep
@@ -0,0 +1,31 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_authz_owner.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_authz_owner.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_auth.h"\
+
diff --git a/modules/aaa/mod_authz_owner.mak b/modules/aaa/mod_authz_owner.mak
new file mode 100644
index 00000000..a38c80ff
--- /dev/null
+++ b/modules/aaa/mod_authz_owner.mak
@@ -0,0 +1,381 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_authz_owner.dsp
+!IF "$(CFG)" == ""
+CFG=mod_authz_owner - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_authz_owner - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_authz_owner - Win32 Release" && "$(CFG)" != "mod_authz_owner - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_authz_owner.mak" CFG="mod_authz_owner - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_authz_owner - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_authz_owner - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_owner - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authz_owner.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_authz_owner.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_auth_basic - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authz_owner.obj"
+ -@erase "$(INTDIR)\mod_authz_owner.res"
+ -@erase "$(INTDIR)\mod_authz_owner_src.idb"
+ -@erase "$(INTDIR)\mod_authz_owner_src.pdb"
+ -@erase "$(OUTDIR)\mod_authz_owner.exp"
+ -@erase "$(OUTDIR)\mod_authz_owner.lib"
+ -@erase "$(OUTDIR)\mod_authz_owner.pdb"
+ -@erase "$(OUTDIR)\mod_authz_owner.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authz_owner_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authz_owner.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_authz_owner.so" /d LONG_NAME="authz_owner_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authz_owner.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authz_owner.pdb" /debug /out:"$(OUTDIR)\mod_authz_owner.so" /implib:"$(OUTDIR)\mod_authz_owner.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authz_owner.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authz_owner.obj" \
+ "$(INTDIR)\mod_authz_owner.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authz_owner.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_authz_owner.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authz_owner.so"
+ if exist .\Release\mod_authz_owner.so.manifest mt.exe -manifest .\Release\mod_authz_owner.so.manifest -outputresource:.\Release\mod_authz_owner.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_authz_owner - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authz_owner.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_authz_owner.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_auth_basic - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authz_owner.obj"
+ -@erase "$(INTDIR)\mod_authz_owner.res"
+ -@erase "$(INTDIR)\mod_authz_owner_src.idb"
+ -@erase "$(INTDIR)\mod_authz_owner_src.pdb"
+ -@erase "$(OUTDIR)\mod_authz_owner.exp"
+ -@erase "$(OUTDIR)\mod_authz_owner.lib"
+ -@erase "$(OUTDIR)\mod_authz_owner.pdb"
+ -@erase "$(OUTDIR)\mod_authz_owner.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authz_owner_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authz_owner.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_authz_owner.so" /d LONG_NAME="authz_owner_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authz_owner.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authz_owner.pdb" /debug /out:"$(OUTDIR)\mod_authz_owner.so" /implib:"$(OUTDIR)\mod_authz_owner.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authz_owner.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authz_owner.obj" \
+ "$(INTDIR)\mod_authz_owner.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authz_owner.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_authz_owner.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authz_owner.so"
+ if exist .\Debug\mod_authz_owner.so.manifest mt.exe -manifest .\Debug\mod_authz_owner.so.manifest -outputresource:.\Debug\mod_authz_owner.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_authz_owner.dep")
+!INCLUDE "mod_authz_owner.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_authz_owner.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_authz_owner - Win32 Release" || "$(CFG)" == "mod_authz_owner - Win32 Debug"
+
+!IF "$(CFG)" == "mod_authz_owner - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_owner - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_owner - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_owner - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_owner - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_owner - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_owner - Win32 Release"
+
+"mod_auth_basic - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release"
+ cd "."
+
+"mod_auth_basic - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_authz_owner - Win32 Debug"
+
+"mod_auth_basic - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug"
+ cd "."
+
+"mod_auth_basic - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_authz_owner - Win32 Release"
+
+
+"$(INTDIR)\mod_authz_owner.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authz_owner.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_authz_owner.so" /d LONG_NAME="authz_owner_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_authz_owner - Win32 Debug"
+
+
+"$(INTDIR)\mod_authz_owner.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authz_owner.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_authz_owner.so" /d LONG_NAME="authz_owner_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_authz_owner.c
+
+"$(INTDIR)\mod_authz_owner.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/aaa/mod_authz_user.dep b/modules/aaa/mod_authz_user.dep
new file mode 100644
index 00000000..a025ed26
--- /dev/null
+++ b/modules/aaa/mod_authz_user.dep
@@ -0,0 +1,30 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_authz_user.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_authz_user.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/aaa/mod_authz_user.mak b/modules/aaa/mod_authz_user.mak
new file mode 100644
index 00000000..ff156874
--- /dev/null
+++ b/modules/aaa/mod_authz_user.mak
@@ -0,0 +1,381 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_authz_user.dsp
+!IF "$(CFG)" == ""
+CFG=mod_authz_user - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_authz_user - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_authz_user - Win32 Release" && "$(CFG)" != "mod_authz_user - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_authz_user.mak" CFG="mod_authz_user - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_authz_user - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_authz_user - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_user - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authz_user.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_authz_user.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_auth_basic - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authz_user.obj"
+ -@erase "$(INTDIR)\mod_authz_user.res"
+ -@erase "$(INTDIR)\mod_authz_user_src.idb"
+ -@erase "$(INTDIR)\mod_authz_user_src.pdb"
+ -@erase "$(OUTDIR)\mod_authz_user.exp"
+ -@erase "$(OUTDIR)\mod_authz_user.lib"
+ -@erase "$(OUTDIR)\mod_authz_user.pdb"
+ -@erase "$(OUTDIR)\mod_authz_user.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authz_user_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authz_user.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_authz_user.so" /d LONG_NAME="authz_user_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authz_user.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authz_user.pdb" /debug /out:"$(OUTDIR)\mod_authz_user.so" /implib:"$(OUTDIR)\mod_authz_user.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authz_user.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authz_user.obj" \
+ "$(INTDIR)\mod_authz_user.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authz_user.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_authz_user.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authz_user.so"
+ if exist .\Release\mod_authz_user.so.manifest mt.exe -manifest .\Release\mod_authz_user.so.manifest -outputresource:.\Release\mod_authz_user.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_authz_user - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_authz_user.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_auth_basic - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_authz_user.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_auth_basic - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_authz_user.obj"
+ -@erase "$(INTDIR)\mod_authz_user.res"
+ -@erase "$(INTDIR)\mod_authz_user_src.idb"
+ -@erase "$(INTDIR)\mod_authz_user_src.pdb"
+ -@erase "$(OUTDIR)\mod_authz_user.exp"
+ -@erase "$(OUTDIR)\mod_authz_user.lib"
+ -@erase "$(OUTDIR)\mod_authz_user.pdb"
+ -@erase "$(OUTDIR)\mod_authz_user.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_authz_user_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_authz_user.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_authz_user.so" /d LONG_NAME="authz_user_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_authz_user.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_authz_user.pdb" /debug /out:"$(OUTDIR)\mod_authz_user.so" /implib:"$(OUTDIR)\mod_authz_user.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_authz_user.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_authz_user.obj" \
+ "$(INTDIR)\mod_authz_user.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_auth_basic.lib"
+
+"$(OUTDIR)\mod_authz_user.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_authz_user.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_authz_user.so"
+ if exist .\Debug\mod_authz_user.so.manifest mt.exe -manifest .\Debug\mod_authz_user.so.manifest -outputresource:.\Debug\mod_authz_user.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_authz_user.dep")
+!INCLUDE "mod_authz_user.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_authz_user.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_authz_user - Win32 Release" || "$(CFG)" == "mod_authz_user - Win32 Debug"
+
+!IF "$(CFG)" == "mod_authz_user - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_user - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_user - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_user - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\aaa"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_user - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ELSEIF "$(CFG)" == "mod_authz_user - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\aaa"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\aaa"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_authz_user - Win32 Release"
+
+"mod_auth_basic - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release"
+ cd "."
+
+"mod_auth_basic - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_authz_user - Win32 Debug"
+
+"mod_auth_basic - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug"
+ cd "."
+
+"mod_auth_basic - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_auth_basic.mak" CFG="mod_auth_basic - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_authz_user - Win32 Release"
+
+
+"$(INTDIR)\mod_authz_user.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authz_user.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_authz_user.so" /d LONG_NAME="authz_user_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_authz_user - Win32 Debug"
+
+
+"$(INTDIR)\mod_authz_user.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_authz_user.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_authz_user.so" /d LONG_NAME="authz_user_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_authz_user.c
+
+"$(INTDIR)\mod_authz_user.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/arch/netware/libprews.c b/modules/arch/netware/libprews.c
index de29eb16..9a0b90e6 100644
--- a/modules/arch/netware/libprews.c
+++ b/modules/arch/netware/libprews.c
@@ -25,9 +25,8 @@
provide.
------------------------------------------------------------------*/
#include <netware.h>
-//#include "stddef.h"
#ifdef USE_WINSOCK
-#include "novsock2.h"
+#include <novsock2.h>
#endif
int _NonAppStart
@@ -70,11 +69,11 @@ void _NonAppStop( void )
#ifdef USE_WINSOCK
WSACleanup();
#else
- return;0;
+ return;
#endif
}
int _NonAppCheckUnload( void )
{
- return 0;
+ return 0;
}
diff --git a/modules/arch/netware/mod_auth_basic.def b/modules/arch/netware/mod_auth_basic.def
deleted file mode 100644
index 0a6f81aa..00000000
--- a/modules/arch/netware/mod_auth_basic.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT auth_basic_module
diff --git a/modules/arch/netware/mod_auth_digest.def b/modules/arch/netware/mod_auth_digest.def
deleted file mode 100644
index 6a3aa085..00000000
--- a/modules/arch/netware/mod_auth_digest.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT auth_digest_module
diff --git a/modules/arch/netware/mod_authn_anon.def b/modules/arch/netware/mod_authn_anon.def
deleted file mode 100644
index 78bb61be..00000000
--- a/modules/arch/netware/mod_authn_anon.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT authn_anon_module
diff --git a/modules/arch/netware/mod_authn_dbm.def b/modules/arch/netware/mod_authn_dbm.def
deleted file mode 100644
index 7a242b03..00000000
--- a/modules/arch/netware/mod_authn_dbm.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORT authn_dbm_module
-
diff --git a/modules/arch/netware/mod_authn_default.def b/modules/arch/netware/mod_authn_default.def
deleted file mode 100644
index fb94aa37..00000000
--- a/modules/arch/netware/mod_authn_default.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT authn_default_module
diff --git a/modules/arch/netware/mod_authn_file.def b/modules/arch/netware/mod_authn_file.def
deleted file mode 100644
index fd0765a1..00000000
--- a/modules/arch/netware/mod_authn_file.def
+++ /dev/null
@@ -1,3 +0,0 @@
-EXPORT authn_file_module
-
-
diff --git a/modules/arch/netware/mod_authz_dbm.def b/modules/arch/netware/mod_authz_dbm.def
deleted file mode 100644
index d52639c1..00000000
--- a/modules/arch/netware/mod_authz_dbm.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT authz_dbm_module
diff --git a/modules/arch/netware/mod_authz_default.def b/modules/arch/netware/mod_authz_default.def
deleted file mode 100644
index 164564f5..00000000
--- a/modules/arch/netware/mod_authz_default.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT authz_default_module
diff --git a/modules/arch/netware/mod_authz_groupfile.def b/modules/arch/netware/mod_authz_groupfile.def
deleted file mode 100644
index 25d95551..00000000
--- a/modules/arch/netware/mod_authz_groupfile.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORT authz_groupfile_module
-
diff --git a/modules/arch/netware/mod_authz_user.def b/modules/arch/netware/mod_authz_user.def
deleted file mode 100644
index 043418b6..00000000
--- a/modules/arch/netware/mod_authz_user.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT authz_user_module
diff --git a/modules/arch/netware/mod_cache.def b/modules/arch/netware/mod_cache.def
deleted file mode 100644
index 6fd6423b..00000000
--- a/modules/arch/netware/mod_cache.def
+++ /dev/null
@@ -1,5 +0,0 @@
-EXPORT cache_module
-EXPORT @mod_cache.imp
-
-
-
diff --git a/modules/arch/netware/mod_cern_meta.def b/modules/arch/netware/mod_cern_meta.def
deleted file mode 100644
index 5638325b..00000000
--- a/modules/arch/netware/mod_cern_meta.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT cern_meta_module
diff --git a/modules/arch/netware/mod_dav.def b/modules/arch/netware/mod_dav.def
deleted file mode 100644
index fb56c92f..00000000
--- a/modules/arch/netware/mod_dav.def
+++ /dev/null
@@ -1,3 +0,0 @@
-EXPORT dav_module
-EXPORT @dav.imp
-
diff --git a/modules/arch/netware/mod_disk_cache.def b/modules/arch/netware/mod_disk_cache.def
deleted file mode 100644
index 0a9440ad..00000000
--- a/modules/arch/netware/mod_disk_cache.def
+++ /dev/null
@@ -1,3 +0,0 @@
-IMPORT @mod_cache.imp
-EXPORT disk_cache_module
-
diff --git a/modules/arch/netware/mod_echo.def b/modules/arch/netware/mod_echo.def
deleted file mode 100644
index 694135a5..00000000
--- a/modules/arch/netware/mod_echo.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORT echo_module
-
diff --git a/modules/arch/netware/mod_expires.def b/modules/arch/netware/mod_expires.def
deleted file mode 100644
index bc416630..00000000
--- a/modules/arch/netware/mod_expires.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT expires_module
diff --git a/modules/arch/netware/mod_file_cache.def b/modules/arch/netware/mod_file_cache.def
deleted file mode 100644
index 8ab98cfb..00000000
--- a/modules/arch/netware/mod_file_cache.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORT file_cache_module
-
diff --git a/modules/arch/netware/mod_headers.def b/modules/arch/netware/mod_headers.def
deleted file mode 100644
index 2fe35a85..00000000
--- a/modules/arch/netware/mod_headers.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT headers_module
diff --git a/modules/arch/netware/mod_info.def b/modules/arch/netware/mod_info.def
deleted file mode 100644
index ce71cb37..00000000
--- a/modules/arch/netware/mod_info.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT info_module
diff --git a/modules/arch/netware/mod_logio.def b/modules/arch/netware/mod_logio.def
deleted file mode 100644
index 68c70891..00000000
--- a/modules/arch/netware/mod_logio.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORT logio_module
-
diff --git a/modules/arch/netware/mod_mem_cache.def b/modules/arch/netware/mod_mem_cache.def
deleted file mode 100644
index 531d6871..00000000
--- a/modules/arch/netware/mod_mem_cache.def
+++ /dev/null
@@ -1,3 +0,0 @@
-IMPORT @mod_cache.imp
-EXPORT mem_cache_module
-
diff --git a/modules/arch/netware/mod_mime_magic.def b/modules/arch/netware/mod_mime_magic.def
deleted file mode 100644
index 95307476..00000000
--- a/modules/arch/netware/mod_mime_magic.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT mime_magic_module
diff --git a/modules/arch/netware/mod_nw_ssl.c b/modules/arch/netware/mod_nw_ssl.c
index e294763a..b3df153b 100644
--- a/modules/arch/netware/mod_nw_ssl.c
+++ b/modules/arch/netware/mod_nw_ssl.c
@@ -41,9 +41,11 @@
#include "httpd.h"
#include "http_config.h"
+#include "http_connection.h"
+#include "http_core.h"
#include "http_log.h"
#include "http_protocol.h"
-#include "http_core.h"
+#include "http_request.h"
#include "ap_listen.h"
#include "apr_strings.h"
#include "apr_portable.h"
@@ -132,7 +134,7 @@ static ap_listen_rec *nw_old_listeners;
#define get_nwssl_cfg(srv) (NWSSLSrvConfigRec *) ap_get_module_config(srv->module_config, &nwssl_module)
-static void build_cert_list (apr_pool_t *p)
+static void build_cert_list(apr_pool_t *p)
{
int i;
char **rootcerts = (char **)certlist->elts;
@@ -233,12 +235,10 @@ static int make_secure_socket(apr_pool_t *pconf, const struct sockaddr_in *serve
char* key, int mutual, server_rec *sconf)
{
int s;
- int one = 1;
char addr[MAX_ADDRESS];
struct sslserveropts opts;
unsigned int optParam;
WSAPROTOCOL_INFO SecureProtoInfo;
- int no = 1;
if (server->sin_addr.s_addr != htonl(INADDR_ANY))
apr_snprintf(addr, sizeof(addr), "address %s port %d",
@@ -291,7 +291,7 @@ static int make_secure_socket(apr_pool_t *pconf, const struct sockaddr_in *serve
}
if (mutual) {
- optParam = 0x07; // SO_SSL_AUTH_CLIENT
+ optParam = 0x07; /* SO_SSL_AUTH_CLIENT */
if(WSAIoctl(s, SO_SSL_SET_FLAGS, (char*)&optParam,
sizeof(optParam), NULL, 0, NULL, NULL, NULL)) {
@@ -309,7 +309,7 @@ static int make_secure_socket(apr_pool_t *pconf, const struct sockaddr_in *serve
return s;
}
-int convert_secure_socket(conn_rec *c, apr_socket_t *csd)
+static int convert_secure_socket(conn_rec *c, apr_socket_t *csd)
{
int rcode;
struct tlsclientopts sWS2Opts;
@@ -346,17 +346,17 @@ int convert_secure_socket(conn_rec *c, apr_socket_t *csd)
sWS2Opts.options = &sNWTLSOpts;
if (numcerts) {
- sNWTLSOpts.walletProvider = WAL_PROV_DER; //the wallet provider defined in wdefs.h
- sNWTLSOpts.TrustedRootList = certarray; //array of certs in UNICODE format
- sNWTLSOpts.numElementsInTRList = numcerts; //number of certs in TRList
+ sNWTLSOpts.walletProvider = WAL_PROV_DER; /* the wallet provider defined in wdefs.h */
+ sNWTLSOpts.TrustedRootList = certarray; /* array of certs in UNICODE format */
+ sNWTLSOpts.numElementsInTRList = numcerts; /* number of certs in TRList */
}
else {
/* setup the socket for SSL */
unicpy(keyFileName, L"SSL CertificateIP");
- sWS2Opts.wallet = keyFileName; /* no client certificate */
+ sWS2Opts.wallet = keyFileName; /* no client certificate */
sWS2Opts.walletlen = unilen(keyFileName);
- sNWTLSOpts.walletProvider = WAL_PROV_KMO; //the wallet provider defined in wdefs.h
+ sNWTLSOpts.walletProvider = WAL_PROV_KMO; /* the wallet provider defined in wdefs.h */
}
/* make the IOCTL call */
@@ -364,7 +364,7 @@ int convert_secure_socket(conn_rec *c, apr_socket_t *csd)
sizeof(struct tlsclientopts), NULL, 0, NULL,
NULL, NULL);
- /* make sure that it was successfull */
+ /* make sure that it was successful */
if(SOCKET_ERROR == rcode ){
ap_log_error(APLOG_MARK, APLOG_ERR, 0, c->base_server,
"Error: %d with ioctl (SO_TLS_SET_CLIENT)", WSAGetLastError());
@@ -372,7 +372,7 @@ int convert_secure_socket(conn_rec *c, apr_socket_t *csd)
return rcode;
}
-int SSLize_Socket(SOCKET socketHnd, char *key, request_rec *r)
+static int SSLize_Socket(SOCKET socketHnd, char *key, request_rec *r)
{
int rcode;
struct tlsserveropts sWS2Opts;
@@ -406,7 +406,7 @@ int SSLize_Socket(SOCKET socketHnd, char *key, request_rec *r)
loc2uni(UNI_LOCAL_DEFAULT, SASKey, key, 0, 0);
- //setup the tlsserveropts struct
+ /* setup the tlsserveropts struct */
sWS2Opts.wallet = SASKey;
sWS2Opts.walletlen = unilen(SASKey);
sWS2Opts.sidtimeout = 0;
@@ -414,7 +414,7 @@ int SSLize_Socket(SOCKET socketHnd, char *key, request_rec *r)
sWS2Opts.siddir = NULL;
sWS2Opts.options = &sNWTLSOpts;
- //setup the nwtlsopts structure
+ /* setup the nwtlsopts structure */
sNWTLSOpts.walletProvider = WAL_PROV_KMO;
sNWTLSOpts.keysList = NULL;
@@ -546,7 +546,6 @@ static const char *set_secure_upgradeable_listener(cmd_parms *cmd, void *dummy,
const char *ips, const char* key)
{
NWSSLSrvConfigRec* sc = get_nwssl_cfg(cmd->server);
- seclistenup_rec *listen_node;
const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY);
char *ports, *addr;
unsigned short port;
@@ -626,8 +625,6 @@ static int nwssl_pre_config(apr_pool_t *pconf, apr_pool_t *plog,
apr_pool_t *ptemp)
{
seclisten_rec* ap_old_seclisteners;
- char *ports, *addr;
- unsigned short port;
ap_listen_rec **walk;
seclisten_rec **secwalk;
apr_sockaddr_t *sa;
@@ -724,7 +721,6 @@ static int nwssl_post_config(apr_pool_t *pconf, apr_pool_t *plog,
ap_listen_rec *walk;
seclisten_rec *secwalk, *lastsecwalk;
apr_sockaddr_t *sa;
- int found_listener = 0;
/* Walk the old listeners list and compare it to the secure
listeners list and remove any secure listener records that
@@ -896,8 +892,6 @@ static int isSecureUpgraded (const request_rec *r)
static int nwssl_hook_Fixup(request_rec *r)
{
- int i;
-
if (!isSecure(r) && !isSecureUpgraded(r))
return DECLINED;
diff --git a/modules/arch/netware/mod_proxy.def b/modules/arch/netware/mod_proxy.def
deleted file mode 100644
index ab02a53c..00000000
--- a/modules/arch/netware/mod_proxy.def
+++ /dev/null
@@ -1,6 +0,0 @@
-EXPORT proxy_module
-EXPORT proxy_hook_scheme_handler
-EXPORT proxy_hook_canon_handler
-EXPORT ap_proxy_ssl_enable
-EXPORT ap_proxy_ssl_disable
-EXPORT proxy_run_fixups
diff --git a/modules/arch/netware/mod_proxy_connect.def b/modules/arch/netware/mod_proxy_connect.def
deleted file mode 100644
index 13611140..00000000
--- a/modules/arch/netware/mod_proxy_connect.def
+++ /dev/null
@@ -1,4 +0,0 @@
-EXPORT proxy_connect_module
-IMPORT proxy_module
-IMPORT proxy_hook_scheme_handler
-IMPORT proxy_hook_canon_handler
diff --git a/modules/arch/netware/mod_proxy_ftp.def b/modules/arch/netware/mod_proxy_ftp.def
deleted file mode 100644
index f2dba7d6..00000000
--- a/modules/arch/netware/mod_proxy_ftp.def
+++ /dev/null
@@ -1,4 +0,0 @@
-EXPORT proxy_ftp_module
-IMPORT proxy_module
-IMPORT proxy_hook_scheme_handler
-IMPORT proxy_hook_canon_handler
diff --git a/modules/arch/netware/mod_proxy_http.def b/modules/arch/netware/mod_proxy_http.def
deleted file mode 100644
index b24358b1..00000000
--- a/modules/arch/netware/mod_proxy_http.def
+++ /dev/null
@@ -1,7 +0,0 @@
-EXPORT proxy_http_module
-IMPORT proxy_module
-IMPORT proxy_hook_scheme_handler
-IMPORT proxy_run_fixups
-IMPORT proxy_hook_canon_handler
-IMPORT ap_proxy_ssl_enable
-IMPORT ap_proxy_ssl_disable
diff --git a/modules/arch/netware/mod_rewrite.def b/modules/arch/netware/mod_rewrite.def
deleted file mode 100644
index cfdcf6b1..00000000
--- a/modules/arch/netware/mod_rewrite.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT rewrite_module
diff --git a/modules/arch/netware/mod_speling.def b/modules/arch/netware/mod_speling.def
deleted file mode 100644
index 3d45a6aa..00000000
--- a/modules/arch/netware/mod_speling.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT speling_module
diff --git a/modules/arch/netware/mod_status.def b/modules/arch/netware/mod_status.def
deleted file mode 100644
index 9a5a32d4..00000000
--- a/modules/arch/netware/mod_status.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORT status_module
-
diff --git a/modules/arch/netware/mod_unique_id.def b/modules/arch/netware/mod_unique_id.def
deleted file mode 100644
index 0b72c1ec..00000000
--- a/modules/arch/netware/mod_unique_id.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT unique_id_module
diff --git a/modules/arch/netware/mod_usertrack.def b/modules/arch/netware/mod_usertrack.def
deleted file mode 100644
index 7264c41e..00000000
--- a/modules/arch/netware/mod_usertrack.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT usertrack_module
diff --git a/modules/arch/netware/mod_vhost_alias.def b/modules/arch/netware/mod_vhost_alias.def
deleted file mode 100644
index 574b85f9..00000000
--- a/modules/arch/netware/mod_vhost_alias.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORT vhost_alias_module
-
diff --git a/modules/arch/netware/moddavfs.def b/modules/arch/netware/moddavfs.def
deleted file mode 100644
index 67ec3117..00000000
--- a/modules/arch/netware/moddavfs.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT dav_fs_module
diff --git a/modules/arch/win32/mod_isapi.dep b/modules/arch/win32/mod_isapi.dep
new file mode 100644
index 00000000..0e41488b
--- /dev/null
+++ b/modules/arch/win32/mod_isapi.dep
@@ -0,0 +1,35 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_isapi.mak
+
+..\..\..\build\win32\httpd.rc : \
+ "..\..\..\include\ap_release.h"\
+
+
+.\mod_isapi.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\http_config.h"\
+ "..\..\..\include\http_core.h"\
+ "..\..\..\include\http_log.h"\
+ "..\..\..\include\http_protocol.h"\
+ "..\..\..\include\http_request.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\mod_core.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_cfgtree.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_script.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ ".\mod_isapi.h"\
+
diff --git a/modules/arch/win32/mod_isapi.mak b/modules/arch/win32/mod_isapi.mak
new file mode 100644
index 00000000..7edb7cba
--- /dev/null
+++ b/modules/arch/win32/mod_isapi.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_isapi.dsp
+!IF "$(CFG)" == ""
+CFG=mod_isapi - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_isapi - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_isapi - Win32 Release" && "$(CFG)" != "mod_isapi - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_isapi.mak" CFG="mod_isapi - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_isapi - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_isapi - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_isapi - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_isapi.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_isapi.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_isapi.obj"
+ -@erase "$(INTDIR)\mod_isapi.res"
+ -@erase "$(INTDIR)\mod_isapi_src.idb"
+ -@erase "$(INTDIR)\mod_isapi_src.pdb"
+ -@erase "$(OUTDIR)\mod_isapi.exp"
+ -@erase "$(OUTDIR)\mod_isapi.lib"
+ -@erase "$(OUTDIR)\mod_isapi.pdb"
+ -@erase "$(OUTDIR)\mod_isapi.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../../include" /I "../../../srclib/apr/include" /I "../../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_isapi_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_isapi.res" /i "../../../include" /i "../../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_isapi.so" /d LONG_NAME="isapi_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_isapi.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_isapi.pdb" /debug /out:"$(OUTDIR)\mod_isapi.so" /implib:"$(OUTDIR)\mod_isapi.lib" /base:@..\..\..\os\win32\BaseAddr.ref,mod_isapi.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_isapi.obj" \
+ "$(INTDIR)\mod_isapi.res" \
+ "..\..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_isapi.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_isapi.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_isapi.so"
+ if exist .\Release\mod_isapi.so.manifest mt.exe -manifest .\Release\mod_isapi.so.manifest -outputresource:.\Release\mod_isapi.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_isapi - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_isapi.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_isapi.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_isapi.obj"
+ -@erase "$(INTDIR)\mod_isapi.res"
+ -@erase "$(INTDIR)\mod_isapi_src.idb"
+ -@erase "$(INTDIR)\mod_isapi_src.pdb"
+ -@erase "$(OUTDIR)\mod_isapi.exp"
+ -@erase "$(OUTDIR)\mod_isapi.lib"
+ -@erase "$(OUTDIR)\mod_isapi.pdb"
+ -@erase "$(OUTDIR)\mod_isapi.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../../include" /I "../../../srclib/apr/include" /I "../../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_isapi_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_isapi.res" /i "../../../include" /i "../../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_isapi.so" /d LONG_NAME="isapi_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_isapi.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_isapi.pdb" /debug /out:"$(OUTDIR)\mod_isapi.so" /implib:"$(OUTDIR)\mod_isapi.lib" /base:@..\..\..\os\win32\BaseAddr.ref,mod_isapi.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_isapi.obj" \
+ "$(INTDIR)\mod_isapi.res" \
+ "..\..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_isapi.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_isapi.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_isapi.so"
+ if exist .\Debug\mod_isapi.so.manifest mt.exe -manifest .\Debug\mod_isapi.so.manifest -outputresource:.\Debug\mod_isapi.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_isapi.dep")
+!INCLUDE "mod_isapi.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_isapi.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_isapi - Win32 Release" || "$(CFG)" == "mod_isapi - Win32 Debug"
+
+!IF "$(CFG)" == "mod_isapi - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\arch\win32"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\arch\win32"
+
+!ELSEIF "$(CFG)" == "mod_isapi - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\arch\win32"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\arch\win32"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_isapi - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\arch\win32"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\arch\win32"
+
+!ELSEIF "$(CFG)" == "mod_isapi - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\arch\win32"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\arch\win32"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_isapi - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\arch\win32"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\arch\win32"
+
+!ELSEIF "$(CFG)" == "mod_isapi - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\arch\win32"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\arch\win32"
+
+!ENDIF
+
+SOURCE=..\..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_isapi - Win32 Release"
+
+
+"$(INTDIR)\mod_isapi.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_isapi.res" /i "../../../include" /i "../../../srclib/apr/include" /i ".\..\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_isapi.so" /d LONG_NAME="isapi_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_isapi - Win32 Debug"
+
+
+"$(INTDIR)\mod_isapi.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_isapi.res" /i "../../../include" /i "../../../srclib/apr/include" /i ".\..\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_isapi.so" /d LONG_NAME="isapi_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_isapi.c
+
+"$(INTDIR)\mod_isapi.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/arch/win32/mod_win32.c b/modules/arch/win32/mod_win32.c
index 181f66d7..c2397ea1 100644
--- a/modules/arch/win32/mod_win32.c
+++ b/modules/arch/win32/mod_win32.c
@@ -475,8 +475,11 @@ static apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv,
memmove(buffer, buffer + 3, bytes -= 3);
}
- /* Script or executable, that is the question... */
- if ((bytes >= 2) && (buffer[0] == '#') && (buffer[1] == '!')) {
+ /* Script or executable, that is the question...
+ * we check here also for '! so that .vbs scripts can work as CGI.
+ */
+ if ((bytes >= 2) && ((buffer[0] == '#') || (buffer[0] == '\''))
+ && (buffer[1] == '!')) {
/* Assuming file is a script since it starts with a shebang */
for (i = 2; i < bytes; i++) {
if ((buffer[i] == '\r') || (buffer[i] == '\n')) {
@@ -511,7 +514,7 @@ static apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv,
if (!interpreter) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"%s is not executable; ensure interpreted scripts have "
- "\"#!\" first line", *cmd);
+ "\"#!\" or \"'!\" first line", *cmd);
return APR_EBADF;
}
diff --git a/modules/cache/NWGNUdsk_cach b/modules/cache/NWGNUdsk_cach
index a2fb7d06..2df9a3ee 100644
--- a/modules/cache/NWGNUdsk_cach
+++ b/modules/cache/NWGNUdsk_cach
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -26,8 +26,8 @@ XINCDIRS += \
$(APR)/include \
$(APRUTIL)/include \
$(AP_WORK)/include \
- $(AP_WORK)/server/mpm/NetWare \
$(NWOS) \
+ $(SERVER)/mpm/NetWare \
$(EOLIST)
#
@@ -115,7 +115,7 @@ NLM_THREAD_NAME = dsk_cach
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -128,12 +128,12 @@ NLM_STACK_SIZE = 65536
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -143,7 +143,7 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -182,7 +182,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -215,7 +215,7 @@ FILE_nlm_copyright =
#
FILES_nlm_Ximports = \
@libc.imp \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@httpd.imp \
@mod_cache.imp \
$(EOLIST)
@@ -245,7 +245,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -258,6 +258,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/cache/NWGNUmakefile b/modules/cache/NWGNUmakefile
index 868db548..ef097b24 100644
--- a/modules/cache/NWGNUmakefile
+++ b/modules/cache/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -111,7 +111,7 @@ NLM_THREAD_NAME =
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -228,10 +228,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -242,6 +242,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/cache/NWGNUmem_cach b/modules/cache/NWGNUmem_cach
index 19e329a7..20e49000 100644
--- a/modules/cache/NWGNUmem_cach
+++ b/modules/cache/NWGNUmem_cach
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -26,8 +26,8 @@ XINCDIRS += \
$(APR)/include \
$(APRUTIL)/include \
$(AP_WORK)/include \
- $(AP_WORK)/server/mpm/NetWare \
$(NWOS) \
+ $(SERVER)/mpm/NetWare \
$(EOLIST)
#
@@ -116,7 +116,7 @@ NLM_THREAD_NAME = mem_cach
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -129,12 +129,12 @@ NLM_STACK_SIZE = 65536
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -144,7 +144,7 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -186,7 +186,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -219,7 +219,7 @@ FILE_nlm_copyright =
#
FILES_nlm_Ximports = \
@libc.imp \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@httpd.imp \
@mod_cache.imp \
$(EOLIST)
@@ -249,7 +249,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -262,6 +262,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/cache/NWGNUmod_cach b/modules/cache/NWGNUmod_cach
index 424da522..589bc71b 100644
--- a/modules/cache/NWGNUmod_cach
+++ b/modules/cache/NWGNUmod_cach
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -26,8 +26,8 @@ XINCDIRS += \
$(APR)/include \
$(APRUTIL)/include \
$(AP_WORK)/include \
- $(AP_WORK)/server/mpm/NetWare \
$(NWOS) \
+ $(SERVER)/mpm/NetWare \
$(EOLIST)
#
@@ -116,7 +116,7 @@ NLM_THREAD_NAME = mod_cach
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -129,12 +129,12 @@ NLM_STACK_SIZE = 65536
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -144,7 +144,7 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -185,7 +185,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -217,7 +217,7 @@ FILE_nlm_copyright =
#
FILES_nlm_Ximports = \
@libc.imp \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@httpd.imp \
@netware.imp \
$(EOLIST)
@@ -247,7 +247,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -260,6 +260,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/cache/cache_storage.c b/modules/cache/cache_storage.c
index f87f9c9d..c9d36271 100644
--- a/modules/cache/cache_storage.c
+++ b/modules/cache/cache_storage.c
@@ -193,6 +193,11 @@ int cache_select(request_rec *r)
if (rv != APR_SUCCESS) {
return rv;
}
+
+ if (!ap_cache_check_allowed(r)) {
+ return DECLINED;
+ }
+
/* go through the cache types till we get a match */
h = apr_palloc(r->pool, sizeof(cache_handle_t));
diff --git a/modules/cache/cache_util.c b/modules/cache/cache_util.c
index cb3d5653..14c1165e 100644
--- a/modules/cache/cache_util.c
+++ b/modules/cache/cache_util.c
@@ -338,6 +338,64 @@ CACHE_DECLARE(apr_status_t) ap_cache_remove_lock(cache_server_conf *conf,
return apr_file_remove(lockname, r->pool);
}
+CACHE_DECLARE(int) ap_cache_check_allowed(request_rec *r) {
+ const char *cc_req;
+ const char *pragma;
+ cache_server_conf *conf =
+ (cache_server_conf *)ap_get_module_config(r->server->module_config,
+ &cache_module);
+
+ /*
+ * At this point, we may have data cached, but the request may have
+ * specified that cached data may not be used in a response.
+ *
+ * This is covered under RFC2616 section 14.9.4 (Cache Revalidation and
+ * Reload Controls).
+ *
+ * - RFC2616 14.9.4 End to end reload, Cache-Control: no-cache, or Pragma:
+ * no-cache. The server MUST NOT use a cached copy when responding to such
+ * a request.
+ *
+ * - RFC2616 14.9.2 What May be Stored by Caches. If Cache-Control:
+ * no-store arrives, do not serve from the cache.
+ */
+
+ /* This value comes from the client's initial request. */
+ cc_req = apr_table_get(r->headers_in, "Cache-Control");
+ pragma = apr_table_get(r->headers_in, "Pragma");
+
+ if (ap_cache_liststr(NULL, pragma, "no-cache", NULL)
+ || ap_cache_liststr(NULL, cc_req, "no-cache", NULL)) {
+
+ if (!conf->ignorecachecontrol) {
+ return 0;
+ }
+ else {
+ ap_log_error(APLOG_MARK, APLOG_INFO, 0, r->server,
+ "Incoming request is asking for an uncached version of "
+ "%s, but we have been configured to ignore it and serve "
+ "cached content anyway", r->unparsed_uri);
+ }
+ }
+
+ if (ap_cache_liststr(NULL, cc_req, "no-store", NULL)) {
+
+ if (!conf->ignorecachecontrol) {
+ /* We're not allowed to serve a cached copy */
+ return 0;
+ }
+ else {
+ ap_log_error(APLOG_MARK, APLOG_INFO, 0, r->server,
+ "Incoming request is asking for a no-store version of "
+ "%s, but we have been configured to ignore it and serve "
+ "cached content anyway", r->unparsed_uri);
+ }
+ }
+
+ return 1;
+}
+
+
CACHE_DECLARE(int) ap_cache_check_freshness(cache_handle_t *h,
request_rec *r)
{
@@ -360,10 +418,11 @@ CACHE_DECLARE(int) ap_cache_check_freshness(cache_handle_t *h,
* We now want to check if our cached data is still fresh. This depends
* on a few things, in this order:
*
- * - RFC2616 14.9.4 End to end reload, Cache-Control: no-cache. no-cache in
- * either the request or the cached response means that we must
- * revalidate the request unconditionally, overriding any expiration
- * mechanism. It's equivalent to max-age=0,must-revalidate.
+ * - RFC2616 14.9.4 End to end reload, Cache-Control: no-cache. no-cache
+ * in either the request or the cached response means that we must
+ * perform the request unconditionally, and ignore cached content. We
+ * should never reach here, but if we do, mark the content as stale,
+ * as this is the best we can do.
*
* - RFC2616 14.32 Pragma: no-cache This is treated the same as
* Cache-Control: no-cache.
@@ -403,7 +462,8 @@ CACHE_DECLARE(int) ap_cache_check_freshness(cache_handle_t *h,
ap_log_error(APLOG_MARK, APLOG_INFO, 0, r->server,
"Incoming request is asking for a uncached version of "
- "%s, but we know better and are ignoring it",
+ "%s, but we have been configured to ignore it and "
+ "serve a cached response anyway",
r->unparsed_uri);
}
diff --git a/modules/cache/mod_cache.c b/modules/cache/mod_cache.c
index 162773f9..8aeb3f73 100644
--- a/modules/cache/mod_cache.c
+++ b/modules/cache/mod_cache.c
@@ -585,6 +585,52 @@ static int cache_save_filter(ap_filter_t *f, apr_bucket_brigade *in)
reason = "r->no_cache present";
}
+ /* Hold the phone. Some servers might allow us to cache a 2xx, but
+ * then make their 304 responses non cacheable. This leaves us in a
+ * sticky position. If the 304 is in answer to our own conditional
+ * request, we cannot send this 304 back to the client because the
+ * client isn't expecting it. Instead, our only option is to respect
+ * the answer to the question we asked (has it changed, answer was
+ * no) and return the cached item to the client, and then respect
+ * the uncacheable nature of this 304 by allowing the remove_url
+ * filter to kick in and remove the cached entity.
+ */
+ if (reason && r->status == HTTP_NOT_MODIFIED &&
+ cache->stale_handle) {
+ apr_bucket_brigade *bb;
+ apr_bucket *bkt;
+ int status;
+
+ cache->handle = cache->stale_handle;
+ info = &cache->handle->cache_obj->info;
+
+ /* Load in the saved status and clear the status line. */
+ r->status = info->status;
+ r->status_line = NULL;
+
+ bb = apr_brigade_create(r->pool, r->connection->bucket_alloc);
+
+ r->headers_in = cache->stale_headers;
+ status = ap_meets_conditions(r);
+ if (status != OK) {
+ r->status = status;
+
+ bkt = apr_bucket_flush_create(bb->bucket_alloc);
+ APR_BRIGADE_INSERT_TAIL(bb, bkt);
+ }
+ else {
+ cache->provider->recall_body(cache->handle, r->pool, bb);
+ }
+
+ cache->block_response = 1;
+
+ /* let someone else attempt to cache */
+ ap_cache_remove_lock(conf, r, cache->handle ?
+ (char *)cache->handle->cache_obj->key : NULL, NULL);
+
+ return ap_pass_brigade(f->next, bb);
+ }
+
if (reason) {
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
"cache: %s not cached. Reason: %s", r->unparsed_uri,
diff --git a/modules/cache/mod_cache.dep b/modules/cache/mod_cache.dep
new file mode 100644
index 00000000..901bd4b0
--- /dev/null
+++ b/modules/cache/mod_cache.dep
@@ -0,0 +1,105 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_cache.mak
+
+.\cache_storage.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_atomic.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_cache.h"\
+
+
+.\cache_util.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_atomic.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_cache.h"\
+
+
+.\mod_cache.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_atomic.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_cache.h"\
+
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
diff --git a/modules/cache/mod_cache.h b/modules/cache/mod_cache.h
index eca42c01..e20fa72e 100644
--- a/modules/cache/mod_cache.h
+++ b/modules/cache/mod_cache.h
@@ -271,6 +271,15 @@ CACHE_DECLARE(apr_time_t) ap_cache_current_age(cache_info *info, const apr_time_
CACHE_DECLARE(int) ap_cache_check_freshness(cache_handle_t *h, request_rec *r);
/**
+ * Check the whether the request allows a cached object to be served as per RFC2616
+ * section 14.9.4 (Cache Revalidation and Reload Controls)
+ * @param h cache_handle_t
+ * @param r request_rec
+ * @return 0 ==> cache object may not be served, 1 ==> cache object may be served
+ */
+CACHE_DECLARE(int) ap_cache_check_allowed(request_rec *r);
+
+/**
* Try obtain a cache wide lock on the given cache key.
*
* If we return APR_SUCCESS, we obtained the lock, and we are clear to
diff --git a/modules/cache/mod_cache.mak b/modules/cache/mod_cache.mak
new file mode 100644
index 00000000..8eb01120
--- /dev/null
+++ b/modules/cache/mod_cache.mak
@@ -0,0 +1,370 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_cache.dsp
+!IF "$(CFG)" == ""
+CFG=mod_cache - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_cache - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_cache - Win32 Release" && "$(CFG)" != "mod_cache - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_cache.mak" CFG="mod_cache - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_cache - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_cache - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_cache - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\cache_storage.obj"
+ -@erase "$(INTDIR)\cache_util.obj"
+ -@erase "$(INTDIR)\mod_cache.obj"
+ -@erase "$(INTDIR)\mod_cache.res"
+ -@erase "$(INTDIR)\mod_cache_src.idb"
+ -@erase "$(INTDIR)\mod_cache_src.pdb"
+ -@erase "$(OUTDIR)\mod_cache.exp"
+ -@erase "$(OUTDIR)\mod_cache.lib"
+ -@erase "$(OUTDIR)\mod_cache.pdb"
+ -@erase "$(OUTDIR)\mod_cache.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../srclib/apr-util/include" /I "../../srclib/apr/include" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "CACHE_DECLARE_EXPORT" /D "MOD_CACHE_EXPORTS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_cache_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_cache.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_cache.so" /d LONG_NAME="cache_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_cache.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_cache.pdb" /debug /out:"$(OUTDIR)\mod_cache.so" /implib:"$(OUTDIR)\mod_cache.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_cache.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\cache_storage.obj" \
+ "$(INTDIR)\cache_util.obj" \
+ "$(INTDIR)\mod_cache.obj" \
+ "$(INTDIR)\mod_cache.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_cache.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_cache.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_cache.so"
+ if exist .\Release\mod_cache.so.manifest mt.exe -manifest .\Release\mod_cache.so.manifest -outputresource:.\Release\mod_cache.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_cache - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\cache_storage.obj"
+ -@erase "$(INTDIR)\cache_util.obj"
+ -@erase "$(INTDIR)\mod_cache.obj"
+ -@erase "$(INTDIR)\mod_cache.res"
+ -@erase "$(INTDIR)\mod_cache_src.idb"
+ -@erase "$(INTDIR)\mod_cache_src.pdb"
+ -@erase "$(OUTDIR)\mod_cache.exp"
+ -@erase "$(OUTDIR)\mod_cache.lib"
+ -@erase "$(OUTDIR)\mod_cache.pdb"
+ -@erase "$(OUTDIR)\mod_cache.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../srclib/apr-util/include" /I "../../srclib/apr/include" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "CACHE_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_cache_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_cache.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_cache.so" /d LONG_NAME="cache_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_cache.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_cache.pdb" /debug /out:"$(OUTDIR)\mod_cache.so" /implib:"$(OUTDIR)\mod_cache.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_cache.so
+LINK32_OBJS= \
+ "$(INTDIR)\cache_storage.obj" \
+ "$(INTDIR)\cache_util.obj" \
+ "$(INTDIR)\mod_cache.obj" \
+ "$(INTDIR)\mod_cache.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_cache.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_cache.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_cache.so"
+ if exist .\Debug\mod_cache.so.manifest mt.exe -manifest .\Debug\mod_cache.so.manifest -outputresource:.\Debug\mod_cache.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_cache.dep")
+!INCLUDE "mod_cache.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_cache.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_cache - Win32 Release" || "$(CFG)" == "mod_cache - Win32 Debug"
+SOURCE=.\cache_storage.c
+
+"$(INTDIR)\cache_storage.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\cache_util.c
+
+"$(INTDIR)\cache_util.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\mod_cache.c
+
+"$(INTDIR)\mod_cache.obj" : $(SOURCE) "$(INTDIR)"
+
+
+!IF "$(CFG)" == "mod_cache - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\cache"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ELSEIF "$(CFG)" == "mod_cache - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\cache"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_cache - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\cache"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ELSEIF "$(CFG)" == "mod_cache - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\cache"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_cache - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\cache"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\cache"
+
+!ELSEIF "$(CFG)" == "mod_cache - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\cache"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\cache"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_cache - Win32 Release"
+
+
+"$(INTDIR)\mod_cache.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_cache.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_cache.so" /d LONG_NAME="cache_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_cache - Win32 Debug"
+
+
+"$(INTDIR)\mod_cache.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_cache.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_cache.so" /d LONG_NAME="cache_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/modules/cache/mod_disk_cache.dep b/modules/cache/mod_disk_cache.dep
new file mode 100644
index 00000000..2d058f7a
--- /dev/null
+++ b/modules/cache/mod_disk_cache.dep
@@ -0,0 +1,42 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_disk_cache.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_disk_cache.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_atomic.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_cache.h"\
+ ".\mod_disk_cache.h"\
+
diff --git a/modules/cache/mod_disk_cache.mak b/modules/cache/mod_disk_cache.mak
new file mode 100644
index 00000000..7e5bec53
--- /dev/null
+++ b/modules/cache/mod_disk_cache.mak
@@ -0,0 +1,381 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_disk_cache.dsp
+!IF "$(CFG)" == ""
+CFG=mod_disk_cache - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_disk_cache - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_disk_cache - Win32 Release" && "$(CFG)" != "mod_disk_cache - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_disk_cache.mak" CFG="mod_disk_cache - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_disk_cache - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_disk_cache - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_disk_cache - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_disk_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_cache - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_disk_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_cache - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_disk_cache.obj"
+ -@erase "$(INTDIR)\mod_disk_cache.res"
+ -@erase "$(INTDIR)\mod_disk_cache_src.idb"
+ -@erase "$(INTDIR)\mod_disk_cache_src.pdb"
+ -@erase "$(OUTDIR)\mod_disk_cache.exp"
+ -@erase "$(OUTDIR)\mod_disk_cache.lib"
+ -@erase "$(OUTDIR)\mod_disk_cache.pdb"
+ -@erase "$(OUTDIR)\mod_disk_cache.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../srclib/apr-util/include" /I "../../srclib/apr/include" /I "../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_disk_cache_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_disk_cache.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_disk_cache.so" /d LONG_NAME="disk_cache_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_disk_cache.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_disk_cache.pdb" /debug /out:"$(OUTDIR)\mod_disk_cache.so" /implib:"$(OUTDIR)\mod_disk_cache.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_disk_cache.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_disk_cache.obj" \
+ "$(INTDIR)\mod_disk_cache.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_cache.lib"
+
+"$(OUTDIR)\mod_disk_cache.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_disk_cache.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_disk_cache.so"
+ if exist .\Release\mod_disk_cache.so.manifest mt.exe -manifest .\Release\mod_disk_cache.so.manifest -outputresource:.\Release\mod_disk_cache.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_disk_cache - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_disk_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_cache - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_disk_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_cache - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_disk_cache.obj"
+ -@erase "$(INTDIR)\mod_disk_cache.res"
+ -@erase "$(INTDIR)\mod_disk_cache_src.idb"
+ -@erase "$(INTDIR)\mod_disk_cache_src.pdb"
+ -@erase "$(OUTDIR)\mod_disk_cache.exp"
+ -@erase "$(OUTDIR)\mod_disk_cache.lib"
+ -@erase "$(OUTDIR)\mod_disk_cache.pdb"
+ -@erase "$(OUTDIR)\mod_disk_cache.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../srclib/apr-util/include" /I "../../srclib/apr/include" /I "../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_disk_cache_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_disk_cache.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_disk_cache.so" /d LONG_NAME="disk_cache_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_disk_cache.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_disk_cache.pdb" /debug /out:"$(OUTDIR)\mod_disk_cache.so" /implib:"$(OUTDIR)\mod_disk_cache.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_disk_cache.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_disk_cache.obj" \
+ "$(INTDIR)\mod_disk_cache.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_cache.lib"
+
+"$(OUTDIR)\mod_disk_cache.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_disk_cache.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_disk_cache.so"
+ if exist .\Debug\mod_disk_cache.so.manifest mt.exe -manifest .\Debug\mod_disk_cache.so.manifest -outputresource:.\Debug\mod_disk_cache.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_disk_cache.dep")
+!INCLUDE "mod_disk_cache.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_disk_cache.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_disk_cache - Win32 Release" || "$(CFG)" == "mod_disk_cache - Win32 Debug"
+
+!IF "$(CFG)" == "mod_disk_cache - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\cache"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ELSEIF "$(CFG)" == "mod_disk_cache - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\cache"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_disk_cache - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\cache"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ELSEIF "$(CFG)" == "mod_disk_cache - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\cache"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_disk_cache - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\cache"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\cache"
+
+!ELSEIF "$(CFG)" == "mod_disk_cache - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\cache"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\cache"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_disk_cache - Win32 Release"
+
+"mod_cache - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_cache.mak" CFG="mod_cache - Win32 Release"
+ cd "."
+
+"mod_cache - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_cache.mak" CFG="mod_cache - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_disk_cache - Win32 Debug"
+
+"mod_cache - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_cache.mak" CFG="mod_cache - Win32 Debug"
+ cd "."
+
+"mod_cache - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_cache.mak" CFG="mod_cache - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_disk_cache - Win32 Release"
+
+
+"$(INTDIR)\mod_disk_cache.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_disk_cache.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_disk_cache.so" /d LONG_NAME="disk_cache_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_disk_cache - Win32 Debug"
+
+
+"$(INTDIR)\mod_disk_cache.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_disk_cache.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_disk_cache.so" /d LONG_NAME="disk_cache_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_disk_cache.c
+
+"$(INTDIR)\mod_disk_cache.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/cache/mod_file_cache.dep b/modules/cache/mod_file_cache.dep
new file mode 100644
index 00000000..2d8bc202
--- /dev/null
+++ b/modules/cache/mod_file_cache.dep
@@ -0,0 +1,30 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_file_cache.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_file_cache.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/cache/mod_file_cache.mak b/modules/cache/mod_file_cache.mak
new file mode 100644
index 00000000..656f1b98
--- /dev/null
+++ b/modules/cache/mod_file_cache.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_file_cache.dsp
+!IF "$(CFG)" == ""
+CFG=mod_file_cache - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_file_cache - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_file_cache - Win32 Release" && "$(CFG)" != "mod_file_cache - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_file_cache.mak" CFG="mod_file_cache - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_file_cache - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_file_cache - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_file_cache - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_file_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_file_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_file_cache.obj"
+ -@erase "$(INTDIR)\mod_file_cache.res"
+ -@erase "$(INTDIR)\mod_file_cache_src.idb"
+ -@erase "$(INTDIR)\mod_file_cache_src.pdb"
+ -@erase "$(OUTDIR)\mod_file_cache.exp"
+ -@erase "$(OUTDIR)\mod_file_cache.lib"
+ -@erase "$(OUTDIR)\mod_file_cache.pdb"
+ -@erase "$(OUTDIR)\mod_file_cache.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_file_cache_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_file_cache.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_file_cache.so" /d LONG_NAME="file_cache_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_file_cache.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=/nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_file_cache.pdb" /debug /out:"$(OUTDIR)\mod_file_cache.so" /implib:"$(OUTDIR)\mod_file_cache.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_file_cache.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_file_cache.obj" \
+ "$(INTDIR)\mod_file_cache.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_file_cache.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_file_cache.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_file_cache.so"
+ if exist .\Release\mod_file_cache.so.manifest mt.exe -manifest .\Release\mod_file_cache.so.manifest -outputresource:.\Release\mod_file_cache.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_file_cache - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_file_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_file_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_file_cache.obj"
+ -@erase "$(INTDIR)\mod_file_cache.res"
+ -@erase "$(INTDIR)\mod_file_cache_src.idb"
+ -@erase "$(INTDIR)\mod_file_cache_src.pdb"
+ -@erase "$(OUTDIR)\mod_file_cache.exp"
+ -@erase "$(OUTDIR)\mod_file_cache.lib"
+ -@erase "$(OUTDIR)\mod_file_cache.pdb"
+ -@erase "$(OUTDIR)\mod_file_cache.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_file_cache_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_file_cache.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_file_cache.so" /d LONG_NAME="file_cache_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_file_cache.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=/nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_file_cache.pdb" /debug /out:"$(OUTDIR)\mod_file_cache.so" /implib:"$(OUTDIR)\mod_file_cache.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_file_cache.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_file_cache.obj" \
+ "$(INTDIR)\mod_file_cache.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_file_cache.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_file_cache.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_file_cache.so"
+ if exist .\Debug\mod_file_cache.so.manifest mt.exe -manifest .\Debug\mod_file_cache.so.manifest -outputresource:.\Debug\mod_file_cache.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_file_cache.dep")
+!INCLUDE "mod_file_cache.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_file_cache.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_file_cache - Win32 Release" || "$(CFG)" == "mod_file_cache - Win32 Debug"
+
+!IF "$(CFG)" == "mod_file_cache - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\cache"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ELSEIF "$(CFG)" == "mod_file_cache - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\cache"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_file_cache - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\cache"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ELSEIF "$(CFG)" == "mod_file_cache - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\cache"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_file_cache - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\cache"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\cache"
+
+!ELSEIF "$(CFG)" == "mod_file_cache - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\cache"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\cache"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_file_cache - Win32 Release"
+
+
+"$(INTDIR)\mod_file_cache.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_file_cache.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_file_cache.so" /d LONG_NAME="file_cache_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_file_cache - Win32 Debug"
+
+
+"$(INTDIR)\mod_file_cache.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_file_cache.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_file_cache.so" /d LONG_NAME="file_cache_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_file_cache.c
+
+"$(INTDIR)\mod_file_cache.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/cache/mod_mem_cache.c b/modules/cache/mod_mem_cache.c
index fb988915..38aa8f84 100644
--- a/modules/cache/mod_mem_cache.c
+++ b/modules/cache/mod_mem_cache.c
@@ -820,8 +820,11 @@ static apr_status_t store_body(cache_handle_t *h, request_rec *r, apr_bucket_bri
return rv;
}
if (len) {
- /* Check for buffer overflow */
+ /* Check for buffer (max_streaming_buffer_size) overflow */
if ((obj->count + len) > mobj->m_len) {
+ ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
+ "mem_cache: URL %s exceeds the MCacheMaxStreamingBuffer (%" APR_SIZE_T_FMT ") limit and will not be cached.",
+ obj->key, mobj->m_len);
return APR_ENOMEM;
}
else {
diff --git a/modules/cache/mod_mem_cache.dep b/modules/cache/mod_mem_cache.dep
new file mode 100644
index 00000000..2cbefb3f
--- /dev/null
+++ b/modules/cache/mod_mem_cache.dep
@@ -0,0 +1,116 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_mem_cache.mak
+
+.\cache_cache.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_atomic.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\cache_cache.h"\
+ ".\cache_hash.h"\
+ ".\cache_pqueue.h"\
+ ".\mod_cache.h"\
+
+
+.\cache_hash.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_atomic.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\cache_hash.h"\
+ ".\mod_cache.h"\
+
+
+.\cache_pqueue.c : \
+ ".\cache_pqueue.h"\
+
+
+.\mod_mem_cache.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_mpm.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_atomic.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\cache_cache.h"\
+ ".\cache_pqueue.h"\
+ ".\mod_cache.h"\
+
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
diff --git a/modules/cache/mod_mem_cache.mak b/modules/cache/mod_mem_cache.mak
new file mode 100644
index 00000000..ece8e6f9
--- /dev/null
+++ b/modules/cache/mod_mem_cache.mak
@@ -0,0 +1,407 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_mem_cache.dsp
+!IF "$(CFG)" == ""
+CFG=mod_mem_cache - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_mem_cache - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_mem_cache - Win32 Release" && "$(CFG)" != "mod_mem_cache - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_mem_cache.mak" CFG="mod_mem_cache - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_mem_cache - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_mem_cache - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_mem_cache - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_mem_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_cache - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_mem_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_cache - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\cache_cache.obj"
+ -@erase "$(INTDIR)\cache_hash.obj"
+ -@erase "$(INTDIR)\cache_pqueue.obj"
+ -@erase "$(INTDIR)\mod_mem_cache.obj"
+ -@erase "$(INTDIR)\mod_mem_cache.res"
+ -@erase "$(INTDIR)\mod_mem_cache_src.idb"
+ -@erase "$(INTDIR)\mod_mem_cache_src.pdb"
+ -@erase "$(OUTDIR)\mod_mem_cache.exp"
+ -@erase "$(OUTDIR)\mod_mem_cache.lib"
+ -@erase "$(OUTDIR)\mod_mem_cache.pdb"
+ -@erase "$(OUTDIR)\mod_mem_cache.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../srclib/apr-util/include" /I "../../srclib/apr/include" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_mem_cache_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_mem_cache.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_mem_cache.so" /d LONG_NAME="mem_cache_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_mem_cache.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_mem_cache.pdb" /debug /out:"$(OUTDIR)\mod_mem_cache.so" /implib:"$(OUTDIR)\mod_mem_cache.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_mem_cache.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\cache_cache.obj" \
+ "$(INTDIR)\cache_hash.obj" \
+ "$(INTDIR)\cache_pqueue.obj" \
+ "$(INTDIR)\mod_mem_cache.obj" \
+ "$(INTDIR)\mod_mem_cache.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_cache.lib"
+
+"$(OUTDIR)\mod_mem_cache.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_mem_cache.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_mem_cache.so"
+ if exist .\Release\mod_mem_cache.so.manifest mt.exe -manifest .\Release\mod_mem_cache.so.manifest -outputresource:.\Release\mod_mem_cache.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_mem_cache - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_mem_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_cache - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_mem_cache.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_cache - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\cache_cache.obj"
+ -@erase "$(INTDIR)\cache_hash.obj"
+ -@erase "$(INTDIR)\cache_pqueue.obj"
+ -@erase "$(INTDIR)\mod_mem_cache.obj"
+ -@erase "$(INTDIR)\mod_mem_cache.res"
+ -@erase "$(INTDIR)\mod_mem_cache_src.idb"
+ -@erase "$(INTDIR)\mod_mem_cache_src.pdb"
+ -@erase "$(OUTDIR)\mod_mem_cache.exp"
+ -@erase "$(OUTDIR)\mod_mem_cache.lib"
+ -@erase "$(OUTDIR)\mod_mem_cache.pdb"
+ -@erase "$(OUTDIR)\mod_mem_cache.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../srclib/apr-util/include" /I "../../srclib/apr/include" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_mem_cache_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_mem_cache.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_mem_cache.so" /d LONG_NAME="mem_cache_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_mem_cache.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_mem_cache.pdb" /debug /out:"$(OUTDIR)\mod_mem_cache.so" /implib:"$(OUTDIR)\mod_mem_cache.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_mem_cache.so
+LINK32_OBJS= \
+ "$(INTDIR)\cache_cache.obj" \
+ "$(INTDIR)\cache_hash.obj" \
+ "$(INTDIR)\cache_pqueue.obj" \
+ "$(INTDIR)\mod_mem_cache.obj" \
+ "$(INTDIR)\mod_mem_cache.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_cache.lib"
+
+"$(OUTDIR)\mod_mem_cache.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_mem_cache.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_mem_cache.so"
+ if exist .\Debug\mod_mem_cache.so.manifest mt.exe -manifest .\Debug\mod_mem_cache.so.manifest -outputresource:.\Debug\mod_mem_cache.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_mem_cache.dep")
+!INCLUDE "mod_mem_cache.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_mem_cache.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_mem_cache - Win32 Release" || "$(CFG)" == "mod_mem_cache - Win32 Debug"
+SOURCE=.\cache_cache.c
+
+"$(INTDIR)\cache_cache.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\cache_hash.c
+
+"$(INTDIR)\cache_hash.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\cache_pqueue.c
+
+"$(INTDIR)\cache_pqueue.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\mod_mem_cache.c
+
+"$(INTDIR)\mod_mem_cache.obj" : $(SOURCE) "$(INTDIR)"
+
+
+!IF "$(CFG)" == "mod_mem_cache - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\cache"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ELSEIF "$(CFG)" == "mod_mem_cache - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\cache"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_mem_cache - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\cache"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ELSEIF "$(CFG)" == "mod_mem_cache - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\cache"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\cache"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_mem_cache - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\cache"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\cache"
+
+!ELSEIF "$(CFG)" == "mod_mem_cache - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\cache"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\cache"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_mem_cache - Win32 Release"
+
+"mod_cache - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_cache.mak" CFG="mod_cache - Win32 Release"
+ cd "."
+
+"mod_cache - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_cache.mak" CFG="mod_cache - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_mem_cache - Win32 Debug"
+
+"mod_cache - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_cache.mak" CFG="mod_cache - Win32 Debug"
+ cd "."
+
+"mod_cache - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_cache.mak" CFG="mod_cache - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_mem_cache - Win32 Release"
+
+
+"$(INTDIR)\mod_mem_cache.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_mem_cache.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_mem_cache.so" /d LONG_NAME="mem_cache_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_mem_cache - Win32 Debug"
+
+
+"$(INTDIR)\mod_mem_cache.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_mem_cache.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_mem_cache.so" /d LONG_NAME="mem_cache_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/modules/database/NWGNUmakefile b/modules/database/NWGNUmakefile
index a418f122..23013365 100644
--- a/modules/database/NWGNUmakefile
+++ b/modules/database/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -24,12 +24,10 @@ include $(AP_WORK)\build\NWGNUhead.inc
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -117,7 +115,7 @@ NLM_THREAD_NAME = DBD Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -130,12 +128,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -145,7 +143,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -180,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,8 +209,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -245,10 +243,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -259,6 +257,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/database/mod_dbd.dep b/modules/database/mod_dbd.dep
new file mode 100644
index 00000000..4869e6d9
--- /dev/null
+++ b/modules/database/mod_dbd.dep
@@ -0,0 +1,32 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_dbd.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_dbd.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_dbd.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_dbd.h"\
+
diff --git a/modules/database/mod_dbd.mak b/modules/database/mod_dbd.mak
new file mode 100644
index 00000000..6d96ff2e
--- /dev/null
+++ b/modules/database/mod_dbd.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_dbd.dsp
+!IF "$(CFG)" == ""
+CFG=mod_dbd - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_dbd - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_dbd - Win32 Release" && "$(CFG)" != "mod_dbd - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_dbd.mak" CFG="mod_dbd - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_dbd - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_dbd - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_dbd - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_dbd.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_dbd.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_dbd.obj"
+ -@erase "$(INTDIR)\mod_dbd.res"
+ -@erase "$(INTDIR)\mod_dbd_src.idb"
+ -@erase "$(INTDIR)\mod_dbd_src.pdb"
+ -@erase "$(OUTDIR)\mod_dbd.exp"
+ -@erase "$(OUTDIR)\mod_dbd.lib"
+ -@erase "$(OUTDIR)\mod_dbd.pdb"
+ -@erase "$(OUTDIR)\mod_dbd.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "DBD_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_dbd_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_dbd.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_dbd.so" /d LONG_NAME="dbd_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_dbd.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_dbd.pdb" /debug /out:"$(OUTDIR)\mod_dbd.so" /implib:"$(OUTDIR)\mod_dbd.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_dbd.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_dbd.obj" \
+ "$(INTDIR)\mod_dbd.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_dbd.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_dbd.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_dbd.so"
+ if exist .\Release\mod_dbd.so.manifest mt.exe -manifest .\Release\mod_dbd.so.manifest -outputresource:.\Release\mod_dbd.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_dbd - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_dbd.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_dbd.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_dbd.obj"
+ -@erase "$(INTDIR)\mod_dbd.res"
+ -@erase "$(INTDIR)\mod_dbd_src.idb"
+ -@erase "$(INTDIR)\mod_dbd_src.pdb"
+ -@erase "$(OUTDIR)\mod_dbd.exp"
+ -@erase "$(OUTDIR)\mod_dbd.lib"
+ -@erase "$(OUTDIR)\mod_dbd.pdb"
+ -@erase "$(OUTDIR)\mod_dbd.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "DBD_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_dbd_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_dbd.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_dbd.so" /d LONG_NAME="dbd_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_dbd.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_dbd.pdb" /debug /out:"$(OUTDIR)\mod_dbd.so" /implib:"$(OUTDIR)\mod_dbd.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_dbd.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_dbd.obj" \
+ "$(INTDIR)\mod_dbd.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_dbd.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_dbd.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_dbd.so"
+ if exist .\Debug\mod_dbd.so.manifest mt.exe -manifest .\Debug\mod_dbd.so.manifest -outputresource:.\Debug\mod_dbd.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_dbd.dep")
+!INCLUDE "mod_dbd.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_dbd.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_dbd - Win32 Release" || "$(CFG)" == "mod_dbd - Win32 Debug"
+
+!IF "$(CFG)" == "mod_dbd - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\database"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\database"
+
+!ELSEIF "$(CFG)" == "mod_dbd - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\database"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\database"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_dbd - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\database"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\database"
+
+!ELSEIF "$(CFG)" == "mod_dbd - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\database"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\database"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_dbd - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\database"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\database"
+
+!ELSEIF "$(CFG)" == "mod_dbd - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\database"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\database"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_dbd - Win32 Release"
+
+
+"$(INTDIR)\mod_dbd.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_dbd.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_dbd.so" /d LONG_NAME="dbd_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_dbd - Win32 Debug"
+
+
+"$(INTDIR)\mod_dbd.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_dbd.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_dbd.so" /d LONG_NAME="dbd_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_dbd.c
+
+"$(INTDIR)\mod_dbd.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/dav/fs/NWGNUmakefile b/modules/dav/fs/NWGNUmakefile
index f15b2dd6..21c20569 100644
--- a/modules/dav/fs/NWGNUmakefile
+++ b/modules/dav/fs/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -27,10 +27,9 @@ XINCDIRS += \
$(APR)/include \
$(APRUTIL)/include \
$(AP_WORK)/include \
- $(AP_WORK)/server/mpm/NetWare \
- $(AP_WORK)/modules/dav/main \
- $(AP_WORK)/modules/arch/netware \
$(NWOS) \
+ $(STDMOD)/dav/main \
+ $(SERVER)/mpm/NetWare \
$(EOLIST)
#
@@ -118,7 +117,7 @@ NLM_THREAD_NAME = modDAVFS Thread
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -131,12 +130,12 @@ NLM_STACK_SIZE = 65536
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -146,7 +145,7 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# Declare all target files (you must add your files here)
@@ -182,7 +181,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -215,7 +214,7 @@ FILE_nlm_copyright =
#
FILES_nlm_Ximports = \
@libc.imp \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@httpd.imp \
@../main/dav.imp \
$(EOLIST)
@@ -250,10 +249,11 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\moddavfs.nlm $(INSTALL)\$(BASEDIR)\modules
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
+
#
# Any specialized rules here
#
@@ -265,6 +265,6 @@ vpath %.c ../../arch/netware
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/dav/fs/mod_dav_fs.dep b/modules/dav/fs/mod_dav_fs.dep
new file mode 100644
index 00000000..44317880
--- /dev/null
+++ b/modules/dav/fs/mod_dav_fs.dep
@@ -0,0 +1,101 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_dav_fs.mak
+
+.\dbm.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\mod_dav.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_xml.h"\
+ "..\..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr-util\include\apr_xml.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\..\srclib\apr\include\apr_strings.h"\
+ ".\repos.h"\
+
+
+.\lock.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\http_log.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\mod_dav.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_xml.h"\
+ "..\..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr-util\include\apr_uuid.h"\
+ "..\..\..\srclib\apr-util\include\apr_xml.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\..\srclib\apr\include\apr_strings.h"\
+ ".\repos.h"\
+
+
+.\mod_dav_fs.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\http_config.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\mod_dav.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_cfgtree.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_xml.h"\
+ "..\..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr-util\include\apr_xml.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\..\srclib\apr\include\apr_strings.h"\
+ ".\repos.h"\
+
+
+.\repos.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\http_log.h"\
+ "..\..\..\include\http_protocol.h"\
+ "..\..\..\include\http_request.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\mod_dav.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_xml.h"\
+ "..\..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr-util\include\apr_xml.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\..\srclib\apr\include\apr_strings.h"\
+ ".\repos.h"\
+
+
+..\..\..\build\win32\httpd.rc : \
+ "..\..\..\include\ap_release.h"\
+
diff --git a/modules/dav/fs/mod_dav_fs.mak b/modules/dav/fs/mod_dav_fs.mak
new file mode 100644
index 00000000..92f44574
--- /dev/null
+++ b/modules/dav/fs/mod_dav_fs.mak
@@ -0,0 +1,407 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_dav_fs.dsp
+!IF "$(CFG)" == ""
+CFG=mod_dav_fs - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_dav_fs - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_dav_fs - Win32 Release" && "$(CFG)" != "mod_dav_fs - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_dav_fs.mak" CFG="mod_dav_fs - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_dav_fs - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_dav_fs - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_dav_fs - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_dav_fs.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_dav - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_dav_fs.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_dav - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\dbm.obj"
+ -@erase "$(INTDIR)\lock.obj"
+ -@erase "$(INTDIR)\mod_dav_fs.obj"
+ -@erase "$(INTDIR)\mod_dav_fs.res"
+ -@erase "$(INTDIR)\mod_dav_fs_src.idb"
+ -@erase "$(INTDIR)\mod_dav_fs_src.pdb"
+ -@erase "$(INTDIR)\repos.obj"
+ -@erase "$(OUTDIR)\mod_dav_fs.exp"
+ -@erase "$(OUTDIR)\mod_dav_fs.lib"
+ -@erase "$(OUTDIR)\mod_dav_fs.pdb"
+ -@erase "$(OUTDIR)\mod_dav_fs.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../../include" /I "../../../srclib/apr/include" /I "../../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_dav_fs_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_dav_fs.res" /i "../../../include" /i "../../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_dav_fs.so" /d LONG_NAME="dav_fs_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_dav_fs.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_dav_fs.pdb" /debug /out:"$(OUTDIR)\mod_dav_fs.so" /implib:"$(OUTDIR)\mod_dav_fs.lib" /base:@..\..\..\os\win32\BaseAddr.ref,mod_dav_fs.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\dbm.obj" \
+ "$(INTDIR)\lock.obj" \
+ "$(INTDIR)\mod_dav_fs.obj" \
+ "$(INTDIR)\repos.obj" \
+ "$(INTDIR)\mod_dav_fs.res" \
+ "..\..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\..\Release\libhttpd.lib" \
+ "..\main\Release\mod_dav.lib"
+
+"$(OUTDIR)\mod_dav_fs.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_dav_fs.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_dav_fs.so"
+ if exist .\Release\mod_dav_fs.so.manifest mt.exe -manifest .\Release\mod_dav_fs.so.manifest -outputresource:.\Release\mod_dav_fs.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_dav_fs - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_dav_fs.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_dav - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_dav_fs.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_dav - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\dbm.obj"
+ -@erase "$(INTDIR)\lock.obj"
+ -@erase "$(INTDIR)\mod_dav_fs.obj"
+ -@erase "$(INTDIR)\mod_dav_fs.res"
+ -@erase "$(INTDIR)\mod_dav_fs_src.idb"
+ -@erase "$(INTDIR)\mod_dav_fs_src.pdb"
+ -@erase "$(INTDIR)\repos.obj"
+ -@erase "$(OUTDIR)\mod_dav_fs.exp"
+ -@erase "$(OUTDIR)\mod_dav_fs.lib"
+ -@erase "$(OUTDIR)\mod_dav_fs.pdb"
+ -@erase "$(OUTDIR)\mod_dav_fs.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../../include" /I "../../../srclib/apr/include" /I "../../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_dav_fs_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_dav_fs.res" /i "../../../include" /i "../../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_dav_fs.so" /d LONG_NAME="dav_fs_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_dav_fs.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_dav_fs.pdb" /debug /out:"$(OUTDIR)\mod_dav_fs.so" /implib:"$(OUTDIR)\mod_dav_fs.lib" /base:@..\..\..\os\win32\BaseAddr.ref,mod_dav_fs.so
+LINK32_OBJS= \
+ "$(INTDIR)\dbm.obj" \
+ "$(INTDIR)\lock.obj" \
+ "$(INTDIR)\mod_dav_fs.obj" \
+ "$(INTDIR)\repos.obj" \
+ "$(INTDIR)\mod_dav_fs.res" \
+ "..\..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\..\Debug\libhttpd.lib" \
+ "..\main\Debug\mod_dav.lib"
+
+"$(OUTDIR)\mod_dav_fs.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_dav_fs.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_dav_fs.so"
+ if exist .\Debug\mod_dav_fs.so.manifest mt.exe -manifest .\Debug\mod_dav_fs.so.manifest -outputresource:.\Debug\mod_dav_fs.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_dav_fs.dep")
+!INCLUDE "mod_dav_fs.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_dav_fs.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_dav_fs - Win32 Release" || "$(CFG)" == "mod_dav_fs - Win32 Debug"
+SOURCE=.\dbm.c
+
+"$(INTDIR)\dbm.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\lock.c
+
+"$(INTDIR)\lock.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\mod_dav_fs.c
+
+"$(INTDIR)\mod_dav_fs.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\repos.c
+
+"$(INTDIR)\repos.obj" : $(SOURCE) "$(INTDIR)"
+
+
+!IF "$(CFG)" == "mod_dav_fs - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\dav\fs"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\dav\fs"
+
+!ELSEIF "$(CFG)" == "mod_dav_fs - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\dav\fs"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\dav\fs"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_dav_fs - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\dav\fs"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\dav\fs"
+
+!ELSEIF "$(CFG)" == "mod_dav_fs - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\dav\fs"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\dav\fs"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_dav_fs - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\dav\fs"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\dav\fs"
+
+!ELSEIF "$(CFG)" == "mod_dav_fs - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\dav\fs"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\dav\fs"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_dav_fs - Win32 Release"
+
+"mod_dav - Win32 Release" :
+ cd ".\..\main"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_dav.mak" CFG="mod_dav - Win32 Release"
+ cd "..\fs"
+
+"mod_dav - Win32 ReleaseCLEAN" :
+ cd ".\..\main"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_dav.mak" CFG="mod_dav - Win32 Release" RECURSE=1 CLEAN
+ cd "..\fs"
+
+!ELSEIF "$(CFG)" == "mod_dav_fs - Win32 Debug"
+
+"mod_dav - Win32 Debug" :
+ cd ".\..\main"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_dav.mak" CFG="mod_dav - Win32 Debug"
+ cd "..\fs"
+
+"mod_dav - Win32 DebugCLEAN" :
+ cd ".\..\main"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_dav.mak" CFG="mod_dav - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\fs"
+
+!ENDIF
+
+SOURCE=..\..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_dav_fs - Win32 Release"
+
+
+"$(INTDIR)\mod_dav_fs.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_dav_fs.res" /i "../../../include" /i "../../../srclib/apr/include" /i ".\..\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_dav_fs.so" /d LONG_NAME="dav_fs_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_dav_fs - Win32 Debug"
+
+
+"$(INTDIR)\mod_dav_fs.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_dav_fs.res" /i "../../../include" /i "../../../srclib/apr/include" /i ".\..\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_dav_fs.so" /d LONG_NAME="dav_fs_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/modules/dav/lock/NWGNUmakefile b/modules/dav/lock/NWGNUmakefile
index e36a5237..d5494b55 100644
--- a/modules/dav/lock/NWGNUmakefile
+++ b/modules/dav/lock/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -27,9 +27,9 @@ XINCDIRS += \
$(APR)/include \
$(APRUTIL)/include \
$(AP_WORK)/include \
- $(AP_WORK)/server/mpm/NetWare \
- $(AP_WORK)/modules/dav/main \
$(NWOS) \
+ $(STDMOD)/dav/main \
+ $(SERVER)/mpm/NetWare \
$(EOLIST)
#
@@ -117,7 +117,7 @@ NLM_THREAD_NAME = modDAVLK Thread
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -130,12 +130,12 @@ NLM_STACK_SIZE = 65536
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -145,7 +145,7 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# Declare all target files (you must add your files here)
@@ -178,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,7 +211,7 @@ FILE_nlm_copyright =
#
FILES_nlm_Ximports = \
@libc.imp \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@httpd.imp \
@../main/dav.imp \
$(EOLIST)
@@ -240,10 +240,11 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\moddavlk.nlm $(INSTALL)\$(BASEDIR)\modules
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
+
#
# Any specialized rules here
#
@@ -253,6 +254,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/dav/lock/mod_dav_lock.dep b/modules/dav/lock/mod_dav_lock.dep
new file mode 100644
index 00000000..f7085de2
--- /dev/null
+++ b/modules/dav/lock/mod_dav_lock.dep
@@ -0,0 +1,54 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_dav_lock.mak
+
+.\locks.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\http_log.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\mod_dav.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_xml.h"\
+ "..\..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr-util\include\apr_uuid.h"\
+ "..\..\..\srclib\apr-util\include\apr_xml.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\..\srclib\apr\include\apr_strings.h"\
+ ".\locks.h"\
+
+
+.\mod_dav_lock.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_provider.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\http_config.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\mod_dav.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_cfgtree.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_xml.h"\
+ "..\..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr-util\include\apr_xml.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\..\srclib\apr\include\apr_strings.h"\
+ ".\locks.h"\
+
+
+..\..\..\build\win32\httpd.rc : \
+ "..\..\..\include\ap_release.h"\
+
diff --git a/modules/dav/lock/mod_dav_lock.mak b/modules/dav/lock/mod_dav_lock.mak
new file mode 100644
index 00000000..2bd57511
--- /dev/null
+++ b/modules/dav/lock/mod_dav_lock.mak
@@ -0,0 +1,389 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_dav_lock.dsp
+!IF "$(CFG)" == ""
+CFG=mod_dav_lock - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_dav_lock - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_dav_lock - Win32 Release" && "$(CFG)" != "mod_dav_lock - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_dav_lock.mak" CFG="mod_dav_lock - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_dav_lock - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_dav_lock - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_dav_lock - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_dav_lock.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_dav - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_dav_lock.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_dav - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\locks.obj"
+ -@erase "$(INTDIR)\mod_dav_lock.obj"
+ -@erase "$(INTDIR)\mod_dav_lock.res"
+ -@erase "$(INTDIR)\mod_dav_lock_src.idb"
+ -@erase "$(INTDIR)\mod_dav_lock_src.pdb"
+ -@erase "$(OUTDIR)\mod_dav_lock.exp"
+ -@erase "$(OUTDIR)\mod_dav_lock.lib"
+ -@erase "$(OUTDIR)\mod_dav_lock.pdb"
+ -@erase "$(OUTDIR)\mod_dav_lock.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../../include" /I "../../../srclib/apr/include" /I "../../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_dav_lock_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_dav_lock.res" /i "../../../include" /i "../../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_dav_lock.so" /d LONG_NAME="dav_lock_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_dav_lock.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_dav_lock.pdb" /debug /out:"$(OUTDIR)\mod_dav_lock.so" /implib:"$(OUTDIR)\mod_dav_lock.lib" /base:@..\..\..\os\win32\BaseAddr.ref,mod_dav_lock.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\locks.obj" \
+ "$(INTDIR)\mod_dav_lock.obj" \
+ "$(INTDIR)\mod_dav_lock.res" \
+ "..\..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\..\Release\libhttpd.lib" \
+ "..\main\Release\mod_dav.lib"
+
+"$(OUTDIR)\mod_dav_lock.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_dav_lock.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_dav_lock.so"
+ if exist .\Release\mod_dav_lock.so.manifest mt.exe -manifest .\Release\mod_dav_lock.so.manifest -outputresource:.\Release\mod_dav_lock.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_dav_lock - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_dav_lock.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_dav - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_dav_lock.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_dav - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\locks.obj"
+ -@erase "$(INTDIR)\mod_dav_lock.obj"
+ -@erase "$(INTDIR)\mod_dav_lock.res"
+ -@erase "$(INTDIR)\mod_dav_lock_src.idb"
+ -@erase "$(INTDIR)\mod_dav_lock_src.pdb"
+ -@erase "$(OUTDIR)\mod_dav_lock.exp"
+ -@erase "$(OUTDIR)\mod_dav_lock.lib"
+ -@erase "$(OUTDIR)\mod_dav_lock.pdb"
+ -@erase "$(OUTDIR)\mod_dav_lock.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../../include" /I "../../../srclib/apr/include" /I "../../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_dav_lock_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_dav_lock.res" /i "../../../include" /i "../../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_dav_lock.so" /d LONG_NAME="dav_lock_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_dav_lock.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_dav_lock.pdb" /debug /out:"$(OUTDIR)\mod_dav_lock.so" /implib:"$(OUTDIR)\mod_dav_lock.lib" /base:@..\..\..\os\win32\BaseAddr.ref,mod_dav_lock.so
+LINK32_OBJS= \
+ "$(INTDIR)\locks.obj" \
+ "$(INTDIR)\mod_dav_lock.obj" \
+ "$(INTDIR)\mod_dav_lock.res" \
+ "..\..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\..\Debug\libhttpd.lib" \
+ "..\main\Debug\mod_dav.lib"
+
+"$(OUTDIR)\mod_dav_lock.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_dav_lock.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_dav_lock.so"
+ if exist .\Debug\mod_dav_lock.so.manifest mt.exe -manifest .\Debug\mod_dav_lock.so.manifest -outputresource:.\Debug\mod_dav_lock.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_dav_lock.dep")
+!INCLUDE "mod_dav_lock.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_dav_lock.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_dav_lock - Win32 Release" || "$(CFG)" == "mod_dav_lock - Win32 Debug"
+SOURCE=.\locks.c
+
+"$(INTDIR)\locks.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\mod_dav_lock.c
+
+"$(INTDIR)\mod_dav_lock.obj" : $(SOURCE) "$(INTDIR)"
+
+
+!IF "$(CFG)" == "mod_dav_lock - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\dav\lock"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\dav\lock"
+
+!ELSEIF "$(CFG)" == "mod_dav_lock - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\dav\lock"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\dav\lock"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_dav_lock - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\dav\lock"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\dav\lock"
+
+!ELSEIF "$(CFG)" == "mod_dav_lock - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\dav\lock"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\dav\lock"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_dav_lock - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\dav\lock"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\dav\lock"
+
+!ELSEIF "$(CFG)" == "mod_dav_lock - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\dav\lock"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\dav\lock"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_dav_lock - Win32 Release"
+
+"mod_dav - Win32 Release" :
+ cd ".\..\main"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_dav.mak" CFG="mod_dav - Win32 Release"
+ cd "..\lock"
+
+"mod_dav - Win32 ReleaseCLEAN" :
+ cd ".\..\main"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_dav.mak" CFG="mod_dav - Win32 Release" RECURSE=1 CLEAN
+ cd "..\lock"
+
+!ELSEIF "$(CFG)" == "mod_dav_lock - Win32 Debug"
+
+"mod_dav - Win32 Debug" :
+ cd ".\..\main"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_dav.mak" CFG="mod_dav - Win32 Debug"
+ cd "..\lock"
+
+"mod_dav - Win32 DebugCLEAN" :
+ cd ".\..\main"
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_dav.mak" CFG="mod_dav - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\lock"
+
+!ENDIF
+
+SOURCE=..\..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_dav_lock - Win32 Release"
+
+
+"$(INTDIR)\mod_dav_lock.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_dav_lock.res" /i "../../../include" /i "../../../srclib/apr/include" /i ".\..\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_dav_lock.so" /d LONG_NAME="dav_lock_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_dav_lock - Win32 Debug"
+
+
+"$(INTDIR)\mod_dav_lock.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_dav_lock.res" /i "../../../include" /i "../../../srclib/apr/include" /i ".\..\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_dav_lock.so" /d LONG_NAME="dav_lock_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/modules/dav/main/NWGNUmakefile b/modules/dav/main/NWGNUmakefile
index 812dc9e3..bb37b696 100644
--- a/modules/dav/main/NWGNUmakefile
+++ b/modules/dav/main/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -26,8 +26,8 @@ XINCDIRS += \
$(APR)/include \
$(APRUTIL)/include \
$(AP_WORK)/include \
- $(AP_WORK)/server/mpm/NetWare \
$(NWOS) \
+ $(SERVER)/mpm/NetWare \
$(EOLIST)
#
@@ -115,7 +115,7 @@ NLM_THREAD_NAME = mod_DAV
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -128,12 +128,12 @@ NLM_STACK_SIZE = 65536
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -143,7 +143,7 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -188,7 +188,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -220,7 +220,7 @@ FILE_nlm_copyright =
#
FILES_nlm_Ximports = \
@libc.imp \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@httpd.imp \
$(EOLIST)
@@ -249,11 +249,11 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\mod_dav.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
-
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
+
#
# Any specialized rules here
#
@@ -263,6 +263,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/dav/main/dav.imp b/modules/dav/main/dav.imp
deleted file mode 100644
index 88b306da..00000000
--- a/modules/dav/main/dav.imp
+++ /dev/null
@@ -1,64 +0,0 @@
-
- (mod_dav)
- dav_add_all_liveprop_xmlns,
- dav_add_lock,
- dav_add_response,
- dav_add_vary_header,
- dav_auto_checkin,
- dav_auto_checkout,
- dav_buffer_append,
- dav_buffer_init,
- dav_buffer_place,
- dav_buffer_place_mem,
- dav_check_bufsize,
- dav_close_propdb,
- dav_core_find_liveprop,
- dav_core_insert_all_liveprops,
- dav_core_register_uris,
- dav_do_find_liveprop,
- dav_find_child,
- dav_get_allprops,
- dav_get_binding_hooks,
- dav_get_depth,
- dav_get_liveprop_info,
- dav_get_liveprop_ns_count,
- dav_get_liveprop_ns_index,
- dav_get_liveprop_supported,
- dav_get_lock_hooks,
- dav_get_locktoken_list,
- dav_get_propdb_hooks,
- dav_get_props,
- dav_get_resource_state,
- dav_get_search_hooks,
- dav_get_timeout,
- dav_get_vsn_hooks,
- dav_hook_find_liveprop,
- dav_hook_gather_propsets,
- dav_hook_insert_all_liveprops,
- dav_lock_get_activelock,
- dav_lock_parse_lockinfo,
- dav_lock_query,
- dav_lookup_provider,
- dav_lookup_uri,
- dav_new_error,
- dav_new_error_tag,
- dav_notify_created,
- dav_open_propdb,
- dav_prop_commit,
- dav_prop_exec,
- dav_prop_rollback,
- dav_prop_validate,
- dav_push_error,
- dav_register_liveprop_group,
- dav_register_provider,
- dav_set_bufsize,
- dav_unlock,
- dav_validate_request,
- dav_validate_root,
- dav_xml_get_cdata,
- dav_xmlns_add,
- dav_xmlns_add_uri,
- dav_xmlns_create,
- dav_xmlns_generate,
- dav_xmlns_get_prefix,
- dav_xmlns_get_uri
diff --git a/modules/dav/main/mod_dav.c b/modules/dav/main/mod_dav.c
index c57bffb3..90370c6c 100644
--- a/modules/dav/main/mod_dav.c
+++ b/modules/dav/main/mod_dav.c
@@ -761,6 +761,11 @@ static dav_error * dav_open_lockdb(request_rec *r, int ro, dav_lockdb **lockdb)
return (*hooks->open_lockdb)(r, ro, 0, lockdb);
}
+/**
+ * @return 1 if valid content-range,
+ * 0 if no content-range,
+ * -1 if malformed content-range
+ */
static int dav_parse_range(request_rec *r,
apr_off_t *range_start, apr_off_t *range_end)
{
@@ -778,21 +783,20 @@ static int dav_parse_range(request_rec *r,
if (strncasecmp(range, "bytes ", 6) != 0
|| (dash = ap_strchr(range, '-')) == NULL
|| (slash = ap_strchr(range, '/')) == NULL) {
- /* malformed header. ignore it (per S14.16 of RFC2616) */
- return 0;
+ /* malformed header */
+ return -1;
}
*dash++ = *slash++ = '\0';
- /* ignore invalid ranges. (per S14.16 of RFC2616) */
+ /* detect invalid ranges */
if (apr_strtoff(range_start, range + 6, &errp, 10)
|| *errp || *range_start < 0) {
- return 0;
+ return -1;
}
-
if (apr_strtoff(range_end, dash, &errp, 10)
|| *errp || *range_end < 0 || *range_end < *range_start) {
- return 0;
+ return -1;
}
if (*slash != '*') {
@@ -800,7 +804,7 @@ static int dav_parse_range(request_rec *r,
if (apr_strtoff(&dummy, slash, &errp, 10)
|| *errp || dummy <= *range_end) {
- return 0;
+ return -1;
}
}
@@ -939,6 +943,22 @@ static int dav_method_put(request_rec *r)
return dav_handle_err(r, err, multi_response);
}
+ has_range = dav_parse_range(r, &range_start, &range_end);
+ if (has_range < 0) {
+ /* RFC 2616 14.16: If we receive an invalid Content-Range we must
+ * not use the content.
+ */
+ body = apr_psprintf(r->pool,
+ "Malformed Content-Range header for PUT %s.",
+ ap_escape_html(r->pool, r->uri));
+ return dav_error_response(r, HTTP_BAD_REQUEST, body);
+ } else if (has_range) {
+ mode = DAV_MODE_WRITE_SEEKABLE;
+ }
+ else {
+ mode = DAV_MODE_WRITE_TRUNC;
+ }
+
/* make sure the resource can be modified (if versioning repository) */
if ((err = dav_auto_checkout(r, resource,
0 /* not parent_only */,
@@ -947,14 +967,6 @@ static int dav_method_put(request_rec *r)
return dav_handle_err(r, err, NULL);
}
- /* truncate and rewrite the file unless we see a Content-Range */
- mode = DAV_MODE_WRITE_TRUNC;
-
- has_range = dav_parse_range(r, &range_start, &range_end);
- if (has_range) {
- mode = DAV_MODE_WRITE_SEEKABLE;
- }
-
/* Create the new file in the repository */
if ((err = (*resource->hooks->open_stream)(resource, mode,
&stream)) != NULL) {
diff --git a/modules/dav/main/mod_dav.dep b/modules/dav/main/mod_dav.dep
new file mode 100644
index 00000000..b47a3df2
--- /dev/null
+++ b/modules/dav/main/mod_dav.dep
@@ -0,0 +1,180 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_dav.mak
+
+.\liveprop.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_xml.h"\
+ "..\..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr-util\include\apr_xml.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_dav.h"\
+
+
+.\mod_dav.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\http_config.h"\
+ "..\..\..\include\http_core.h"\
+ "..\..\..\include\http_log.h"\
+ "..\..\..\include\http_main.h"\
+ "..\..\..\include\http_protocol.h"\
+ "..\..\..\include\http_request.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_cfgtree.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_script.h"\
+ "..\..\..\include\util_xml.h"\
+ "..\..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr-util\include\apr_xml.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_dav.h"\
+
+
+.\props.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\http_log.h"\
+ "..\..\..\include\http_request.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_xml.h"\
+ "..\..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr-util\include\apr_xml.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_dav.h"\
+
+
+.\providers.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_provider.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_xml.h"\
+ "..\..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr-util\include\apr_xml.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ ".\mod_dav.h"\
+
+
+.\std_liveprop.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_xml.h"\
+ "..\..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr-util\include\apr_xml.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_dav.h"\
+
+
+.\util.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\http_config.h"\
+ "..\..\..\include\http_log.h"\
+ "..\..\..\include\http_protocol.h"\
+ "..\..\..\include\http_request.h"\
+ "..\..\..\include\http_vhost.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_cfgtree.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_xml.h"\
+ "..\..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr-util\include\apr_xml.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_dav.h"\
+
+
+.\util_lock.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\http_config.h"\
+ "..\..\..\include\http_core.h"\
+ "..\..\..\include\http_log.h"\
+ "..\..\..\include\http_protocol.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_cfgtree.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_xml.h"\
+ "..\..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr-util\include\apr_xml.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_dav.h"\
+
+
+..\..\..\build\win32\httpd.rc : \
+ "..\..\..\include\ap_release.h"\
+
diff --git a/modules/dav/main/mod_dav.h b/modules/dav/main/mod_dav.h
index 25dc6d45..f0075311 100644
--- a/modules/dav/main/mod_dav.h
+++ b/modules/dav/main/mod_dav.h
@@ -2411,9 +2411,6 @@ struct dav_hooks_search {
** MISCELLANEOUS STUFF
*/
-/* fetch the "LimitXMLRequestBody" in force for this resource */
-DAV_DECLARE(apr_size_t) dav_get_limit_xml_body(const request_rec *r);
-
typedef struct {
int propid; /* live property ID */
const dav_hooks_liveprop *provider; /* the provider defining this prop */
diff --git a/modules/dav/main/mod_dav.mak b/modules/dav/main/mod_dav.mak
new file mode 100644
index 00000000..a2e397d5
--- /dev/null
+++ b/modules/dav/main/mod_dav.mak
@@ -0,0 +1,406 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_dav.dsp
+!IF "$(CFG)" == ""
+CFG=mod_dav - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_dav - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_dav - Win32 Release" && "$(CFG)" != "mod_dav - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_dav.mak" CFG="mod_dav - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_dav - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_dav - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_dav - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_dav.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_dav.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\liveprop.obj"
+ -@erase "$(INTDIR)\mod_dav.obj"
+ -@erase "$(INTDIR)\mod_dav.res"
+ -@erase "$(INTDIR)\mod_dav_src.idb"
+ -@erase "$(INTDIR)\mod_dav_src.pdb"
+ -@erase "$(INTDIR)\props.obj"
+ -@erase "$(INTDIR)\providers.obj"
+ -@erase "$(INTDIR)\std_liveprop.obj"
+ -@erase "$(INTDIR)\util.obj"
+ -@erase "$(INTDIR)\util_lock.obj"
+ -@erase "$(OUTDIR)\mod_dav.exp"
+ -@erase "$(OUTDIR)\mod_dav.lib"
+ -@erase "$(OUTDIR)\mod_dav.pdb"
+ -@erase "$(OUTDIR)\mod_dav.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../../include" /I "../../../srclib/apr/include" /I "../../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "DAV_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_dav_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_dav.res" /i "../../../include" /i "../../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_dav.so" /d LONG_NAME="dav_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_dav.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_dav.pdb" /debug /out:"$(OUTDIR)\mod_dav.so" /implib:"$(OUTDIR)\mod_dav.lib" /base:@..\..\..\os\win32\BaseAddr.ref,mod_dav.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\liveprop.obj" \
+ "$(INTDIR)\mod_dav.obj" \
+ "$(INTDIR)\props.obj" \
+ "$(INTDIR)\providers.obj" \
+ "$(INTDIR)\std_liveprop.obj" \
+ "$(INTDIR)\util.obj" \
+ "$(INTDIR)\util_lock.obj" \
+ "$(INTDIR)\mod_dav.res" \
+ "..\..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_dav.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_dav.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_dav.so"
+ if exist .\Release\mod_dav.so.manifest mt.exe -manifest .\Release\mod_dav.so.manifest -outputresource:.\Release\mod_dav.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_dav - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_dav.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_dav.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\liveprop.obj"
+ -@erase "$(INTDIR)\mod_dav.obj"
+ -@erase "$(INTDIR)\mod_dav.res"
+ -@erase "$(INTDIR)\mod_dav_src.idb"
+ -@erase "$(INTDIR)\mod_dav_src.pdb"
+ -@erase "$(INTDIR)\props.obj"
+ -@erase "$(INTDIR)\providers.obj"
+ -@erase "$(INTDIR)\std_liveprop.obj"
+ -@erase "$(INTDIR)\util.obj"
+ -@erase "$(INTDIR)\util_lock.obj"
+ -@erase "$(OUTDIR)\mod_dav.exp"
+ -@erase "$(OUTDIR)\mod_dav.lib"
+ -@erase "$(OUTDIR)\mod_dav.pdb"
+ -@erase "$(OUTDIR)\mod_dav.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../../include" /I "../../../srclib/apr/include" /I "../../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "DAV_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_dav_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_dav.res" /i "../../../include" /i "../../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_dav.so" /d LONG_NAME="dav_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_dav.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_dav.pdb" /debug /out:"$(OUTDIR)\mod_dav.so" /implib:"$(OUTDIR)\mod_dav.lib" /base:@..\..\..\os\win32\BaseAddr.ref,mod_dav.so
+LINK32_OBJS= \
+ "$(INTDIR)\liveprop.obj" \
+ "$(INTDIR)\mod_dav.obj" \
+ "$(INTDIR)\props.obj" \
+ "$(INTDIR)\providers.obj" \
+ "$(INTDIR)\std_liveprop.obj" \
+ "$(INTDIR)\util.obj" \
+ "$(INTDIR)\util_lock.obj" \
+ "$(INTDIR)\mod_dav.res" \
+ "..\..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_dav.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_dav.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_dav.so"
+ if exist .\Debug\mod_dav.so.manifest mt.exe -manifest .\Debug\mod_dav.so.manifest -outputresource:.\Debug\mod_dav.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_dav.dep")
+!INCLUDE "mod_dav.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_dav.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_dav - Win32 Release" || "$(CFG)" == "mod_dav - Win32 Debug"
+SOURCE=.\liveprop.c
+
+"$(INTDIR)\liveprop.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\mod_dav.c
+
+"$(INTDIR)\mod_dav.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\props.c
+
+"$(INTDIR)\props.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\providers.c
+
+"$(INTDIR)\providers.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\std_liveprop.c
+
+"$(INTDIR)\std_liveprop.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\util.c
+
+"$(INTDIR)\util.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\util_lock.c
+
+"$(INTDIR)\util_lock.obj" : $(SOURCE) "$(INTDIR)"
+
+
+!IF "$(CFG)" == "mod_dav - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\dav\main"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\dav\main"
+
+!ELSEIF "$(CFG)" == "mod_dav - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\dav\main"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\dav\main"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_dav - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\dav\main"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\dav\main"
+
+!ELSEIF "$(CFG)" == "mod_dav - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\dav\main"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\dav\main"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_dav - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\dav\main"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\dav\main"
+
+!ELSEIF "$(CFG)" == "mod_dav - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\dav\main"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\dav\main"
+
+!ENDIF
+
+SOURCE=..\..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_dav - Win32 Release"
+
+
+"$(INTDIR)\mod_dav.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_dav.res" /i "../../../include" /i "../../../srclib/apr/include" /i ".\..\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_dav.so" /d LONG_NAME="dav_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_dav - Win32 Debug"
+
+
+"$(INTDIR)\mod_dav.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_dav.res" /i "../../../include" /i "../../../srclib/apr/include" /i ".\..\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_dav.so" /d LONG_NAME="dav_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/modules/debug/NWGNUmakefile b/modules/debug/NWGNUmakefile
index 8a1993d3..1ab2f2f8 100644
--- a/modules/debug/NWGNUmakefile
+++ b/modules/debug/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -111,7 +111,7 @@ NLM_THREAD_NAME =
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -227,10 +227,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -241,6 +241,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/debug/NWGNUmodbucketeer b/modules/debug/NWGNUmodbucketeer
index 739ba354..8fe0b7a5 100644
--- a/modules/debug/NWGNUmodbucketeer
+++ b/modules/debug/NWGNUmodbucketeer
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = Bucketeer Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/debug/NWGNUmoddumpio b/modules/debug/NWGNUmoddumpio
index 349db536..3652e9ce 100644
--- a/modules/debug/NWGNUmoddumpio
+++ b/modules/debug/NWGNUmoddumpio
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = DumpIO Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/debug/mod_bucketeer.dep b/modules/debug/mod_bucketeer.dep
new file mode 100644
index 00000000..d4f04674
--- /dev/null
+++ b/modules/debug/mod_bucketeer.dep
@@ -0,0 +1,27 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_bucketeer.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_bucketeer.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/debug/mod_bucketeer.mak b/modules/debug/mod_bucketeer.mak
new file mode 100644
index 00000000..dbeedd96
--- /dev/null
+++ b/modules/debug/mod_bucketeer.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_bucketeer.dsp
+!IF "$(CFG)" == ""
+CFG=mod_bucketeer - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_bucketeer - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_bucketeer - Win32 Release" && "$(CFG)" != "mod_bucketeer - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_bucketeer.mak" CFG="mod_bucketeer - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_bucketeer - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_bucketeer - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_bucketeer - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_bucketeer.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_bucketeer.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_bucketeer.obj"
+ -@erase "$(INTDIR)\mod_bucketeer.res"
+ -@erase "$(INTDIR)\mod_bucketeer_src.idb"
+ -@erase "$(INTDIR)\mod_bucketeer_src.pdb"
+ -@erase "$(OUTDIR)\mod_bucketeer.exp"
+ -@erase "$(OUTDIR)\mod_bucketeer.lib"
+ -@erase "$(OUTDIR)\mod_bucketeer.pdb"
+ -@erase "$(OUTDIR)\mod_bucketeer.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_bucketeer_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_bucketeer.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_bucketeer.so" /d LONG_NAME="bucketeer_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_bucketeer.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_bucketeer.pdb" /debug /out:"$(OUTDIR)\mod_bucketeer.so" /implib:"$(OUTDIR)\mod_bucketeer.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_bucketeer.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_bucketeer.obj" \
+ "$(INTDIR)\mod_bucketeer.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_bucketeer.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_bucketeer.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_bucketeer.so"
+ if exist .\Release\mod_bucketeer.so.manifest mt.exe -manifest .\Release\mod_bucketeer.so.manifest -outputresource:.\Release\mod_bucketeer.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_bucketeer - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_bucketeer.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_bucketeer.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_bucketeer.obj"
+ -@erase "$(INTDIR)\mod_bucketeer.res"
+ -@erase "$(INTDIR)\mod_bucketeer_src.idb"
+ -@erase "$(INTDIR)\mod_bucketeer_src.pdb"
+ -@erase "$(OUTDIR)\mod_bucketeer.exp"
+ -@erase "$(OUTDIR)\mod_bucketeer.lib"
+ -@erase "$(OUTDIR)\mod_bucketeer.pdb"
+ -@erase "$(OUTDIR)\mod_bucketeer.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_bucketeer_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_bucketeer.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_bucketeer.so" /d LONG_NAME="bucketeer_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_bucketeer.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_bucketeer.pdb" /debug /out:"$(OUTDIR)\mod_bucketeer.so" /implib:"$(OUTDIR)\mod_bucketeer.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_bucketeer.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_bucketeer.obj" \
+ "$(INTDIR)\mod_bucketeer.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_bucketeer.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_bucketeer.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_bucketeer.so"
+ if exist .\Debug\mod_bucketeer.so.manifest mt.exe -manifest .\Debug\mod_bucketeer.so.manifest -outputresource:.\Debug\mod_bucketeer.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_bucketeer.dep")
+!INCLUDE "mod_bucketeer.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_bucketeer.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_bucketeer - Win32 Release" || "$(CFG)" == "mod_bucketeer - Win32 Debug"
+
+!IF "$(CFG)" == "mod_bucketeer - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\debug"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\debug"
+
+!ELSEIF "$(CFG)" == "mod_bucketeer - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\debug"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\debug"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_bucketeer - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\debug"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\debug"
+
+!ELSEIF "$(CFG)" == "mod_bucketeer - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\debug"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\debug"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_bucketeer - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\debug"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\debug"
+
+!ELSEIF "$(CFG)" == "mod_bucketeer - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\debug"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\debug"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_bucketeer - Win32 Release"
+
+
+"$(INTDIR)\mod_bucketeer.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_bucketeer.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_bucketeer.so" /d LONG_NAME="bucketeer_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_bucketeer - Win32 Debug"
+
+
+"$(INTDIR)\mod_bucketeer.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_bucketeer.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_bucketeer.so" /d LONG_NAME="bucketeer_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_bucketeer.c
+
+"$(INTDIR)\mod_bucketeer.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/debug/mod_dumpio.dep b/modules/debug/mod_dumpio.dep
new file mode 100644
index 00000000..df79222e
--- /dev/null
+++ b/modules/debug/mod_dumpio.dep
@@ -0,0 +1,27 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_dumpio.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_dumpio.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+
diff --git a/modules/debug/mod_dumpio.mak b/modules/debug/mod_dumpio.mak
new file mode 100644
index 00000000..f30299eb
--- /dev/null
+++ b/modules/debug/mod_dumpio.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_dumpio.dsp
+!IF "$(CFG)" == ""
+CFG=mod_dumpio - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_dumpio - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_dumpio - Win32 Release" && "$(CFG)" != "mod_dumpio - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_dumpio.mak" CFG="mod_dumpio - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_dumpio - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_dumpio - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_dumpio - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_dumpio.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_dumpio.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_dumpio.obj"
+ -@erase "$(INTDIR)\mod_dumpio.res"
+ -@erase "$(INTDIR)\mod_dumpio_src.idb"
+ -@erase "$(INTDIR)\mod_dumpio_src.pdb"
+ -@erase "$(OUTDIR)\mod_dumpio.exp"
+ -@erase "$(OUTDIR)\mod_dumpio.lib"
+ -@erase "$(OUTDIR)\mod_dumpio.pdb"
+ -@erase "$(OUTDIR)\mod_dumpio.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_dumpio_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_dumpio.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_dumpio.so" /d LONG_NAME="dumpio_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_dumpio.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_dumpio.pdb" /debug /out:"$(OUTDIR)\mod_dumpio.so" /implib:"$(OUTDIR)\mod_dumpio.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_dumpio.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_dumpio.obj" \
+ "$(INTDIR)\mod_dumpio.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_dumpio.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_dumpio.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_dumpio.so"
+ if exist .\Release\mod_dumpio.so.manifest mt.exe -manifest .\Release\mod_dumpio.so.manifest -outputresource:.\Release\mod_dumpio.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_dumpio - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_dumpio.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_dumpio.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_dumpio.obj"
+ -@erase "$(INTDIR)\mod_dumpio.res"
+ -@erase "$(INTDIR)\mod_dumpio_src.idb"
+ -@erase "$(INTDIR)\mod_dumpio_src.pdb"
+ -@erase "$(OUTDIR)\mod_dumpio.exp"
+ -@erase "$(OUTDIR)\mod_dumpio.lib"
+ -@erase "$(OUTDIR)\mod_dumpio.pdb"
+ -@erase "$(OUTDIR)\mod_dumpio.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_dumpio_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_dumpio.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_dumpio.so" /d LONG_NAME="dumpio_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_dumpio.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_dumpio.pdb" /debug /out:"$(OUTDIR)\mod_dumpio.so" /implib:"$(OUTDIR)\mod_dumpio.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_dumpio.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_dumpio.obj" \
+ "$(INTDIR)\mod_dumpio.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_dumpio.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_dumpio.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_dumpio.so"
+ if exist .\Debug\mod_dumpio.so.manifest mt.exe -manifest .\Debug\mod_dumpio.so.manifest -outputresource:.\Debug\mod_dumpio.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_dumpio.dep")
+!INCLUDE "mod_dumpio.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_dumpio.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_dumpio - Win32 Release" || "$(CFG)" == "mod_dumpio - Win32 Debug"
+
+!IF "$(CFG)" == "mod_dumpio - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\debug"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\debug"
+
+!ELSEIF "$(CFG)" == "mod_dumpio - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\debug"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\debug"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_dumpio - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\debug"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\debug"
+
+!ELSEIF "$(CFG)" == "mod_dumpio - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\debug"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\debug"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_dumpio - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\debug"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\debug"
+
+!ELSEIF "$(CFG)" == "mod_dumpio - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\debug"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\debug"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_dumpio - Win32 Release"
+
+
+"$(INTDIR)\mod_dumpio.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_dumpio.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_dumpio.so" /d LONG_NAME="dumpio_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_dumpio - Win32 Debug"
+
+
+"$(INTDIR)\mod_dumpio.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_dumpio.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_dumpio.so" /d LONG_NAME="dumpio_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_dumpio.c
+
+"$(INTDIR)\mod_dumpio.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/echo/NWGNUmakefile b/modules/echo/NWGNUmakefile
index d456bf19..3b05dc9d 100644
--- a/modules/echo/NWGNUmakefile
+++ b/modules/echo/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -24,12 +24,10 @@ include $(AP_WORK)\build\NWGNUhead.inc
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -117,7 +115,7 @@ NLM_THREAD_NAME = Echo Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -130,12 +128,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -145,7 +143,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -180,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,8 +209,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -240,10 +238,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -254,6 +252,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/echo/mod_echo.dep b/modules/echo/mod_echo.dep
new file mode 100644
index 00000000..f6698144
--- /dev/null
+++ b/modules/echo/mod_echo.dep
@@ -0,0 +1,23 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_echo.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_echo.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+
diff --git a/modules/echo/mod_echo.mak b/modules/echo/mod_echo.mak
new file mode 100644
index 00000000..94b614a2
--- /dev/null
+++ b/modules/echo/mod_echo.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_echo.dsp
+!IF "$(CFG)" == ""
+CFG=mod_echo - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_echo - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_echo - Win32 Release" && "$(CFG)" != "mod_echo - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_echo.mak" CFG="mod_echo - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_echo - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_echo - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_echo - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_echo.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_echo.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_echo.obj"
+ -@erase "$(INTDIR)\mod_echo.res"
+ -@erase "$(INTDIR)\mod_echo_src.idb"
+ -@erase "$(INTDIR)\mod_echo_src.pdb"
+ -@erase "$(OUTDIR)\mod_echo.exp"
+ -@erase "$(OUTDIR)\mod_echo.lib"
+ -@erase "$(OUTDIR)\mod_echo.pdb"
+ -@erase "$(OUTDIR)\mod_echo.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_echo_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_echo.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_echo.so" /d LONG_NAME="echo_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_echo.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_echo.pdb" /debug /out:"$(OUTDIR)\mod_echo.so" /implib:"$(OUTDIR)\mod_echo.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_echo.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_echo.obj" \
+ "$(INTDIR)\mod_echo.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_echo.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_echo.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_echo.so"
+ if exist .\Release\mod_echo.so.manifest mt.exe -manifest .\Release\mod_echo.so.manifest -outputresource:.\Release\mod_echo.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_echo - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_echo.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_echo.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_echo.obj"
+ -@erase "$(INTDIR)\mod_echo.res"
+ -@erase "$(INTDIR)\mod_echo_src.idb"
+ -@erase "$(INTDIR)\mod_echo_src.pdb"
+ -@erase "$(OUTDIR)\mod_echo.exp"
+ -@erase "$(OUTDIR)\mod_echo.lib"
+ -@erase "$(OUTDIR)\mod_echo.pdb"
+ -@erase "$(OUTDIR)\mod_echo.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_echo_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_echo.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_echo.so" /d LONG_NAME="echo_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_echo.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_echo.pdb" /debug /out:"$(OUTDIR)\mod_echo.so" /implib:"$(OUTDIR)\mod_echo.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_echo.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_echo.obj" \
+ "$(INTDIR)\mod_echo.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_echo.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_echo.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_echo.so"
+ if exist .\Debug\mod_echo.so.manifest mt.exe -manifest .\Debug\mod_echo.so.manifest -outputresource:.\Debug\mod_echo.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_echo.dep")
+!INCLUDE "mod_echo.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_echo.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_echo - Win32 Release" || "$(CFG)" == "mod_echo - Win32 Debug"
+
+!IF "$(CFG)" == "mod_echo - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\echo"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\echo"
+
+!ELSEIF "$(CFG)" == "mod_echo - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\echo"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\echo"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_echo - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\echo"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\echo"
+
+!ELSEIF "$(CFG)" == "mod_echo - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\echo"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\echo"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_echo - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\echo"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\echo"
+
+!ELSEIF "$(CFG)" == "mod_echo - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\echo"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\echo"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_echo - Win32 Release"
+
+
+"$(INTDIR)\mod_echo.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_echo.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_echo.so" /d LONG_NAME="echo_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_echo - Win32 Debug"
+
+
+"$(INTDIR)\mod_echo.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_echo.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_echo.so" /d LONG_NAME="echo_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_echo.c
+
+"$(INTDIR)\mod_echo.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/experimental/NWGNUcase_flt b/modules/experimental/NWGNUcase_flt
index f696b863..df9a86f4 100644
--- a/modules/experimental/NWGNUcase_flt
+++ b/modules/experimental/NWGNUcase_flt
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -24,12 +24,10 @@ include $(AP_WORK)\build\NWGNUhead.inc
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -117,7 +115,7 @@ NLM_THREAD_NAME = $(NLM_NAME) Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -130,12 +128,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -145,7 +143,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -180,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,8 +209,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -240,7 +238,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -253,6 +251,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/experimental/NWGNUcase_flt_in b/modules/experimental/NWGNUcase_flt_in
index d9ec3113..7429a44a 100644
--- a/modules/experimental/NWGNUcase_flt_in
+++ b/modules/experimental/NWGNUcase_flt_in
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -24,12 +24,10 @@ include $(AP_WORK)\build\NWGNUhead.inc
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -117,7 +115,7 @@ NLM_THREAD_NAME = $(NLM_NAME) Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -130,12 +128,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -145,7 +143,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -180,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,8 +209,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -240,7 +238,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -253,6 +251,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/experimental/NWGNUexample b/modules/experimental/NWGNUexample
index 89792616..4533342f 100644
--- a/modules/experimental/NWGNUexample
+++ b/modules/experimental/NWGNUexample
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -24,12 +24,10 @@ include $(AP_WORK)\build\NWGNUhead.inc
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -117,7 +115,7 @@ NLM_THREAD_NAME = Example Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -130,12 +128,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -145,7 +143,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -180,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,8 +209,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -240,7 +238,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -253,6 +251,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/experimental/NWGNUmakefile b/modules/experimental/NWGNUmakefile
index 1189aa8f..e16075e7 100644
--- a/modules/experimental/NWGNUmakefile
+++ b/modules/experimental/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -111,7 +111,7 @@ NLM_THREAD_NAME =
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -236,10 +236,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -250,6 +250,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/experimental/mod_case_filter.dep b/modules/experimental/mod_case_filter.dep
new file mode 100644
index 00000000..cc97f8fd
--- /dev/null
+++ b/modules/experimental/mod_case_filter.dep
@@ -0,0 +1,24 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_case_filter.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_case_filter.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+
diff --git a/modules/experimental/mod_case_filter.mak b/modules/experimental/mod_case_filter.mak
new file mode 100644
index 00000000..7c36129d
--- /dev/null
+++ b/modules/experimental/mod_case_filter.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_case_filter.dsp
+!IF "$(CFG)" == ""
+CFG=mod_case_filter - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_case_filter - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_case_filter - Win32 Release" && "$(CFG)" != "mod_case_filter - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_case_filter.mak" CFG="mod_case_filter - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_case_filter - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_case_filter - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_case_filter - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_case_filter.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_case_filter.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_case_filter.obj"
+ -@erase "$(INTDIR)\mod_case_filter.res"
+ -@erase "$(INTDIR)\mod_case_filter_src.idb"
+ -@erase "$(INTDIR)\mod_case_filter_src.pdb"
+ -@erase "$(OUTDIR)\mod_case_filter.exp"
+ -@erase "$(OUTDIR)\mod_case_filter.lib"
+ -@erase "$(OUTDIR)\mod_case_filter.pdb"
+ -@erase "$(OUTDIR)\mod_case_filter.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_case_filter_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_case_filter.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_case_filter.so" /d LONG_NAME="case_filter_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_case_filter.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_case_filter.pdb" /debug /out:"$(OUTDIR)\mod_case_filter.so" /implib:"$(OUTDIR)\mod_case_filter.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_case_filter.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_case_filter.obj" \
+ "$(INTDIR)\mod_case_filter.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_case_filter.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_case_filter.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_case_filter.so"
+ if exist .\Release\mod_case_filter.so.manifest mt.exe -manifest .\Release\mod_case_filter.so.manifest -outputresource:.\Release\mod_case_filter.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_case_filter - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_case_filter.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_case_filter.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_case_filter.obj"
+ -@erase "$(INTDIR)\mod_case_filter.res"
+ -@erase "$(INTDIR)\mod_case_filter_src.idb"
+ -@erase "$(INTDIR)\mod_case_filter_src.pdb"
+ -@erase "$(OUTDIR)\mod_case_filter.exp"
+ -@erase "$(OUTDIR)\mod_case_filter.lib"
+ -@erase "$(OUTDIR)\mod_case_filter.pdb"
+ -@erase "$(OUTDIR)\mod_case_filter.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_case_filter_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_case_filter.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_case_filter.so" /d LONG_NAME="case_filter_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_case_filter.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_case_filter.pdb" /debug /out:"$(OUTDIR)\mod_case_filter.so" /implib:"$(OUTDIR)\mod_case_filter.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_case_filter.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_case_filter.obj" \
+ "$(INTDIR)\mod_case_filter.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_case_filter.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_case_filter.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_case_filter.so"
+ if exist .\Debug\mod_case_filter.so.manifest mt.exe -manifest .\Debug\mod_case_filter.so.manifest -outputresource:.\Debug\mod_case_filter.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_case_filter.dep")
+!INCLUDE "mod_case_filter.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_case_filter.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_case_filter - Win32 Release" || "$(CFG)" == "mod_case_filter - Win32 Debug"
+
+!IF "$(CFG)" == "mod_case_filter - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\experimental"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\experimental"
+
+!ELSEIF "$(CFG)" == "mod_case_filter - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\experimental"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\experimental"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_case_filter - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\experimental"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\experimental"
+
+!ELSEIF "$(CFG)" == "mod_case_filter - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\experimental"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\experimental"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_case_filter - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\experimental"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\experimental"
+
+!ELSEIF "$(CFG)" == "mod_case_filter - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\experimental"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\experimental"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_case_filter - Win32 Release"
+
+
+"$(INTDIR)\mod_case_filter.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_case_filter.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_case_filter.so" /d LONG_NAME="case_filter_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_case_filter - Win32 Debug"
+
+
+"$(INTDIR)\mod_case_filter.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_case_filter.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_case_filter.so" /d LONG_NAME="case_filter_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_case_filter.c
+
+"$(INTDIR)\mod_case_filter.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/experimental/mod_case_filter_in.dep b/modules/experimental/mod_case_filter_in.dep
new file mode 100644
index 00000000..ad773151
--- /dev/null
+++ b/modules/experimental/mod_case_filter_in.dep
@@ -0,0 +1,24 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_case_filter_in.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_case_filter_in.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+
diff --git a/modules/experimental/mod_case_filter_in.mak b/modules/experimental/mod_case_filter_in.mak
new file mode 100644
index 00000000..74af05ad
--- /dev/null
+++ b/modules/experimental/mod_case_filter_in.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_case_filter_in.dsp
+!IF "$(CFG)" == ""
+CFG=mod_case_filter_in - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_case_filter_in - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_case_filter_in - Win32 Release" && "$(CFG)" != "mod_case_filter_in - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_case_filter_in.mak" CFG="mod_case_filter_in - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_case_filter_in - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_case_filter_in - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_case_filter_in - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_case_filter_in.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_case_filter_in.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_case_filter_in.obj"
+ -@erase "$(INTDIR)\mod_case_filter_in.res"
+ -@erase "$(INTDIR)\mod_case_filter_in_src.idb"
+ -@erase "$(INTDIR)\mod_case_filter_in_src.pdb"
+ -@erase "$(OUTDIR)\mod_case_filter_in.exp"
+ -@erase "$(OUTDIR)\mod_case_filter_in.lib"
+ -@erase "$(OUTDIR)\mod_case_filter_in.pdb"
+ -@erase "$(OUTDIR)\mod_case_filter_in.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_case_filter_in_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_case_filter_in.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_case_filter_in.so" /d LONG_NAME="case_filter_in_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_case_filter_in.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_case_filter_in.pdb" /debug /out:"$(OUTDIR)\mod_case_filter_in.so" /implib:"$(OUTDIR)\mod_case_filter_in.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_case_filter_in.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_case_filter_in.obj" \
+ "$(INTDIR)\mod_case_filter_in.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_case_filter_in.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_case_filter_in.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_case_filter_in.so"
+ if exist .\Release\mod_case_filter_in.so.manifest mt.exe -manifest .\Release\mod_case_filter_in.so.manifest -outputresource:.\Release\mod_case_filter_in.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_case_filter_in - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_case_filter_in.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_case_filter_in.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_case_filter_in.obj"
+ -@erase "$(INTDIR)\mod_case_filter_in.res"
+ -@erase "$(INTDIR)\mod_case_filter_in_src.idb"
+ -@erase "$(INTDIR)\mod_case_filter_in_src.pdb"
+ -@erase "$(OUTDIR)\mod_case_filter_in.exp"
+ -@erase "$(OUTDIR)\mod_case_filter_in.lib"
+ -@erase "$(OUTDIR)\mod_case_filter_in.pdb"
+ -@erase "$(OUTDIR)\mod_case_filter_in.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_case_filter_in_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_case_filter_in.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_case_filter_in.so" /d LONG_NAME="case_filter_in_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_case_filter_in.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_case_filter_in.pdb" /debug /out:"$(OUTDIR)\mod_case_filter_in.so" /implib:"$(OUTDIR)\mod_case_filter_in.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_case_filter_in.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_case_filter_in.obj" \
+ "$(INTDIR)\mod_case_filter_in.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_case_filter_in.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_case_filter_in.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_case_filter_in.so"
+ if exist .\Debug\mod_case_filter_in.so.manifest mt.exe -manifest .\Debug\mod_case_filter_in.so.manifest -outputresource:.\Debug\mod_case_filter_in.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_case_filter_in.dep")
+!INCLUDE "mod_case_filter_in.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_case_filter_in.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_case_filter_in - Win32 Release" || "$(CFG)" == "mod_case_filter_in - Win32 Debug"
+
+!IF "$(CFG)" == "mod_case_filter_in - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\experimental"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\experimental"
+
+!ELSEIF "$(CFG)" == "mod_case_filter_in - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\experimental"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\experimental"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_case_filter_in - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\experimental"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\experimental"
+
+!ELSEIF "$(CFG)" == "mod_case_filter_in - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\experimental"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\experimental"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_case_filter_in - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\experimental"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\experimental"
+
+!ELSEIF "$(CFG)" == "mod_case_filter_in - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\experimental"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\experimental"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_case_filter_in - Win32 Release"
+
+
+"$(INTDIR)\mod_case_filter_in.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_case_filter_in.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_case_filter_in.so" /d LONG_NAME="case_filter_in_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_case_filter_in - Win32 Debug"
+
+
+"$(INTDIR)\mod_case_filter_in.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_case_filter_in.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_case_filter_in.so" /d LONG_NAME="case_filter_in_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_case_filter_in.c
+
+"$(INTDIR)\mod_case_filter_in.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/experimental/mod_example.dep b/modules/experimental/mod_example.dep
new file mode 100644
index 00000000..88d4bff4
--- /dev/null
+++ b/modules/experimental/mod_example.dep
@@ -0,0 +1,33 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_example.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_example.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/experimental/mod_example.mak b/modules/experimental/mod_example.mak
new file mode 100644
index 00000000..2d8f60c3
--- /dev/null
+++ b/modules/experimental/mod_example.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_example.dsp
+!IF "$(CFG)" == ""
+CFG=mod_example - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_example - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_example - Win32 Release" && "$(CFG)" != "mod_example - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_example.mak" CFG="mod_example - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_example - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_example - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_example - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_example.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_example.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_example.obj"
+ -@erase "$(INTDIR)\mod_example.res"
+ -@erase "$(INTDIR)\mod_example_src.idb"
+ -@erase "$(INTDIR)\mod_example_src.pdb"
+ -@erase "$(OUTDIR)\mod_example.exp"
+ -@erase "$(OUTDIR)\mod_example.lib"
+ -@erase "$(OUTDIR)\mod_example.pdb"
+ -@erase "$(OUTDIR)\mod_example.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_example_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_example.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_example.so" /d LONG_NAME="example_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_example.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_example.pdb" /debug /out:"$(OUTDIR)\mod_example.so" /implib:"$(OUTDIR)\mod_example.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_example.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_example.obj" \
+ "$(INTDIR)\mod_example.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_example.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_example.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_example.so"
+ if exist .\Release\mod_example.so.manifest mt.exe -manifest .\Release\mod_example.so.manifest -outputresource:.\Release\mod_example.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_example - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_example.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_example.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_example.obj"
+ -@erase "$(INTDIR)\mod_example.res"
+ -@erase "$(INTDIR)\mod_example_src.idb"
+ -@erase "$(INTDIR)\mod_example_src.pdb"
+ -@erase "$(OUTDIR)\mod_example.exp"
+ -@erase "$(OUTDIR)\mod_example.lib"
+ -@erase "$(OUTDIR)\mod_example.pdb"
+ -@erase "$(OUTDIR)\mod_example.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_example_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_example.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_example.so" /d LONG_NAME="example_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_example.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_example.pdb" /debug /out:"$(OUTDIR)\mod_example.so" /implib:"$(OUTDIR)\mod_example.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_example.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_example.obj" \
+ "$(INTDIR)\mod_example.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_example.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_example.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_example.so"
+ if exist .\Debug\mod_example.so.manifest mt.exe -manifest .\Debug\mod_example.so.manifest -outputresource:.\Debug\mod_example.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_example.dep")
+!INCLUDE "mod_example.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_example.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_example - Win32 Release" || "$(CFG)" == "mod_example - Win32 Debug"
+
+!IF "$(CFG)" == "mod_example - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\experimental"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\experimental"
+
+!ELSEIF "$(CFG)" == "mod_example - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\experimental"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\experimental"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_example - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\experimental"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\experimental"
+
+!ELSEIF "$(CFG)" == "mod_example - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\experimental"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\experimental"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_example - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\experimental"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\experimental"
+
+!ELSEIF "$(CFG)" == "mod_example - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\experimental"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\experimental"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_example - Win32 Release"
+
+
+"$(INTDIR)\mod_example.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_example.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_example.so" /d LONG_NAME="example_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_example - Win32 Debug"
+
+
+"$(INTDIR)\mod_example.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_example.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_example.so" /d LONG_NAME="example_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_example.c
+
+"$(INTDIR)\mod_example.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/filters/NWGNUcharsetl b/modules/filters/NWGNUcharsetl
index 8e28c285..99326354 100644
--- a/modules/filters/NWGNUcharsetl
+++ b/modules/filters/NWGNUcharsetl
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -24,12 +24,10 @@ include $(AP_WORK)\build\NWGNUhead.inc
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -118,7 +116,7 @@ NLM_THREAD_NAME = charsetl
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -131,12 +129,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -146,7 +144,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -181,7 +179,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -212,8 +210,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -241,7 +239,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -254,6 +252,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/filters/NWGNUdeflate b/modules/filters/NWGNUdeflate
index 635746d6..579d1386 100644
--- a/modules/filters/NWGNUdeflate
+++ b/modules/filters/NWGNUdeflate
@@ -13,7 +13,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -27,12 +27,10 @@ include $(AP_WORK)\build\NWGNUhead.inc
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -120,7 +118,7 @@ NLM_THREAD_NAME = Deflate Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -133,12 +131,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -148,7 +146,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -199,7 +197,7 @@ endif
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -230,8 +228,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -259,10 +257,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -275,6 +273,6 @@ vpath %.c $(ZLIBSDK)
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/filters/NWGNUextfiltr b/modules/filters/NWGNUextfiltr
index c517f698..16ae72a1 100644
--- a/modules/filters/NWGNUextfiltr
+++ b/modules/filters/NWGNUextfiltr
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = ExtFilter Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/filters/NWGNUmakefile b/modules/filters/NWGNUmakefile
index e3a40664..2b21b230 100644
--- a/modules/filters/NWGNUmakefile
+++ b/modules/filters/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -111,7 +111,7 @@ NLM_THREAD_NAME =
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -238,10 +238,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -252,6 +252,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/filters/NWGNUmod_filter b/modules/filters/NWGNUmod_filter
index 38696055..3bc38385 100644
--- a/modules/filters/NWGNUmod_filter
+++ b/modules/filters/NWGNUmod_filter
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = Filter Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/filters/NWGNUreqtimeout b/modules/filters/NWGNUreqtimeout
index bb682fa1..a99f82c4 100644
--- a/modules/filters/NWGNUreqtimeout
+++ b/modules/filters/NWGNUreqtimeout
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -24,12 +24,10 @@ include $(AP_WORK)\build\NWGNUhead.inc
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -117,7 +115,7 @@ NLM_THREAD_NAME = $(NLM_NAME)
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -130,12 +128,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -145,7 +143,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -180,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,8 +209,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -240,7 +238,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -253,6 +251,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/filters/NWGNUsubstitute b/modules/filters/NWGNUsubstitute
index ca19eb11..e5775f28 100644
--- a/modules/filters/NWGNUsubstitute
+++ b/modules/filters/NWGNUsubstitute
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -24,12 +24,10 @@ include $(AP_WORK)\build\NWGNUhead.inc
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -117,7 +115,7 @@ NLM_THREAD_NAME = Substitute Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -130,12 +128,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -145,7 +143,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -180,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,8 +209,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -240,7 +238,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -253,6 +251,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/filters/mod_charset_lite.dep b/modules/filters/mod_charset_lite.dep
new file mode 100644
index 00000000..e6f20e7d
--- /dev/null
+++ b/modules/filters/mod_charset_lite.dep
@@ -0,0 +1,33 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_charset_lite.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_charset_lite.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/filters/mod_charset_lite.mak b/modules/filters/mod_charset_lite.mak
new file mode 100644
index 00000000..8870f9ad
--- /dev/null
+++ b/modules/filters/mod_charset_lite.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_charset_lite.dsp
+!IF "$(CFG)" == ""
+CFG=mod_charset_lite - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_charset_lite - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_charset_lite - Win32 Release" && "$(CFG)" != "mod_charset_lite - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_charset_lite.mak" CFG="mod_charset_lite - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_charset_lite - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_charset_lite - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_charset_lite - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_charset_lite.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_charset_lite.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_charset_lite.obj"
+ -@erase "$(INTDIR)\mod_charset_lite.res"
+ -@erase "$(INTDIR)\mod_charset_lite_src.idb"
+ -@erase "$(INTDIR)\mod_charset_lite_src.pdb"
+ -@erase "$(OUTDIR)\mod_charset_lite.exp"
+ -@erase "$(OUTDIR)\mod_charset_lite.lib"
+ -@erase "$(OUTDIR)\mod_charset_lite.pdb"
+ -@erase "$(OUTDIR)\mod_charset_lite.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../srclib/apr-util/include" /I "../../srclib/apr/include" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_charset_lite_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_charset_lite.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_charset_lite.so" /d LONG_NAME="charset_lite_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_charset_lite.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_charset_lite.pdb" /debug /out:"$(OUTDIR)\mod_charset_lite.so" /implib:"$(OUTDIR)\mod_charset_lite.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_charset_lite.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_charset_lite.obj" \
+ "$(INTDIR)\mod_charset_lite.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_charset_lite.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_charset_lite.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_charset_lite.so"
+ if exist .\Release\mod_charset_lite.so.manifest mt.exe -manifest .\Release\mod_charset_lite.so.manifest -outputresource:.\Release\mod_charset_lite.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_charset_lite - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_charset_lite.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_charset_lite.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_charset_lite.obj"
+ -@erase "$(INTDIR)\mod_charset_lite.res"
+ -@erase "$(INTDIR)\mod_charset_lite_src.idb"
+ -@erase "$(INTDIR)\mod_charset_lite_src.pdb"
+ -@erase "$(OUTDIR)\mod_charset_lite.exp"
+ -@erase "$(OUTDIR)\mod_charset_lite.lib"
+ -@erase "$(OUTDIR)\mod_charset_lite.pdb"
+ -@erase "$(OUTDIR)\mod_charset_lite.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../srclib/apr-util/include" /I "../../srclib/apr/include" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_charset_lite_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_charset_lite.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_charset_lite.so" /d LONG_NAME="charset_lite_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_charset_lite.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_charset_lite.pdb" /debug /out:"$(OUTDIR)\mod_charset_lite.so" /implib:"$(OUTDIR)\mod_charset_lite.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_charset_lite.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_charset_lite.obj" \
+ "$(INTDIR)\mod_charset_lite.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_charset_lite.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_charset_lite.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_charset_lite.so"
+ if exist .\Debug\mod_charset_lite.so.manifest mt.exe -manifest .\Debug\mod_charset_lite.so.manifest -outputresource:.\Debug\mod_charset_lite.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_charset_lite.dep")
+!INCLUDE "mod_charset_lite.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_charset_lite.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_charset_lite - Win32 Release" || "$(CFG)" == "mod_charset_lite - Win32 Debug"
+
+!IF "$(CFG)" == "mod_charset_lite - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\filters"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_charset_lite - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\filters"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_charset_lite - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\filters"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_charset_lite - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\filters"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_charset_lite - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\filters"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_charset_lite - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\filters"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\filters"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_charset_lite - Win32 Release"
+
+
+"$(INTDIR)\mod_charset_lite.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_charset_lite.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_charset_lite.so" /d LONG_NAME="charset_lite_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_charset_lite - Win32 Debug"
+
+
+"$(INTDIR)\mod_charset_lite.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_charset_lite.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_charset_lite.so" /d LONG_NAME="charset_lite_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_charset_lite.c
+
+"$(INTDIR)\mod_charset_lite.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/filters/mod_deflate.dep b/modules/filters/mod_deflate.dep
new file mode 100644
index 00000000..75fc104e
--- /dev/null
+++ b/modules/filters/mod_deflate.dep
@@ -0,0 +1,28 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_deflate.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_deflate.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\zlib\zconf.h"\
+ "..\..\srclib\zlib\zlib.h"\
+
diff --git a/modules/filters/mod_deflate.mak b/modules/filters/mod_deflate.mak
new file mode 100644
index 00000000..4549eabb
--- /dev/null
+++ b/modules/filters/mod_deflate.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_deflate.dsp
+!IF "$(CFG)" == ""
+CFG=mod_deflate - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_deflate - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_deflate - Win32 Release" && "$(CFG)" != "mod_deflate - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_deflate.mak" CFG="mod_deflate - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_deflate - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_deflate - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_deflate - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_deflate.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_deflate.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_deflate.obj"
+ -@erase "$(INTDIR)\mod_deflate.res"
+ -@erase "$(INTDIR)\mod_deflate_src.idb"
+ -@erase "$(INTDIR)\mod_deflate_src.pdb"
+ -@erase "$(OUTDIR)\mod_deflate.exp"
+ -@erase "$(OUTDIR)\mod_deflate.lib"
+ -@erase "$(OUTDIR)\mod_deflate.pdb"
+ -@erase "$(OUTDIR)\mod_deflate.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../../srclib/zlib" /D "NDEBUG" /D "ZLIB_DLL" /D "HAVE_ZUTIL_H" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_deflate_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_deflate.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_deflate.so" /d LONG_NAME="deflate_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_deflate.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib zdll.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_deflate.pdb" /debug /out:"$(OUTDIR)\mod_deflate.so" /implib:"$(OUTDIR)\mod_deflate.lib" /libpath:"../../srclib/zlib" /base:@..\..\os\win32\BaseAddr.ref,mod_deflate.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_deflate.obj" \
+ "$(INTDIR)\mod_deflate.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_deflate.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_deflate.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_deflate.so"
+ if exist .\Release\mod_deflate.so.manifest mt.exe -manifest .\Release\mod_deflate.so.manifest -outputresource:.\Release\mod_deflate.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_deflate - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_deflate.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_deflate.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_deflate.obj"
+ -@erase "$(INTDIR)\mod_deflate.res"
+ -@erase "$(INTDIR)\mod_deflate_src.idb"
+ -@erase "$(INTDIR)\mod_deflate_src.pdb"
+ -@erase "$(OUTDIR)\mod_deflate.exp"
+ -@erase "$(OUTDIR)\mod_deflate.lib"
+ -@erase "$(OUTDIR)\mod_deflate.pdb"
+ -@erase "$(OUTDIR)\mod_deflate.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../../srclib/zlib" /D "_DEBUG" /D "ZLIB_DLL" /D "HAVE_ZUTIL_H" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_deflate_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_deflate.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_deflate.so" /d LONG_NAME="deflate_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_deflate.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib zdll.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_deflate.pdb" /debug /out:"$(OUTDIR)\mod_deflate.so" /implib:"$(OUTDIR)\mod_deflate.lib" /libpath:"../../srclib/zlib" /base:@..\..\os\win32\BaseAddr.ref,mod_deflate.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_deflate.obj" \
+ "$(INTDIR)\mod_deflate.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_deflate.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_deflate.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_deflate.so"
+ if exist .\Debug\mod_deflate.so.manifest mt.exe -manifest .\Debug\mod_deflate.so.manifest -outputresource:.\Debug\mod_deflate.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_deflate.dep")
+!INCLUDE "mod_deflate.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_deflate.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_deflate - Win32 Release" || "$(CFG)" == "mod_deflate - Win32 Debug"
+
+!IF "$(CFG)" == "mod_deflate - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\filters"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_deflate - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\filters"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_deflate - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\filters"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_deflate - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\filters"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_deflate - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\filters"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_deflate - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\filters"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\filters"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_deflate - Win32 Release"
+
+
+"$(INTDIR)\mod_deflate.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_deflate.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_deflate.so" /d LONG_NAME="deflate_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_deflate - Win32 Debug"
+
+
+"$(INTDIR)\mod_deflate.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_deflate.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_deflate.so" /d LONG_NAME="deflate_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_deflate.c
+
+"$(INTDIR)\mod_deflate.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/filters/mod_ext_filter.dep b/modules/filters/mod_ext_filter.dep
new file mode 100644
index 00000000..29ef590c
--- /dev/null
+++ b/modules/filters/mod_ext_filter.dep
@@ -0,0 +1,32 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_ext_filter.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_ext_filter.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\include\util_time.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/filters/mod_ext_filter.mak b/modules/filters/mod_ext_filter.mak
new file mode 100644
index 00000000..08faf1d2
--- /dev/null
+++ b/modules/filters/mod_ext_filter.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_ext_filter.dsp
+!IF "$(CFG)" == ""
+CFG=mod_ext_filter - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_ext_filter - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_ext_filter - Win32 Release" && "$(CFG)" != "mod_ext_filter - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_ext_filter.mak" CFG="mod_ext_filter - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_ext_filter - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_ext_filter - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_ext_filter - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_ext_filter.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_ext_filter.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_ext_filter.obj"
+ -@erase "$(INTDIR)\mod_ext_filter.res"
+ -@erase "$(INTDIR)\mod_ext_filter_src.idb"
+ -@erase "$(INTDIR)\mod_ext_filter_src.pdb"
+ -@erase "$(OUTDIR)\mod_ext_filter.exp"
+ -@erase "$(OUTDIR)\mod_ext_filter.lib"
+ -@erase "$(OUTDIR)\mod_ext_filter.pdb"
+ -@erase "$(OUTDIR)\mod_ext_filter.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_ext_filter_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_ext_filter.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_ext_filter.so" /d LONG_NAME="ext_filter_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_ext_filter.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_ext_filter.pdb" /debug /out:"$(OUTDIR)\mod_ext_filter.so" /implib:"$(OUTDIR)\mod_ext_filter.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_ext_filter.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_ext_filter.obj" \
+ "$(INTDIR)\mod_ext_filter.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_ext_filter.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_ext_filter.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_ext_filter.so"
+ if exist .\Release\mod_ext_filter.so.manifest mt.exe -manifest .\Release\mod_ext_filter.so.manifest -outputresource:.\Release\mod_ext_filter.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_ext_filter - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_ext_filter.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_ext_filter.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_ext_filter.obj"
+ -@erase "$(INTDIR)\mod_ext_filter.res"
+ -@erase "$(INTDIR)\mod_ext_filter_src.idb"
+ -@erase "$(INTDIR)\mod_ext_filter_src.pdb"
+ -@erase "$(OUTDIR)\mod_ext_filter.exp"
+ -@erase "$(OUTDIR)\mod_ext_filter.lib"
+ -@erase "$(OUTDIR)\mod_ext_filter.pdb"
+ -@erase "$(OUTDIR)\mod_ext_filter.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_ext_filter_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_ext_filter.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_ext_filter.so" /d LONG_NAME="ext_filter_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_ext_filter.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_ext_filter.pdb" /debug /out:"$(OUTDIR)\mod_ext_filter.so" /implib:"$(OUTDIR)\mod_ext_filter.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_ext_filter.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_ext_filter.obj" \
+ "$(INTDIR)\mod_ext_filter.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_ext_filter.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_ext_filter.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_ext_filter.so"
+ if exist .\Debug\mod_ext_filter.so.manifest mt.exe -manifest .\Debug\mod_ext_filter.so.manifest -outputresource:.\Debug\mod_ext_filter.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_ext_filter.dep")
+!INCLUDE "mod_ext_filter.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_ext_filter.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_ext_filter - Win32 Release" || "$(CFG)" == "mod_ext_filter - Win32 Debug"
+
+!IF "$(CFG)" == "mod_ext_filter - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\filters"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_ext_filter - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\filters"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_ext_filter - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\filters"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_ext_filter - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\filters"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_ext_filter - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\filters"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_ext_filter - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\filters"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\filters"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_ext_filter - Win32 Release"
+
+
+"$(INTDIR)\mod_ext_filter.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_ext_filter.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_ext_filter.so" /d LONG_NAME="ext_filter_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_ext_filter - Win32 Debug"
+
+
+"$(INTDIR)\mod_ext_filter.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_ext_filter.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_ext_filter.so" /d LONG_NAME="ext_filter_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_ext_filter.c
+
+"$(INTDIR)\mod_ext_filter.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/filters/mod_filter.dep b/modules/filters/mod_filter.dep
new file mode 100644
index 00000000..dda01b4e
--- /dev/null
+++ b/modules/filters/mod_filter.dep
@@ -0,0 +1,27 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_filter.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_filter.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/filters/mod_filter.mak b/modules/filters/mod_filter.mak
new file mode 100644
index 00000000..c1728072
--- /dev/null
+++ b/modules/filters/mod_filter.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_filter.dsp
+!IF "$(CFG)" == ""
+CFG=mod_filter - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_filter - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_filter - Win32 Release" && "$(CFG)" != "mod_filter - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_filter.mak" CFG="mod_filter - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_filter - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_filter - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_filter - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_filter.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_filter.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_filter.obj"
+ -@erase "$(INTDIR)\mod_filter.res"
+ -@erase "$(INTDIR)\mod_filter_src.idb"
+ -@erase "$(INTDIR)\mod_filter_src.pdb"
+ -@erase "$(OUTDIR)\mod_filter.exp"
+ -@erase "$(OUTDIR)\mod_filter.lib"
+ -@erase "$(OUTDIR)\mod_filter.pdb"
+ -@erase "$(OUTDIR)\mod_filter.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_filter_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_filter.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_filter.so" /d LONG_NAME="filter_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_filter.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_filter.pdb" /debug /out:"$(OUTDIR)\mod_filter.so" /implib:"$(OUTDIR)\mod_filter.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_filter.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_filter.obj" \
+ "$(INTDIR)\mod_filter.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_filter.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_filter.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_filter.so"
+ if exist .\Release\mod_filter.so.manifest mt.exe -manifest .\Release\mod_filter.so.manifest -outputresource:.\Release\mod_filter.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_filter - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_filter.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_filter.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_filter.obj"
+ -@erase "$(INTDIR)\mod_filter.res"
+ -@erase "$(INTDIR)\mod_filter_src.idb"
+ -@erase "$(INTDIR)\mod_filter_src.pdb"
+ -@erase "$(OUTDIR)\mod_filter.exp"
+ -@erase "$(OUTDIR)\mod_filter.lib"
+ -@erase "$(OUTDIR)\mod_filter.pdb"
+ -@erase "$(OUTDIR)\mod_filter.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_filter_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_filter.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_filter.so" /d LONG_NAME="filter_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_filter.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_filter.pdb" /debug /out:"$(OUTDIR)\mod_filter.so" /implib:"$(OUTDIR)\mod_filter.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_filter.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_filter.obj" \
+ "$(INTDIR)\mod_filter.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_filter.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_filter.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_filter.so"
+ if exist .\Debug\mod_filter.so.manifest mt.exe -manifest .\Debug\mod_filter.so.manifest -outputresource:.\Debug\mod_filter.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_filter.dep")
+!INCLUDE "mod_filter.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_filter.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_filter - Win32 Release" || "$(CFG)" == "mod_filter - Win32 Debug"
+
+!IF "$(CFG)" == "mod_filter - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\filters"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_filter - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\filters"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_filter - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\filters"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_filter - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\filters"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_filter - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\filters"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_filter - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\filters"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\filters"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_filter - Win32 Release"
+
+
+"$(INTDIR)\mod_filter.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_filter.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_filter.so" /d LONG_NAME="filter_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_filter - Win32 Debug"
+
+
+"$(INTDIR)\mod_filter.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_filter.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_filter.so" /d LONG_NAME="filter_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_filter.c
+
+"$(INTDIR)\mod_filter.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/filters/mod_include.dep b/modules/filters/mod_include.dep
new file mode 100644
index 00000000..168b2b5e
--- /dev/null
+++ b/modules/filters/mod_include.dep
@@ -0,0 +1,36 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_include.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_include.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_include.h"\
+
diff --git a/modules/filters/mod_include.mak b/modules/filters/mod_include.mak
new file mode 100644
index 00000000..3ec38789
--- /dev/null
+++ b/modules/filters/mod_include.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_include.dsp
+!IF "$(CFG)" == ""
+CFG=mod_include - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_include - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_include - Win32 Release" && "$(CFG)" != "mod_include - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_include.mak" CFG="mod_include - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_include - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_include - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_include - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_include.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_include.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_include.obj"
+ -@erase "$(INTDIR)\mod_include.res"
+ -@erase "$(INTDIR)\mod_include_src.idb"
+ -@erase "$(INTDIR)\mod_include_src.pdb"
+ -@erase "$(OUTDIR)\mod_include.exp"
+ -@erase "$(OUTDIR)\mod_include.lib"
+ -@erase "$(OUTDIR)\mod_include.pdb"
+ -@erase "$(OUTDIR)\mod_include.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_include_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_include.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_include.so" /d LONG_NAME="include_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_include.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_include.pdb" /debug /out:"$(OUTDIR)\mod_include.so" /implib:"$(OUTDIR)\mod_include.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_include.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_include.obj" \
+ "$(INTDIR)\mod_include.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_include.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_include.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_include.so"
+ if exist .\Release\mod_include.so.manifest mt.exe -manifest .\Release\mod_include.so.manifest -outputresource:.\Release\mod_include.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_include - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_include.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_include.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_include.obj"
+ -@erase "$(INTDIR)\mod_include.res"
+ -@erase "$(INTDIR)\mod_include_src.idb"
+ -@erase "$(INTDIR)\mod_include_src.pdb"
+ -@erase "$(OUTDIR)\mod_include.exp"
+ -@erase "$(OUTDIR)\mod_include.lib"
+ -@erase "$(OUTDIR)\mod_include.pdb"
+ -@erase "$(OUTDIR)\mod_include.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_include_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_include.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_include.so" /d LONG_NAME="include_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_include.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_include.pdb" /debug /out:"$(OUTDIR)\mod_include.so" /implib:"$(OUTDIR)\mod_include.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_include.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_include.obj" \
+ "$(INTDIR)\mod_include.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_include.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_include.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_include.so"
+ if exist .\Debug\mod_include.so.manifest mt.exe -manifest .\Debug\mod_include.so.manifest -outputresource:.\Debug\mod_include.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_include.dep")
+!INCLUDE "mod_include.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_include.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_include - Win32 Release" || "$(CFG)" == "mod_include - Win32 Debug"
+
+!IF "$(CFG)" == "mod_include - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\filters"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_include - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\filters"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_include - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\filters"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_include - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\filters"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_include - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\filters"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_include - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\filters"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\filters"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_include - Win32 Release"
+
+
+"$(INTDIR)\mod_include.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_include.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_include.so" /d LONG_NAME="include_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_include - Win32 Debug"
+
+
+"$(INTDIR)\mod_include.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_include.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_include.so" /d LONG_NAME="include_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_include.c
+
+"$(INTDIR)\mod_include.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/filters/mod_reqtimeout.dep b/modules/filters/mod_reqtimeout.dep
new file mode 100644
index 00000000..7a96e657
--- /dev/null
+++ b/modules/filters/mod_reqtimeout.dep
@@ -0,0 +1,32 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_reqtimeout.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_reqtimeout.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_version.h"\
+
diff --git a/modules/filters/mod_reqtimeout.mak b/modules/filters/mod_reqtimeout.mak
new file mode 100644
index 00000000..3839f834
--- /dev/null
+++ b/modules/filters/mod_reqtimeout.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_reqtimeout.dsp
+!IF "$(CFG)" == ""
+CFG=mod_reqtimeout - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_reqtimeout - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_reqtimeout - Win32 Release" && "$(CFG)" != "mod_reqtimeout - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_reqtimeout.mak" CFG="mod_reqtimeout - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_reqtimeout - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_reqtimeout - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_reqtimeout - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_reqtimeout.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_reqtimeout.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_reqtimeout.obj"
+ -@erase "$(INTDIR)\mod_reqtimeout.res"
+ -@erase "$(INTDIR)\mod_reqtimeout_src.idb"
+ -@erase "$(INTDIR)\mod_reqtimeout_src.pdb"
+ -@erase "$(OUTDIR)\mod_reqtimeout.exp"
+ -@erase "$(OUTDIR)\mod_reqtimeout.lib"
+ -@erase "$(OUTDIR)\mod_reqtimeout.pdb"
+ -@erase "$(OUTDIR)\mod_reqtimeout.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "AP_RL_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_reqtimeout_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_reqtimeout.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_reqtimeout.so" /d LONG_NAME="reqtimeout_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_reqtimeout.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_reqtimeout.pdb" /debug /out:"$(OUTDIR)\mod_reqtimeout.so" /implib:"$(OUTDIR)\mod_reqtimeout.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_reqtimeout.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_reqtimeout.obj" \
+ "$(INTDIR)\mod_reqtimeout.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_reqtimeout.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_reqtimeout.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_reqtimeout.so"
+ if exist .\Release\mod_reqtimeout.so.manifest mt.exe -manifest .\Release\mod_reqtimeout.so.manifest -outputresource:.\Release\mod_reqtimeout.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_reqtimeout - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_reqtimeout.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_reqtimeout.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_reqtimeout.obj"
+ -@erase "$(INTDIR)\mod_reqtimeout.res"
+ -@erase "$(INTDIR)\mod_reqtimeout_src.idb"
+ -@erase "$(INTDIR)\mod_reqtimeout_src.pdb"
+ -@erase "$(OUTDIR)\mod_reqtimeout.exp"
+ -@erase "$(OUTDIR)\mod_reqtimeout.lib"
+ -@erase "$(OUTDIR)\mod_reqtimeout.pdb"
+ -@erase "$(OUTDIR)\mod_reqtimeout.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "AP_RL_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_reqtimeout_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_reqtimeout.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_reqtimeout.so" /d LONG_NAME="reqtimeout_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_reqtimeout.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_reqtimeout.pdb" /debug /out:"$(OUTDIR)\mod_reqtimeout.so" /implib:"$(OUTDIR)\mod_reqtimeout.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_reqtimeout.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_reqtimeout.obj" \
+ "$(INTDIR)\mod_reqtimeout.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_reqtimeout.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_reqtimeout.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_reqtimeout.so"
+ if exist .\Debug\mod_reqtimeout.so.manifest mt.exe -manifest .\Debug\mod_reqtimeout.so.manifest -outputresource:.\Debug\mod_reqtimeout.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_reqtimeout.dep")
+!INCLUDE "mod_reqtimeout.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_reqtimeout.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_reqtimeout - Win32 Release" || "$(CFG)" == "mod_reqtimeout - Win32 Debug"
+
+!IF "$(CFG)" == "mod_reqtimeout - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\filters"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_reqtimeout - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\filters"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_reqtimeout - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\filters"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_reqtimeout - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\filters"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_reqtimeout - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\filters"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_reqtimeout - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\filters"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\filters"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_reqtimeout - Win32 Release"
+
+
+"$(INTDIR)\mod_reqtimeout.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_reqtimeout.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_reqtimeout.so" /d LONG_NAME="reqtimeout_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_reqtimeout - Win32 Debug"
+
+
+"$(INTDIR)\mod_reqtimeout.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_reqtimeout.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_reqtimeout.so" /d LONG_NAME="reqtimeout_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_reqtimeout.c
+
+"$(INTDIR)\mod_reqtimeout.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/filters/mod_substitute.dep b/modules/filters/mod_substitute.dep
new file mode 100644
index 00000000..4ae89e5b
--- /dev/null
+++ b/modules/filters/mod_substitute.dep
@@ -0,0 +1,29 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_substitute.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_substitute.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_strmatch.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/filters/mod_substitute.mak b/modules/filters/mod_substitute.mak
new file mode 100644
index 00000000..520cdff1
--- /dev/null
+++ b/modules/filters/mod_substitute.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_substitute.dsp
+!IF "$(CFG)" == ""
+CFG=mod_substitute - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to mod_substitute - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "mod_substitute - Win32 Release" && "$(CFG)" != "mod_substitute - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_substitute.mak" CFG="mod_substitute - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_substitute - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_substitute - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_substitute - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_substitute.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_substitute.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_substitute.obj"
+ -@erase "$(INTDIR)\mod_substitute.res"
+ -@erase "$(INTDIR)\mod_substitute_src.idb"
+ -@erase "$(INTDIR)\mod_substitute_src.pdb"
+ -@erase "$(OUTDIR)\mod_substitute.exp"
+ -@erase "$(OUTDIR)\mod_substitute.lib"
+ -@erase "$(OUTDIR)\mod_substitute.pdb"
+ -@erase "$(OUTDIR)\mod_substitute.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_substitute_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_substitute.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_substitute.so" /d LONG_NAME="substitute_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_substitute.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_substitute.pdb" /debug /out:"$(OUTDIR)\mod_substitute.so" /implib:"$(OUTDIR)\mod_substitute.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_substitute.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_substitute.obj" \
+ "$(INTDIR)\mod_substitute.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_substitute.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_substitute.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_substitute.so"
+ if exist .\Release\mod_substitute.so.manifest mt.exe -manifest .\Release\mod_substitute.so.manifest -outputresource:.\Release\mod_substitute.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_substitute - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_substitute.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_substitute.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_substitute.obj"
+ -@erase "$(INTDIR)\mod_substitute.res"
+ -@erase "$(INTDIR)\mod_substitute_src.idb"
+ -@erase "$(INTDIR)\mod_substitute_src.pdb"
+ -@erase "$(OUTDIR)\mod_substitute.exp"
+ -@erase "$(OUTDIR)\mod_substitute.lib"
+ -@erase "$(OUTDIR)\mod_substitute.pdb"
+ -@erase "$(OUTDIR)\mod_substitute.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_substitute_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_substitute.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_substitute.so" /d LONG_NAME="substitute_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_substitute.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_substitute.pdb" /debug /out:"$(OUTDIR)\mod_substitute.so" /implib:"$(OUTDIR)\mod_substitute.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_substitute.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_substitute.obj" \
+ "$(INTDIR)\mod_substitute.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_substitute.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_substitute.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_substitute.so"
+ if exist .\Debug\mod_substitute.so.manifest mt.exe -manifest .\Debug\mod_substitute.so.manifest -outputresource:.\Debug\mod_substitute.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_substitute.dep")
+!INCLUDE "mod_substitute.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_substitute.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_substitute - Win32 Release" || "$(CFG)" == "mod_substitute - Win32 Debug"
+
+!IF "$(CFG)" == "mod_substitute - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\filters"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_substitute - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\filters"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_substitute - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\filters"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_substitute - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\filters"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\filters"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_substitute - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\filters"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\filters"
+
+!ELSEIF "$(CFG)" == "mod_substitute - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\filters"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\filters"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_substitute - Win32 Release"
+
+
+"$(INTDIR)\mod_substitute.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_substitute.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_substitute.so" /d LONG_NAME="substitute_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_substitute - Win32 Debug"
+
+
+"$(INTDIR)\mod_substitute.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_substitute.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_substitute.so" /d LONG_NAME="substitute_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_substitute.c
+
+"$(INTDIR)\mod_substitute.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/generators/NWGNUautoindex b/modules/generators/NWGNUautoindex
index cc9619a6..86f0b110 100644
--- a/modules/generators/NWGNUautoindex
+++ b/modules/generators/NWGNUautoindex
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,13 +16,11 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
- $(AP_WORK)/modules/http \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(HTTPD) \
$(EOLIST)
#
@@ -110,7 +108,7 @@ NLM_THREAD_NAME = Autoindex Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -123,12 +121,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -138,7 +136,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -173,7 +171,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -204,8 +202,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -233,7 +231,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -246,6 +244,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/generators/NWGNUinfo b/modules/generators/NWGNUinfo
index e718539f..9d60ac5b 100644
--- a/modules/generators/NWGNUinfo
+++ b/modules/generators/NWGNUinfo
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = Info Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/generators/NWGNUmakefile b/modules/generators/NWGNUmakefile
index a895d8c4..1a6cb98a 100644
--- a/modules/generators/NWGNUmakefile
+++ b/modules/generators/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -111,7 +111,7 @@ NLM_THREAD_NAME =
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -230,10 +230,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -244,6 +244,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/generators/NWGNUmod_asis b/modules/generators/NWGNUmod_asis
index 62ce6eed..d8ab0d1c 100644
--- a/modules/generators/NWGNUmod_asis
+++ b/modules/generators/NWGNUmod_asis
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,13 +16,11 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
- $(AP_WORK)/modules/http \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(HTTPD) \
$(EOLIST)
#
@@ -110,7 +108,7 @@ NLM_THREAD_NAME = Mod_asis Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -123,12 +121,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -138,7 +136,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -173,7 +171,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -204,8 +202,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -233,7 +231,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -246,6 +244,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/generators/NWGNUmod_cgi b/modules/generators/NWGNUmod_cgi
index 70d62558..2c4330c7 100644
--- a/modules/generators/NWGNUmod_cgi
+++ b/modules/generators/NWGNUmod_cgi
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,14 +16,12 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
- $(AP_WORK)/modules/http \
- $(AP_WORK)/modules/filters \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(HTTPD) \
+ $(STDMOD)/filters \
$(EOLIST)
#
@@ -111,7 +109,7 @@ NLM_THREAD_NAME = Mod_cgi Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -124,12 +122,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -139,7 +137,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -174,7 +172,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -205,8 +203,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -234,7 +232,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -247,6 +245,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/generators/NWGNUstatus b/modules/generators/NWGNUstatus
index e161e438..630edb80 100644
--- a/modules/generators/NWGNUstatus
+++ b/modules/generators/NWGNUstatus
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = Status Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/generators/config5.m4 b/modules/generators/config5.m4
index d4f62821..feb7120e 100644
--- a/modules/generators/config5.m4
+++ b/modules/generators/config5.m4
@@ -11,15 +11,30 @@ APACHE_MODULE(info, server information, , , most)
APACHE_MODULE(suexec, set uid and gid for spawned processes, , , no, [
other_targets=suexec ] )
-if ap_mpm_is_threaded; then
-# if we are using a threaded MPM, we will get better performance with
-# mod_cgid, so make it the default.
+# Is mod_cgid needed?
+case $host in
+ *mingw*)
+ dnl No fork+thread+fd issues, and cgid doesn't work anyway.
+ cgid_needed="no"
+ ;;
+ *)
+ if ap_mpm_is_threaded; then
+ dnl if we are using a threaded MPM on Unix, we can get better
+ dnl performance with mod_cgid, and also avoid potential issues
+ dnl with forking from a threaded process.
+ cgid_needed="yes"
+ else
+ dnl if we are using a non-threaded MPM, it makes little sense to
+ dnl use mod_cgid, and it just opens up holes we don't need.
+ cgid_needed="no"
+ fi
+ ;;
+esac
+
+if test $cgid_needed = "yes"; then
APACHE_MODULE(cgid, CGI scripts, , , yes)
APACHE_MODULE(cgi, CGI scripts, , , no)
else
-# if we are using a non-threaded MPM, it makes little sense to use
-# mod_cgid, and it just opens up holes we don't need. Make mod_cgi the
-# default
APACHE_MODULE(cgi, CGI scripts, , , yes)
APACHE_MODULE(cgid, CGI scripts, , , no)
fi
diff --git a/modules/generators/mod_asis.dep b/modules/generators/mod_asis.dep
new file mode 100644
index 00000000..3f151ba0
--- /dev/null
+++ b/modules/generators/mod_asis.dep
@@ -0,0 +1,31 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_asis.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_asis.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mod_core.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/generators/mod_asis.mak b/modules/generators/mod_asis.mak
new file mode 100644
index 00000000..79bf9f55
--- /dev/null
+++ b/modules/generators/mod_asis.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_asis.dsp
+!IF "$(CFG)" == ""
+CFG=mod_asis - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_asis - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_asis - Win32 Release" && "$(CFG)" != "mod_asis - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_asis.mak" CFG="mod_asis - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_asis - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_asis - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_asis - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_asis.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_asis.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_asis.obj"
+ -@erase "$(INTDIR)\mod_asis.res"
+ -@erase "$(INTDIR)\mod_asis_src.idb"
+ -@erase "$(INTDIR)\mod_asis_src.pdb"
+ -@erase "$(OUTDIR)\mod_asis.exp"
+ -@erase "$(OUTDIR)\mod_asis.lib"
+ -@erase "$(OUTDIR)\mod_asis.pdb"
+ -@erase "$(OUTDIR)\mod_asis.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_asis_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_asis.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_asis.so" /d LONG_NAME="asis_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_asis.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_asis.pdb" /debug /out:"$(OUTDIR)\mod_asis.so" /implib:"$(OUTDIR)\mod_asis.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_asis.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_asis.obj" \
+ "$(INTDIR)\mod_asis.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_asis.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_asis.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_asis.so"
+ if exist .\Release\mod_asis.so.manifest mt.exe -manifest .\Release\mod_asis.so.manifest -outputresource:.\Release\mod_asis.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_asis - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_asis.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_asis.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_asis.obj"
+ -@erase "$(INTDIR)\mod_asis.res"
+ -@erase "$(INTDIR)\mod_asis_src.idb"
+ -@erase "$(INTDIR)\mod_asis_src.pdb"
+ -@erase "$(OUTDIR)\mod_asis.exp"
+ -@erase "$(OUTDIR)\mod_asis.lib"
+ -@erase "$(OUTDIR)\mod_asis.pdb"
+ -@erase "$(OUTDIR)\mod_asis.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_asis_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_asis.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_asis.so" /d LONG_NAME="asis_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_asis.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_asis.pdb" /debug /out:"$(OUTDIR)\mod_asis.so" /implib:"$(OUTDIR)\mod_asis.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_asis.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_asis.obj" \
+ "$(INTDIR)\mod_asis.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_asis.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_asis.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_asis.so"
+ if exist .\Debug\mod_asis.so.manifest mt.exe -manifest .\Debug\mod_asis.so.manifest -outputresource:.\Debug\mod_asis.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_asis.dep")
+!INCLUDE "mod_asis.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_asis.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_asis - Win32 Release" || "$(CFG)" == "mod_asis - Win32 Debug"
+
+!IF "$(CFG)" == "mod_asis - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\generators"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_asis - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\generators"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_asis - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\generators"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_asis - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\generators"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_asis - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\generators"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_asis - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\generators"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\generators"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_asis - Win32 Release"
+
+
+"$(INTDIR)\mod_asis.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_asis.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_asis.so" /d LONG_NAME="asis_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_asis - Win32 Debug"
+
+
+"$(INTDIR)\mod_asis.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_asis.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_asis.so" /d LONG_NAME="asis_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_asis.c
+
+"$(INTDIR)\mod_asis.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/generators/mod_autoindex.c b/modules/generators/mod_autoindex.c
index ef17f666..5c03d99f 100644
--- a/modules/generators/mod_autoindex.c
+++ b/modules/generators/mod_autoindex.c
@@ -71,6 +71,7 @@ module AP_MODULE_DECLARE_DATA autoindex_module;
#define IGNORE_CASE (1 << 16)
#define EMIT_XHTML (1 << 17)
#define SHOW_FORBIDDEN (1 << 18)
+#define OPTION_UNSET (1 << 19)
#define K_NOADJUST 0
#define K_ADJUST 1
@@ -621,7 +622,7 @@ static void *create_autoindex_config(apr_pool_t *p, char *dummy)
new->ign_list = apr_array_make(p, 4, sizeof(struct item));
new->hdr_list = apr_array_make(p, 4, sizeof(struct item));
new->rdme_list = apr_array_make(p, 4, sizeof(struct item));
- new->opts = 0;
+ new->opts = OPTION_UNSET;
new->incremented_opts = 0;
new->decremented_opts = 0;
new->default_keyid = '\0';
@@ -655,9 +656,9 @@ static void *merge_autoindex_configs(apr_pool_t *p, void *basev, void *addv)
new->desc_list = apr_array_append(p, add->desc_list, base->desc_list);
new->icon_list = apr_array_append(p, add->icon_list, base->icon_list);
new->rdme_list = apr_array_append(p, add->rdme_list, base->rdme_list);
- if (add->opts & NO_OPTIONS) {
+ if (add->opts == NO_OPTIONS) {
/*
- * If the current directory says 'no options' then we also
+ * If the current directory explicitly says 'no options' then we also
* clear any incremental mods from being inheritable further down.
*/
new->opts = NO_OPTIONS;
@@ -671,7 +672,7 @@ static void *merge_autoindex_configs(apr_pool_t *p, void *basev, void *addv)
* Contrariwise, we *do* inherit if the only settings here are
* incremental ones.
*/
- if (add->opts == 0) {
+ if (add->opts == OPTION_UNSET) {
new->incremented_opts = (base->incremented_opts
| add->incremented_opts)
& ~add->decremented_opts;
diff --git a/modules/generators/mod_autoindex.dep b/modules/generators/mod_autoindex.dep
new file mode 100644
index 00000000..0f465085
--- /dev/null
+++ b/modules/generators/mod_autoindex.dep
@@ -0,0 +1,35 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_autoindex.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_autoindex.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mod_core.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/generators/mod_autoindex.mak b/modules/generators/mod_autoindex.mak
new file mode 100644
index 00000000..baf714b8
--- /dev/null
+++ b/modules/generators/mod_autoindex.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_autoindex.dsp
+!IF "$(CFG)" == ""
+CFG=mod_autoindex - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_autoindex - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_autoindex - Win32 Release" && "$(CFG)" != "mod_autoindex - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_autoindex.mak" CFG="mod_autoindex - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_autoindex - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_autoindex - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_autoindex - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_autoindex.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_autoindex.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_autoindex.obj"
+ -@erase "$(INTDIR)\mod_autoindex.res"
+ -@erase "$(INTDIR)\mod_autoindex_src.idb"
+ -@erase "$(INTDIR)\mod_autoindex_src.pdb"
+ -@erase "$(OUTDIR)\mod_autoindex.exp"
+ -@erase "$(OUTDIR)\mod_autoindex.lib"
+ -@erase "$(OUTDIR)\mod_autoindex.pdb"
+ -@erase "$(OUTDIR)\mod_autoindex.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_autoindex_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_autoindex.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_autoindex.so" /d LONG_NAME="autoindex_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_autoindex.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_autoindex.pdb" /debug /out:"$(OUTDIR)\mod_autoindex.so" /implib:"$(OUTDIR)\mod_autoindex.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_autoindex.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_autoindex.obj" \
+ "$(INTDIR)\mod_autoindex.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_autoindex.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_autoindex.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_autoindex.so"
+ if exist .\Release\mod_autoindex.so.manifest mt.exe -manifest .\Release\mod_autoindex.so.manifest -outputresource:.\Release\mod_autoindex.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_autoindex - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_autoindex.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_autoindex.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_autoindex.obj"
+ -@erase "$(INTDIR)\mod_autoindex.res"
+ -@erase "$(INTDIR)\mod_autoindex_src.idb"
+ -@erase "$(INTDIR)\mod_autoindex_src.pdb"
+ -@erase "$(OUTDIR)\mod_autoindex.exp"
+ -@erase "$(OUTDIR)\mod_autoindex.lib"
+ -@erase "$(OUTDIR)\mod_autoindex.pdb"
+ -@erase "$(OUTDIR)\mod_autoindex.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_autoindex_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_autoindex.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_autoindex.so" /d LONG_NAME="autoindex_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_autoindex.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_autoindex.pdb" /debug /out:"$(OUTDIR)\mod_autoindex.so" /implib:"$(OUTDIR)\mod_autoindex.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_autoindex.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_autoindex.obj" \
+ "$(INTDIR)\mod_autoindex.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_autoindex.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_autoindex.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_autoindex.so"
+ if exist .\Debug\mod_autoindex.so.manifest mt.exe -manifest .\Debug\mod_autoindex.so.manifest -outputresource:.\Debug\mod_autoindex.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_autoindex.dep")
+!INCLUDE "mod_autoindex.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_autoindex.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_autoindex - Win32 Release" || "$(CFG)" == "mod_autoindex - Win32 Debug"
+
+!IF "$(CFG)" == "mod_autoindex - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\generators"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_autoindex - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\generators"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_autoindex - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\generators"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_autoindex - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\generators"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_autoindex - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\generators"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_autoindex - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\generators"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\generators"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_autoindex - Win32 Release"
+
+
+"$(INTDIR)\mod_autoindex.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_autoindex.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_autoindex.so" /d LONG_NAME="autoindex_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_autoindex - Win32 Debug"
+
+
+"$(INTDIR)\mod_autoindex.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_autoindex.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_autoindex.so" /d LONG_NAME="autoindex_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_autoindex.c
+
+"$(INTDIR)\mod_autoindex.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/generators/mod_cgi.dep b/modules/generators/mod_cgi.dep
new file mode 100644
index 00000000..69df8afa
--- /dev/null
+++ b/modules/generators/mod_cgi.dep
@@ -0,0 +1,37 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_cgi.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_cgi.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_mpm.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mod_core.h"\
+ "..\..\include\mod_include.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_cgi.h"\
+
diff --git a/modules/generators/mod_cgi.mak b/modules/generators/mod_cgi.mak
new file mode 100644
index 00000000..0fe345b9
--- /dev/null
+++ b/modules/generators/mod_cgi.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_cgi.dsp
+!IF "$(CFG)" == ""
+CFG=mod_cgi - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_cgi - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_cgi - Win32 Release" && "$(CFG)" != "mod_cgi - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_cgi.mak" CFG="mod_cgi - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_cgi - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_cgi - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_cgi - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_cgi.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_cgi.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_cgi.obj"
+ -@erase "$(INTDIR)\mod_cgi.res"
+ -@erase "$(INTDIR)\mod_cgi_src.idb"
+ -@erase "$(INTDIR)\mod_cgi_src.pdb"
+ -@erase "$(OUTDIR)\mod_cgi.exp"
+ -@erase "$(OUTDIR)\mod_cgi.lib"
+ -@erase "$(OUTDIR)\mod_cgi.pdb"
+ -@erase "$(OUTDIR)\mod_cgi.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_cgi_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_cgi.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_cgi.so" /d LONG_NAME="cgi_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_cgi.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_cgi.pdb" /debug /out:"$(OUTDIR)\mod_cgi.so" /implib:"$(OUTDIR)\mod_cgi.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_cgi.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_cgi.obj" \
+ "$(INTDIR)\mod_cgi.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_cgi.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_cgi.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_cgi.so"
+ if exist .\Release\mod_cgi.so.manifest mt.exe -manifest .\Release\mod_cgi.so.manifest -outputresource:.\Release\mod_cgi.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_cgi - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_cgi.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_cgi.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_cgi.obj"
+ -@erase "$(INTDIR)\mod_cgi.res"
+ -@erase "$(INTDIR)\mod_cgi_src.idb"
+ -@erase "$(INTDIR)\mod_cgi_src.pdb"
+ -@erase "$(OUTDIR)\mod_cgi.exp"
+ -@erase "$(OUTDIR)\mod_cgi.lib"
+ -@erase "$(OUTDIR)\mod_cgi.pdb"
+ -@erase "$(OUTDIR)\mod_cgi.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_cgi_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_cgi.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_cgi.so" /d LONG_NAME="cgi_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_cgi.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_cgi.pdb" /debug /out:"$(OUTDIR)\mod_cgi.so" /implib:"$(OUTDIR)\mod_cgi.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_cgi.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_cgi.obj" \
+ "$(INTDIR)\mod_cgi.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_cgi.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_cgi.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_cgi.so"
+ if exist .\Debug\mod_cgi.so.manifest mt.exe -manifest .\Debug\mod_cgi.so.manifest -outputresource:.\Debug\mod_cgi.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_cgi.dep")
+!INCLUDE "mod_cgi.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_cgi.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_cgi - Win32 Release" || "$(CFG)" == "mod_cgi - Win32 Debug"
+
+!IF "$(CFG)" == "mod_cgi - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\generators"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_cgi - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\generators"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_cgi - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\generators"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_cgi - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\generators"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_cgi - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\generators"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_cgi - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\generators"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\generators"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_cgi - Win32 Release"
+
+
+"$(INTDIR)\mod_cgi.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_cgi.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_cgi.so" /d LONG_NAME="cgi_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_cgi - Win32 Debug"
+
+
+"$(INTDIR)\mod_cgi.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_cgi.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_cgi.so" /d LONG_NAME="cgi_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_cgi.c
+
+"$(INTDIR)\mod_cgi.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/generators/mod_info.dep b/modules/generators/mod_info.dep
new file mode 100644
index 00000000..00fa95c6
--- /dev/null
+++ b/modules/generators/mod_info.dep
@@ -0,0 +1,37 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_info.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_info.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_mpm.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr-util\include\apu_version.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_version.h"\
+
diff --git a/modules/generators/mod_info.mak b/modules/generators/mod_info.mak
new file mode 100644
index 00000000..92d30fa9
--- /dev/null
+++ b/modules/generators/mod_info.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_info.dsp
+!IF "$(CFG)" == ""
+CFG=mod_info - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_info - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_info - Win32 Release" && "$(CFG)" != "mod_info - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_info.mak" CFG="mod_info - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_info - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_info - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_info - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_info.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_info.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_info.obj"
+ -@erase "$(INTDIR)\mod_info.res"
+ -@erase "$(INTDIR)\mod_info_src.idb"
+ -@erase "$(INTDIR)\mod_info_src.pdb"
+ -@erase "$(OUTDIR)\mod_info.exp"
+ -@erase "$(OUTDIR)\mod_info.lib"
+ -@erase "$(OUTDIR)\mod_info.pdb"
+ -@erase "$(OUTDIR)\mod_info.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_info_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_info.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_info.so" /d LONG_NAME="info_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_info.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_info.pdb" /debug /out:"$(OUTDIR)\mod_info.so" /implib:"$(OUTDIR)\mod_info.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_info.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_info.obj" \
+ "$(INTDIR)\mod_info.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_info.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_info.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_info.so"
+ if exist .\Release\mod_info.so.manifest mt.exe -manifest .\Release\mod_info.so.manifest -outputresource:.\Release\mod_info.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_info - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_info.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_info.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_info.obj"
+ -@erase "$(INTDIR)\mod_info.res"
+ -@erase "$(INTDIR)\mod_info_src.idb"
+ -@erase "$(INTDIR)\mod_info_src.pdb"
+ -@erase "$(OUTDIR)\mod_info.exp"
+ -@erase "$(OUTDIR)\mod_info.lib"
+ -@erase "$(OUTDIR)\mod_info.pdb"
+ -@erase "$(OUTDIR)\mod_info.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_info_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_info.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_info.so" /d LONG_NAME="info_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_info.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_info.pdb" /debug /out:"$(OUTDIR)\mod_info.so" /implib:"$(OUTDIR)\mod_info.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_info.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_info.obj" \
+ "$(INTDIR)\mod_info.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_info.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_info.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_info.so"
+ if exist .\Debug\mod_info.so.manifest mt.exe -manifest .\Debug\mod_info.so.manifest -outputresource:.\Debug\mod_info.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_info.dep")
+!INCLUDE "mod_info.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_info.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_info - Win32 Release" || "$(CFG)" == "mod_info - Win32 Debug"
+
+!IF "$(CFG)" == "mod_info - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\generators"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_info - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\generators"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_info - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\generators"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_info - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\generators"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_info - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\generators"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_info - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\generators"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\generators"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_info - Win32 Release"
+
+
+"$(INTDIR)\mod_info.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_info.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_info.so" /d LONG_NAME="info_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_info - Win32 Debug"
+
+
+"$(INTDIR)\mod_info.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_info.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_info.so" /d LONG_NAME="info_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_info.c
+
+"$(INTDIR)\mod_info.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/generators/mod_status.dep b/modules/generators/mod_status.dep
new file mode 100644
index 00000000..6f85de29
--- /dev/null
+++ b/modules/generators/mod_status.dep
@@ -0,0 +1,34 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_status.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_status.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_mpm.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_status.h"\
+
diff --git a/modules/generators/mod_status.mak b/modules/generators/mod_status.mak
new file mode 100644
index 00000000..5c5b4190
--- /dev/null
+++ b/modules/generators/mod_status.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_status.dsp
+!IF "$(CFG)" == ""
+CFG=mod_status - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_status - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_status - Win32 Release" && "$(CFG)" != "mod_status - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_status.mak" CFG="mod_status - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_status - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_status - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_status - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_status.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_status.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_status.obj"
+ -@erase "$(INTDIR)\mod_status.res"
+ -@erase "$(INTDIR)\mod_status_src.idb"
+ -@erase "$(INTDIR)\mod_status_src.pdb"
+ -@erase "$(OUTDIR)\mod_status.exp"
+ -@erase "$(OUTDIR)\mod_status.lib"
+ -@erase "$(OUTDIR)\mod_status.pdb"
+ -@erase "$(OUTDIR)\mod_status.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "STATUS_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_status_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_status.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_status.so" /d LONG_NAME="status_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_status.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_status.pdb" /debug /out:"$(OUTDIR)\mod_status.so" /implib:"$(OUTDIR)\mod_status.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_status.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_status.obj" \
+ "$(INTDIR)\mod_status.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_status.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_status.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_status.so"
+ if exist .\Release\mod_status.so.manifest mt.exe -manifest .\Release\mod_status.so.manifest -outputresource:.\Release\mod_status.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_status - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_status.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_status.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_status.obj"
+ -@erase "$(INTDIR)\mod_status.res"
+ -@erase "$(INTDIR)\mod_status_src.idb"
+ -@erase "$(INTDIR)\mod_status_src.pdb"
+ -@erase "$(OUTDIR)\mod_status.exp"
+ -@erase "$(OUTDIR)\mod_status.lib"
+ -@erase "$(OUTDIR)\mod_status.pdb"
+ -@erase "$(OUTDIR)\mod_status.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "STATUS_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_status_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_status.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_status.so" /d LONG_NAME="status_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_status.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_status.pdb" /debug /out:"$(OUTDIR)\mod_status.so" /implib:"$(OUTDIR)\mod_status.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_status.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_status.obj" \
+ "$(INTDIR)\mod_status.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_status.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_status.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_status.so"
+ if exist .\Debug\mod_status.so.manifest mt.exe -manifest .\Debug\mod_status.so.manifest -outputresource:.\Debug\mod_status.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_status.dep")
+!INCLUDE "mod_status.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_status.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_status - Win32 Release" || "$(CFG)" == "mod_status - Win32 Debug"
+
+!IF "$(CFG)" == "mod_status - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\generators"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_status - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\generators"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_status - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\generators"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_status - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\generators"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\generators"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_status - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\generators"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\generators"
+
+!ELSEIF "$(CFG)" == "mod_status - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\generators"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\generators"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_status - Win32 Release"
+
+
+"$(INTDIR)\mod_status.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_status.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_status.so" /d LONG_NAME="status_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_status - Win32 Debug"
+
+
+"$(INTDIR)\mod_status.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_status.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_status.so" /d LONG_NAME="status_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_status.c
+
+"$(INTDIR)\mod_status.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/http/http_filters.c b/modules/http/http_filters.c
index 7fbc3692..1aed70b2 100644
--- a/modules/http/http_filters.c
+++ b/modules/http/http_filters.c
@@ -331,6 +331,10 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b,
char *tmp;
int len;
+ /* if we send an interim response, we're no longer
+ * in a state of expecting one.
+ */
+ f->r->expecting_100 = 0;
tmp = apr_pstrcat(f->r->pool, AP_SERVER_PROTOCOL, " ",
ap_get_status_line(100), CRLF CRLF, NULL);
len = strlen(tmp);
@@ -380,8 +384,13 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b,
/* Detect chunksize error (such as overflow) */
if (rv != APR_SUCCESS || ctx->remaining < 0) {
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, f->r, "Error reading first chunk %s ",
+ (ctx->remaining < 0) ? "(overflow)" : "");
ctx->remaining = 0; /* Reset it in case we have to
* come back here later */
+ if (APR_STATUS_IS_TIMEUP(rv)) {
+ http_error = HTTP_REQUEST_TIME_OUT;
+ }
return bail_out_on_error(ctx, f, http_error);
}
@@ -481,10 +490,14 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b,
/* Detect chunksize error (such as overflow) */
if (rv != APR_SUCCESS || ctx->remaining < 0) {
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, f->r, "Error reading chunk %s ",
+ (ctx->remaining < 0) ? "(overflow)" : "");
ctx->remaining = 0; /* Reset it in case we have to
* come back here later */
- bail_out_on_error(ctx, f, http_error);
- return rv;
+ if (APR_STATUS_IS_TIMEUP(rv)) {
+ http_error = HTTP_REQUEST_TIME_OUT;
+ }
+ return bail_out_on_error(ctx, f, http_error);
}
if (!ctx->remaining) {
diff --git a/modules/http/http_protocol.c b/modules/http/http_protocol.c
index fdd7d757..be864e82 100644
--- a/modules/http/http_protocol.c
+++ b/modules/http/http_protocol.c
@@ -174,6 +174,9 @@ AP_DECLARE(int) ap_set_keepalive(request_rec *r)
* body should use the HTTP/1.1 chunked transfer-coding. In English,
*
* IF we have not marked this connection as errored;
+ * and the client isn't expecting 100-continue (PR47087 - more
+ * input here could be the client continuing when we're
+ * closing the request).
* and the response body has a defined length due to the status code
* being 304 or 204, the request method being HEAD, already
* having defined Content-Length or Transfer-Encoding: chunked, or
@@ -195,6 +198,7 @@ AP_DECLARE(int) ap_set_keepalive(request_rec *r)
* Note that the condition evaluation order is extremely important.
*/
if ((r->connection->keepalive != AP_CONN_CLOSE)
+ && !r->expecting_100
&& ((r->status == HTTP_NOT_MODIFIED)
|| (r->status == HTTP_NO_CONTENT)
|| r->header_only
diff --git a/modules/http/http_request.c b/modules/http/http_request.c
index 251aa33b..9d63aca8 100644
--- a/modules/http/http_request.c
+++ b/modules/http/http_request.c
@@ -447,6 +447,11 @@ static request_rec *internal_internal_redirect(const char *new_uri,
apr_table_setn(new->subprocess_env, "REDIRECT_STATUS",
apr_itoa(r->pool, r->status));
+ /* Begin by presuming any module can make its own path_info assumptions,
+ * until some module interjects and changes the value.
+ */
+ new->used_path_info = AP_REQ_DEFAULT_PATH_INFO;
+
/*
* XXX: hmm. This is because mod_setenvif and mod_unique_id really need
* to do their thing on internal redirects as well. Perhaps this is a
diff --git a/modules/http/mod_mime.dep b/modules/http/mod_mime.dep
new file mode 100644
index 00000000..9f977b42
--- /dev/null
+++ b/modules/http/mod_mime.dep
@@ -0,0 +1,29 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_mime.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_mime.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/http/mod_mime.mak b/modules/http/mod_mime.mak
new file mode 100644
index 00000000..e2e945bf
--- /dev/null
+++ b/modules/http/mod_mime.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_mime.dsp
+!IF "$(CFG)" == ""
+CFG=mod_mime - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_mime - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_mime - Win32 Release" && "$(CFG)" != "mod_mime - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_mime.mak" CFG="mod_mime - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_mime - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_mime - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_mime - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_mime.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_mime.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_mime.obj"
+ -@erase "$(INTDIR)\mod_mime.res"
+ -@erase "$(INTDIR)\mod_mime_src.idb"
+ -@erase "$(INTDIR)\mod_mime_src.pdb"
+ -@erase "$(OUTDIR)\mod_mime.exp"
+ -@erase "$(OUTDIR)\mod_mime.lib"
+ -@erase "$(OUTDIR)\mod_mime.pdb"
+ -@erase "$(OUTDIR)\mod_mime.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_mime_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_mime.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_mime.so" /d LONG_NAME="mime_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_mime.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_mime.pdb" /debug /out:"$(OUTDIR)\mod_mime.so" /implib:"$(OUTDIR)\mod_mime.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_mime.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_mime.obj" \
+ "$(INTDIR)\mod_mime.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_mime.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_mime.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_mime.so"
+ if exist .\Release\mod_mime.so.manifest mt.exe -manifest .\Release\mod_mime.so.manifest -outputresource:.\Release\mod_mime.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_mime - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_mime.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_mime.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_mime.obj"
+ -@erase "$(INTDIR)\mod_mime.res"
+ -@erase "$(INTDIR)\mod_mime_src.idb"
+ -@erase "$(INTDIR)\mod_mime_src.pdb"
+ -@erase "$(OUTDIR)\mod_mime.exp"
+ -@erase "$(OUTDIR)\mod_mime.lib"
+ -@erase "$(OUTDIR)\mod_mime.pdb"
+ -@erase "$(OUTDIR)\mod_mime.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_mime_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_mime.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_mime.so" /d LONG_NAME="mime_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_mime.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_mime.pdb" /debug /out:"$(OUTDIR)\mod_mime.so" /implib:"$(OUTDIR)\mod_mime.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_mime.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_mime.obj" \
+ "$(INTDIR)\mod_mime.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_mime.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_mime.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_mime.so"
+ if exist .\Debug\mod_mime.so.manifest mt.exe -manifest .\Debug\mod_mime.so.manifest -outputresource:.\Debug\mod_mime.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_mime.dep")
+!INCLUDE "mod_mime.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_mime.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_mime - Win32 Release" || "$(CFG)" == "mod_mime - Win32 Debug"
+
+!IF "$(CFG)" == "mod_mime - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\http"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\http"
+
+!ELSEIF "$(CFG)" == "mod_mime - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\http"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\http"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_mime - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\http"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\http"
+
+!ELSEIF "$(CFG)" == "mod_mime - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\http"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\http"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_mime - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\http"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\http"
+
+!ELSEIF "$(CFG)" == "mod_mime - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\http"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\http"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_mime - Win32 Release"
+
+
+"$(INTDIR)\mod_mime.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_mime.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_mime.so" /d LONG_NAME="mime_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_mime - Win32 Debug"
+
+
+"$(INTDIR)\mod_mime.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_mime.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_mime.so" /d LONG_NAME="mime_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_mime.c
+
+"$(INTDIR)\mod_mime.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/ldap/NWGNUmakefile b/modules/ldap/NWGNUmakefile
index ad7956e6..aee46a34 100644
--- a/modules/ldap/NWGNUmakefile
+++ b/modules/ldap/NWGNUmakefile
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,11 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(LDAPSDK)/inc \
$(EOLIST)
@@ -117,7 +116,7 @@ NLM_THREAD_NAME = UtilLDAP Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -130,12 +129,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -145,7 +144,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -182,7 +181,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -215,11 +214,11 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
- @$(LDAPSDK)/imports/lldapsdk.imp \
- @$(LDAPSDK)/imports/lldapssl.imp \
+ @lldapsdk.imp \
+ @lldapssl.imp \
$(EOLIST)
#
@@ -246,10 +245,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -260,6 +259,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/ldap/mod_ldap.dep b/modules/ldap/mod_ldap.dep
new file mode 100644
index 00000000..62ea880d
--- /dev/null
+++ b/modules/ldap/mod_ldap.dep
@@ -0,0 +1,92 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_ldap.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\util_ldap.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_ldap.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ ".\util_ldap_cache.h"\
+
+
+.\util_ldap_cache.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_ldap.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ ".\util_ldap_cache.h"\
+
+
+.\util_ldap_cache_mgr.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_ldap.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ ".\util_ldap_cache.h"\
+
diff --git a/modules/ldap/mod_ldap.mak b/modules/ldap/mod_ldap.mak
new file mode 100644
index 00000000..36bb0f63
--- /dev/null
+++ b/modules/ldap/mod_ldap.mak
@@ -0,0 +1,371 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_ldap.dsp
+!IF "$(CFG)" == ""
+CFG=mod_ldap - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_ldap - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_ldap - Win32 Release" && "$(CFG)" != "mod_ldap - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_ldap.mak" CFG="mod_ldap - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_ldap - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_ldap - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_ldap - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_ldap.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_ldap.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_ldap.res"
+ -@erase "$(INTDIR)\mod_ldap_src.idb"
+ -@erase "$(INTDIR)\mod_ldap_src.pdb"
+ -@erase "$(INTDIR)\util_ldap.obj"
+ -@erase "$(INTDIR)\util_ldap_cache.obj"
+ -@erase "$(INTDIR)\util_ldap_cache_mgr.obj"
+ -@erase "$(OUTDIR)\mod_ldap.exp"
+ -@erase "$(OUTDIR)\mod_ldap.lib"
+ -@erase "$(OUTDIR)\mod_ldap.pdb"
+ -@erase "$(OUTDIR)\mod_ldap.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "LDAP_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_ldap_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_ldap.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_ldap.so" /d LONG_NAME="ldap_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_ldap.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib wldap32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_ldap.pdb" /debug /out:"$(OUTDIR)\mod_ldap.so" /implib:"$(OUTDIR)\mod_ldap.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_ldap.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\util_ldap.obj" \
+ "$(INTDIR)\util_ldap_cache.obj" \
+ "$(INTDIR)\util_ldap_cache_mgr.obj" \
+ "$(INTDIR)\mod_ldap.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_ldap.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_ldap.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_ldap.so"
+ if exist .\Release\mod_ldap.so.manifest mt.exe -manifest .\Release\mod_ldap.so.manifest -outputresource:.\Release\mod_ldap.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_ldap - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_ldap.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_ldap.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_ldap.res"
+ -@erase "$(INTDIR)\mod_ldap_src.idb"
+ -@erase "$(INTDIR)\mod_ldap_src.pdb"
+ -@erase "$(INTDIR)\util_ldap.obj"
+ -@erase "$(INTDIR)\util_ldap_cache.obj"
+ -@erase "$(INTDIR)\util_ldap_cache_mgr.obj"
+ -@erase "$(OUTDIR)\mod_ldap.exp"
+ -@erase "$(OUTDIR)\mod_ldap.lib"
+ -@erase "$(OUTDIR)\mod_ldap.pdb"
+ -@erase "$(OUTDIR)\mod_ldap.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "LDAP_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_ldap_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_ldap.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_ldap.so" /d LONG_NAME="ldap_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_ldap.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib wldap32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_ldap.pdb" /debug /out:"$(OUTDIR)\mod_ldap.so" /implib:"$(OUTDIR)\mod_ldap.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_ldap.so
+LINK32_OBJS= \
+ "$(INTDIR)\util_ldap.obj" \
+ "$(INTDIR)\util_ldap_cache.obj" \
+ "$(INTDIR)\util_ldap_cache_mgr.obj" \
+ "$(INTDIR)\mod_ldap.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_ldap.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_ldap.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_ldap.so"
+ if exist .\Debug\mod_ldap.so.manifest mt.exe -manifest .\Debug\mod_ldap.so.manifest -outputresource:.\Debug\mod_ldap.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_ldap.dep")
+!INCLUDE "mod_ldap.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_ldap.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_ldap - Win32 Release" || "$(CFG)" == "mod_ldap - Win32 Debug"
+
+!IF "$(CFG)" == "mod_ldap - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\ldap"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\ldap"
+
+!ELSEIF "$(CFG)" == "mod_ldap - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\ldap"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\ldap"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_ldap - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\ldap"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\ldap"
+
+!ELSEIF "$(CFG)" == "mod_ldap - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\ldap"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\ldap"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_ldap - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\ldap"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\ldap"
+
+!ELSEIF "$(CFG)" == "mod_ldap - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\ldap"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\ldap"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_ldap - Win32 Release"
+
+
+"$(INTDIR)\mod_ldap.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_ldap.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_ldap.so" /d LONG_NAME="ldap_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_ldap - Win32 Debug"
+
+
+"$(INTDIR)\mod_ldap.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_ldap.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_ldap.so" /d LONG_NAME="ldap_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\util_ldap.c
+
+"$(INTDIR)\util_ldap.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\util_ldap_cache.c
+
+"$(INTDIR)\util_ldap_cache.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\util_ldap_cache_mgr.c
+
+"$(INTDIR)\util_ldap_cache_mgr.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/loggers/NWGNUforensic b/modules/loggers/NWGNUforensic
index 18851819..ac0250cd 100644
--- a/modules/loggers/NWGNUforensic
+++ b/modules/loggers/NWGNUforensic
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -24,12 +24,10 @@ include $(AP_WORK)\build\NWGNUhead.inc
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -117,7 +115,7 @@ NLM_THREAD_NAME = Forensic Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -130,12 +128,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -145,7 +143,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -180,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,8 +209,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -240,10 +238,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -254,6 +252,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/loggers/NWGNUmakefile b/modules/loggers/NWGNUmakefile
index 219e13fe..4b3984fb 100644
--- a/modules/loggers/NWGNUmakefile
+++ b/modules/loggers/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -111,7 +111,7 @@ NLM_THREAD_NAME =
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -227,10 +227,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -241,6 +241,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/loggers/NWGNUmodlogio b/modules/loggers/NWGNUmodlogio
index 80ac8041..09d9c833 100644
--- a/modules/loggers/NWGNUmodlogio
+++ b/modules/loggers/NWGNUmodlogio
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -24,12 +24,10 @@ include $(AP_WORK)\build\NWGNUhead.inc
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -117,7 +115,7 @@ NLM_THREAD_NAME = Logio Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -130,12 +128,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -145,7 +143,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -180,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,8 +209,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -240,10 +238,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -254,6 +252,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/loggers/mod_log_config.dep b/modules/loggers/mod_log_config.dep
new file mode 100644
index 00000000..4e4755fc
--- /dev/null
+++ b/modules/loggers/mod_log_config.dep
@@ -0,0 +1,35 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_log_config.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_log_config.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_mpm.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_time.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ ".\mod_log_config.h"\
+
diff --git a/modules/loggers/mod_log_config.mak b/modules/loggers/mod_log_config.mak
new file mode 100644
index 00000000..ab982092
--- /dev/null
+++ b/modules/loggers/mod_log_config.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_log_config.dsp
+!IF "$(CFG)" == ""
+CFG=mod_log_config - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_log_config - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_log_config - Win32 Release" && "$(CFG)" != "mod_log_config - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_log_config.mak" CFG="mod_log_config - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_log_config - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_log_config - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_log_config - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_log_config.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_log_config.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_log_config.obj"
+ -@erase "$(INTDIR)\mod_log_config.res"
+ -@erase "$(INTDIR)\mod_log_config_src.idb"
+ -@erase "$(INTDIR)\mod_log_config_src.pdb"
+ -@erase "$(OUTDIR)\mod_log_config.exp"
+ -@erase "$(OUTDIR)\mod_log_config.lib"
+ -@erase "$(OUTDIR)\mod_log_config.pdb"
+ -@erase "$(OUTDIR)\mod_log_config.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_log_config_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_log_config.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_log_config.so" /d LONG_NAME="log_config_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_log_config.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_log_config.pdb" /debug /out:"$(OUTDIR)\mod_log_config.so" /implib:"$(OUTDIR)\mod_log_config.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_log_config.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_log_config.obj" \
+ "$(INTDIR)\mod_log_config.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_log_config.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_log_config.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_log_config.so"
+ if exist .\Release\mod_log_config.so.manifest mt.exe -manifest .\Release\mod_log_config.so.manifest -outputresource:.\Release\mod_log_config.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_log_config - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_log_config.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_log_config.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_log_config.obj"
+ -@erase "$(INTDIR)\mod_log_config.res"
+ -@erase "$(INTDIR)\mod_log_config_src.idb"
+ -@erase "$(INTDIR)\mod_log_config_src.pdb"
+ -@erase "$(OUTDIR)\mod_log_config.exp"
+ -@erase "$(OUTDIR)\mod_log_config.lib"
+ -@erase "$(OUTDIR)\mod_log_config.pdb"
+ -@erase "$(OUTDIR)\mod_log_config.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_log_config_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_log_config.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_log_config.so" /d LONG_NAME="log_config_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_log_config.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_log_config.pdb" /debug /out:"$(OUTDIR)\mod_log_config.so" /implib:"$(OUTDIR)\mod_log_config.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_log_config.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_log_config.obj" \
+ "$(INTDIR)\mod_log_config.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_log_config.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_log_config.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_log_config.so"
+ if exist .\Debug\mod_log_config.so.manifest mt.exe -manifest .\Debug\mod_log_config.so.manifest -outputresource:.\Debug\mod_log_config.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_log_config.dep")
+!INCLUDE "mod_log_config.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_log_config.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_log_config - Win32 Release" || "$(CFG)" == "mod_log_config - Win32 Debug"
+
+!IF "$(CFG)" == "mod_log_config - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\loggers"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\loggers"
+
+!ELSEIF "$(CFG)" == "mod_log_config - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\loggers"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\loggers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_log_config - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\loggers"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\loggers"
+
+!ELSEIF "$(CFG)" == "mod_log_config - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\loggers"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\loggers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_log_config - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\loggers"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\loggers"
+
+!ELSEIF "$(CFG)" == "mod_log_config - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\loggers"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\loggers"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_log_config - Win32 Release"
+
+
+"$(INTDIR)\mod_log_config.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_log_config.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_log_config.so" /d LONG_NAME="log_config_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_log_config - Win32 Debug"
+
+
+"$(INTDIR)\mod_log_config.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_log_config.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_log_config.so" /d LONG_NAME="log_config_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_log_config.c
+
+"$(INTDIR)\mod_log_config.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/loggers/mod_log_forensic.dep b/modules/loggers/mod_log_forensic.dep
new file mode 100644
index 00000000..bbc6716b
--- /dev/null
+++ b/modules/loggers/mod_log_forensic.dep
@@ -0,0 +1,28 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_log_forensic.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_log_forensic.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\server\test_char.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_atomic.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/loggers/mod_log_forensic.mak b/modules/loggers/mod_log_forensic.mak
new file mode 100644
index 00000000..f508bfbf
--- /dev/null
+++ b/modules/loggers/mod_log_forensic.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_log_forensic.dsp
+!IF "$(CFG)" == ""
+CFG=mod_log_forensic - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_log_forensic - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_log_forensic - Win32 Release" && "$(CFG)" != "mod_log_forensic - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_log_forensic.mak" CFG="mod_log_forensic - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_log_forensic - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_log_forensic - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_log_forensic - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_log_forensic.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_log_forensic.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_log_forensic.obj"
+ -@erase "$(INTDIR)\mod_log_forensic.res"
+ -@erase "$(INTDIR)\mod_log_forensic_src.idb"
+ -@erase "$(INTDIR)\mod_log_forensic_src.pdb"
+ -@erase "$(OUTDIR)\mod_log_forensic.exp"
+ -@erase "$(OUTDIR)\mod_log_forensic.lib"
+ -@erase "$(OUTDIR)\mod_log_forensic.pdb"
+ -@erase "$(OUTDIR)\mod_log_forensic.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../../server" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_log_forensic_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_log_forensic.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_log_forensic.so" /d LONG_NAME="log_forensic_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_log_forensic.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_log_forensic.pdb" /debug /out:"$(OUTDIR)\mod_log_forensic.so" /implib:"$(OUTDIR)\mod_log_forensic.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_log_forensic.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_log_forensic.obj" \
+ "$(INTDIR)\mod_log_forensic.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_log_forensic.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_log_forensic.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_log_forensic.so"
+ if exist .\Release\mod_log_forensic.so.manifest mt.exe -manifest .\Release\mod_log_forensic.so.manifest -outputresource:.\Release\mod_log_forensic.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_log_forensic - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_log_forensic.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_log_forensic.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_log_forensic.obj"
+ -@erase "$(INTDIR)\mod_log_forensic.res"
+ -@erase "$(INTDIR)\mod_log_forensic_src.idb"
+ -@erase "$(INTDIR)\mod_log_forensic_src.pdb"
+ -@erase "$(OUTDIR)\mod_log_forensic.exp"
+ -@erase "$(OUTDIR)\mod_log_forensic.lib"
+ -@erase "$(OUTDIR)\mod_log_forensic.pdb"
+ -@erase "$(OUTDIR)\mod_log_forensic.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../../server" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_log_forensic_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_log_forensic.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_log_forensic.so" /d LONG_NAME="log_forensic_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_log_forensic.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_log_forensic.pdb" /debug /out:"$(OUTDIR)\mod_log_forensic.so" /implib:"$(OUTDIR)\mod_log_forensic.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_log_forensic.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_log_forensic.obj" \
+ "$(INTDIR)\mod_log_forensic.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_log_forensic.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_log_forensic.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_log_forensic.so"
+ if exist .\Debug\mod_log_forensic.so.manifest mt.exe -manifest .\Debug\mod_log_forensic.so.manifest -outputresource:.\Debug\mod_log_forensic.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_log_forensic.dep")
+!INCLUDE "mod_log_forensic.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_log_forensic.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_log_forensic - Win32 Release" || "$(CFG)" == "mod_log_forensic - Win32 Debug"
+
+!IF "$(CFG)" == "mod_log_forensic - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\loggers"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\loggers"
+
+!ELSEIF "$(CFG)" == "mod_log_forensic - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\loggers"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\loggers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_log_forensic - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\loggers"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\loggers"
+
+!ELSEIF "$(CFG)" == "mod_log_forensic - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\loggers"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\loggers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_log_forensic - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\loggers"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\loggers"
+
+!ELSEIF "$(CFG)" == "mod_log_forensic - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\loggers"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\loggers"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_log_forensic - Win32 Release"
+
+
+"$(INTDIR)\mod_log_forensic.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_log_forensic.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_log_forensic.so" /d LONG_NAME="log_forensic_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_log_forensic - Win32 Debug"
+
+
+"$(INTDIR)\mod_log_forensic.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_log_forensic.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_log_forensic.so" /d LONG_NAME="log_forensic_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_log_forensic.c
+
+"$(INTDIR)\mod_log_forensic.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/loggers/mod_logio.dep b/modules/loggers/mod_logio.dep
new file mode 100644
index 00000000..a832572e
--- /dev/null
+++ b/modules/loggers/mod_logio.dep
@@ -0,0 +1,32 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_logio.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_logio.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_log_config.h"\
+
diff --git a/modules/loggers/mod_logio.mak b/modules/loggers/mod_logio.mak
new file mode 100644
index 00000000..a3b70470
--- /dev/null
+++ b/modules/loggers/mod_logio.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_logio.dsp
+!IF "$(CFG)" == ""
+CFG=mod_logio - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_logio - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_logio - Win32 Release" && "$(CFG)" != "mod_logio - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_logio.mak" CFG="mod_logio - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_logio - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_logio - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_logio - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_logio.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_logio.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_logio.obj"
+ -@erase "$(INTDIR)\mod_logio.res"
+ -@erase "$(INTDIR)\mod_logio_src.idb"
+ -@erase "$(INTDIR)\mod_logio_src.pdb"
+ -@erase "$(OUTDIR)\mod_logio.exp"
+ -@erase "$(OUTDIR)\mod_logio.lib"
+ -@erase "$(OUTDIR)\mod_logio.pdb"
+ -@erase "$(OUTDIR)\mod_logio.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_logio_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_logio.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_logio.so" /d LONG_NAME="logio_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_logio.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_logio.pdb" /debug /out:"$(OUTDIR)\mod_logio.so" /implib:"$(OUTDIR)\mod_logio.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_logio.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_logio.obj" \
+ "$(INTDIR)\mod_logio.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_logio.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_logio.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_logio.so"
+ if exist .\Release\mod_logio.so.manifest mt.exe -manifest .\Release\mod_logio.so.manifest -outputresource:.\Release\mod_logio.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_logio - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_logio.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_logio.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_logio.obj"
+ -@erase "$(INTDIR)\mod_logio.res"
+ -@erase "$(INTDIR)\mod_logio_src.idb"
+ -@erase "$(INTDIR)\mod_logio_src.pdb"
+ -@erase "$(OUTDIR)\mod_logio.exp"
+ -@erase "$(OUTDIR)\mod_logio.lib"
+ -@erase "$(OUTDIR)\mod_logio.pdb"
+ -@erase "$(OUTDIR)\mod_logio.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_logio_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_logio.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_logio.so" /d LONG_NAME="logio_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_logio.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_logio.pdb" /debug /out:"$(OUTDIR)\mod_logio.so" /implib:"$(OUTDIR)\mod_logio.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_logio.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_logio.obj" \
+ "$(INTDIR)\mod_logio.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_logio.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_logio.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_logio.so"
+ if exist .\Debug\mod_logio.so.manifest mt.exe -manifest .\Debug\mod_logio.so.manifest -outputresource:.\Debug\mod_logio.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_logio.dep")
+!INCLUDE "mod_logio.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_logio.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_logio - Win32 Release" || "$(CFG)" == "mod_logio - Win32 Debug"
+
+!IF "$(CFG)" == "mod_logio - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\loggers"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\loggers"
+
+!ELSEIF "$(CFG)" == "mod_logio - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\loggers"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\loggers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_logio - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\loggers"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\loggers"
+
+!ELSEIF "$(CFG)" == "mod_logio - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\loggers"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\loggers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_logio - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\loggers"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\loggers"
+
+!ELSEIF "$(CFG)" == "mod_logio - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\loggers"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\loggers"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_logio - Win32 Release"
+
+
+"$(INTDIR)\mod_logio.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_logio.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_logio.so" /d LONG_NAME="logio_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_logio - Win32 Debug"
+
+
+"$(INTDIR)\mod_logio.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_logio.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_logio.so" /d LONG_NAME="logio_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_logio.c
+
+"$(INTDIR)\mod_logio.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/mappers/NWGNUactions b/modules/mappers/NWGNUactions
index 6594ad62..3909c34a 100644
--- a/modules/mappers/NWGNUactions
+++ b/modules/mappers/NWGNUactions
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = Actions Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/mappers/NWGNUimagemap b/modules/mappers/NWGNUimagemap
index 087b490c..e91470f2 100644
--- a/modules/mappers/NWGNUimagemap
+++ b/modules/mappers/NWGNUimagemap
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,13 +16,11 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
- $(AP_WORK)/modules/http \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(HTTPD) \
$(EOLIST)
#
@@ -110,7 +108,7 @@ NLM_THREAD_NAME = Image Map Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -123,12 +121,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -138,7 +136,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -173,7 +171,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -204,8 +202,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -233,7 +231,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -246,6 +244,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/mappers/NWGNUmakefile b/modules/mappers/NWGNUmakefile
index 35e0f825..76c1d273 100644
--- a/modules/mappers/NWGNUmakefile
+++ b/modules/mappers/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -111,7 +111,7 @@ NLM_THREAD_NAME =
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -231,10 +231,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -245,6 +245,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/mappers/NWGNUrewrite b/modules/mappers/NWGNUrewrite
index e3c378f1..1a88481b 100644
--- a/modules/mappers/NWGNUrewrite
+++ b/modules/mappers/NWGNUrewrite
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,13 +16,11 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
- $(AP_WORK)/modules/ssl \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(STDMOD)/ssl \
$(EOLIST)
#
@@ -110,7 +108,7 @@ NLM_THREAD_NAME = Rewrite Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -123,12 +121,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -138,7 +136,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -173,7 +171,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -204,8 +202,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -233,7 +231,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -246,6 +244,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/mappers/NWGNUspeling b/modules/mappers/NWGNUspeling
index da1638ba..0e05a6b3 100644
--- a/modules/mappers/NWGNUspeling
+++ b/modules/mappers/NWGNUspeling
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = Speling Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/mappers/NWGNUuserdir b/modules/mappers/NWGNUuserdir
index 7f5ef020..6e1dafc1 100644
--- a/modules/mappers/NWGNUuserdir
+++ b/modules/mappers/NWGNUuserdir
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,13 +16,11 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
- $(AP_WORK)/modules/http \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(HTTPD) \
$(EOLIST)
#
@@ -110,7 +108,7 @@ NLM_THREAD_NAME = UserDir Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -123,12 +121,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -138,7 +136,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -173,7 +171,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -204,8 +202,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -233,7 +231,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -246,6 +244,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/mappers/NWGNUvhost b/modules/mappers/NWGNUvhost
index a2f7eff2..9a1dc290 100644
--- a/modules/mappers/NWGNUvhost
+++ b/modules/mappers/NWGNUvhost
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = Vhost Alias Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/mappers/mod_actions.dep b/modules/mappers/mod_actions.dep
new file mode 100644
index 00000000..05827cd8
--- /dev/null
+++ b/modules/mappers/mod_actions.dep
@@ -0,0 +1,32 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_actions.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_actions.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/mappers/mod_actions.mak b/modules/mappers/mod_actions.mak
new file mode 100644
index 00000000..d3bb2d00
--- /dev/null
+++ b/modules/mappers/mod_actions.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_actions.dsp
+!IF "$(CFG)" == ""
+CFG=mod_actions - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_actions - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_actions - Win32 Release" && "$(CFG)" != "mod_actions - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_actions.mak" CFG="mod_actions - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_actions - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_actions - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_actions - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_actions.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_actions.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_actions.obj"
+ -@erase "$(INTDIR)\mod_actions.res"
+ -@erase "$(INTDIR)\mod_actions_src.idb"
+ -@erase "$(INTDIR)\mod_actions_src.pdb"
+ -@erase "$(OUTDIR)\mod_actions.exp"
+ -@erase "$(OUTDIR)\mod_actions.lib"
+ -@erase "$(OUTDIR)\mod_actions.pdb"
+ -@erase "$(OUTDIR)\mod_actions.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_actions_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_actions.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_actions.so" /d LONG_NAME="actions_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_actions.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_actions.pdb" /debug /out:"$(OUTDIR)\mod_actions.so" /implib:"$(OUTDIR)\mod_actions.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_actions.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_actions.obj" \
+ "$(INTDIR)\mod_actions.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_actions.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_actions.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_actions.so"
+ if exist .\Release\mod_actions.so.manifest mt.exe -manifest .\Release\mod_actions.so.manifest -outputresource:.\Release\mod_actions.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_actions - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_actions.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_actions.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_actions.obj"
+ -@erase "$(INTDIR)\mod_actions.res"
+ -@erase "$(INTDIR)\mod_actions_src.idb"
+ -@erase "$(INTDIR)\mod_actions_src.pdb"
+ -@erase "$(OUTDIR)\mod_actions.exp"
+ -@erase "$(OUTDIR)\mod_actions.lib"
+ -@erase "$(OUTDIR)\mod_actions.pdb"
+ -@erase "$(OUTDIR)\mod_actions.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_actions_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_actions.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_actions.so" /d LONG_NAME="actions_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_actions.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_actions.pdb" /debug /out:"$(OUTDIR)\mod_actions.so" /implib:"$(OUTDIR)\mod_actions.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_actions.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_actions.obj" \
+ "$(INTDIR)\mod_actions.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_actions.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_actions.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_actions.so"
+ if exist .\Debug\mod_actions.so.manifest mt.exe -manifest .\Debug\mod_actions.so.manifest -outputresource:.\Debug\mod_actions.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_actions.dep")
+!INCLUDE "mod_actions.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_actions.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_actions - Win32 Release" || "$(CFG)" == "mod_actions - Win32 Debug"
+
+!IF "$(CFG)" == "mod_actions - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_actions - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_actions - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_actions - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_actions - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_actions - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_actions - Win32 Release"
+
+
+"$(INTDIR)\mod_actions.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_actions.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_actions.so" /d LONG_NAME="actions_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_actions - Win32 Debug"
+
+
+"$(INTDIR)\mod_actions.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_actions.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_actions.so" /d LONG_NAME="actions_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_actions.c
+
+"$(INTDIR)\mod_actions.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/mappers/mod_alias.dep b/modules/mappers/mod_alias.dep
new file mode 100644
index 00000000..b16f384d
--- /dev/null
+++ b/modules/mappers/mod_alias.dep
@@ -0,0 +1,29 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_alias.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_alias.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/mappers/mod_alias.mak b/modules/mappers/mod_alias.mak
new file mode 100644
index 00000000..97274889
--- /dev/null
+++ b/modules/mappers/mod_alias.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_alias.dsp
+!IF "$(CFG)" == ""
+CFG=mod_alias - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_alias - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_alias - Win32 Release" && "$(CFG)" != "mod_alias - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_alias.mak" CFG="mod_alias - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_alias - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_alias - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_alias - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_alias.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_alias.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_alias.obj"
+ -@erase "$(INTDIR)\mod_alias.res"
+ -@erase "$(INTDIR)\mod_alias_src.idb"
+ -@erase "$(INTDIR)\mod_alias_src.pdb"
+ -@erase "$(OUTDIR)\mod_alias.exp"
+ -@erase "$(OUTDIR)\mod_alias.lib"
+ -@erase "$(OUTDIR)\mod_alias.pdb"
+ -@erase "$(OUTDIR)\mod_alias.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_alias_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_alias.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_alias.so" /d LONG_NAME="alias_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_alias.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_alias.pdb" /debug /out:"$(OUTDIR)\mod_alias.so" /implib:"$(OUTDIR)\mod_alias.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_alias.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_alias.obj" \
+ "$(INTDIR)\mod_alias.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_alias.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_alias.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_alias.so"
+ if exist .\Release\mod_alias.so.manifest mt.exe -manifest .\Release\mod_alias.so.manifest -outputresource:.\Release\mod_alias.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_alias - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_alias.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_alias.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_alias.obj"
+ -@erase "$(INTDIR)\mod_alias.res"
+ -@erase "$(INTDIR)\mod_alias_src.idb"
+ -@erase "$(INTDIR)\mod_alias_src.pdb"
+ -@erase "$(OUTDIR)\mod_alias.exp"
+ -@erase "$(OUTDIR)\mod_alias.lib"
+ -@erase "$(OUTDIR)\mod_alias.pdb"
+ -@erase "$(OUTDIR)\mod_alias.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_alias_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_alias.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_alias.so" /d LONG_NAME="alias_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_alias.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_alias.pdb" /debug /out:"$(OUTDIR)\mod_alias.so" /implib:"$(OUTDIR)\mod_alias.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_alias.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_alias.obj" \
+ "$(INTDIR)\mod_alias.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_alias.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_alias.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_alias.so"
+ if exist .\Debug\mod_alias.so.manifest mt.exe -manifest .\Debug\mod_alias.so.manifest -outputresource:.\Debug\mod_alias.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_alias.dep")
+!INCLUDE "mod_alias.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_alias.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_alias - Win32 Release" || "$(CFG)" == "mod_alias - Win32 Debug"
+
+!IF "$(CFG)" == "mod_alias - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_alias - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_alias - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_alias - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_alias - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_alias - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_alias - Win32 Release"
+
+
+"$(INTDIR)\mod_alias.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_alias.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_alias.so" /d LONG_NAME="alias_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_alias - Win32 Debug"
+
+
+"$(INTDIR)\mod_alias.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_alias.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_alias.so" /d LONG_NAME="alias_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_alias.c
+
+"$(INTDIR)\mod_alias.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/mappers/mod_dir.dep b/modules/mappers/mod_dir.dep
new file mode 100644
index 00000000..143fc653
--- /dev/null
+++ b/modules/mappers/mod_dir.dep
@@ -0,0 +1,32 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_dir.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_dir.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/mappers/mod_dir.mak b/modules/mappers/mod_dir.mak
new file mode 100644
index 00000000..48d66261
--- /dev/null
+++ b/modules/mappers/mod_dir.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_dir.dsp
+!IF "$(CFG)" == ""
+CFG=mod_dir - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_dir - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_dir - Win32 Release" && "$(CFG)" != "mod_dir - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_dir.mak" CFG="mod_dir - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_dir - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_dir - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_dir - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_dir.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_dir.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_dir.obj"
+ -@erase "$(INTDIR)\mod_dir.res"
+ -@erase "$(INTDIR)\mod_dir_src.idb"
+ -@erase "$(INTDIR)\mod_dir_src.pdb"
+ -@erase "$(OUTDIR)\mod_dir.exp"
+ -@erase "$(OUTDIR)\mod_dir.lib"
+ -@erase "$(OUTDIR)\mod_dir.pdb"
+ -@erase "$(OUTDIR)\mod_dir.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_dir_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_dir.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_dir.so" /d LONG_NAME="dir_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_dir.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_dir.pdb" /debug /out:"$(OUTDIR)\mod_dir.so" /implib:"$(OUTDIR)\mod_dir.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_dir.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_dir.obj" \
+ "$(INTDIR)\mod_dir.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_dir.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_dir.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_dir.so"
+ if exist .\Release\mod_dir.so.manifest mt.exe -manifest .\Release\mod_dir.so.manifest -outputresource:.\Release\mod_dir.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_dir - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_dir.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_dir.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_dir.obj"
+ -@erase "$(INTDIR)\mod_dir.res"
+ -@erase "$(INTDIR)\mod_dir_src.idb"
+ -@erase "$(INTDIR)\mod_dir_src.pdb"
+ -@erase "$(OUTDIR)\mod_dir.exp"
+ -@erase "$(OUTDIR)\mod_dir.lib"
+ -@erase "$(OUTDIR)\mod_dir.pdb"
+ -@erase "$(OUTDIR)\mod_dir.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_dir_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_dir.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_dir.so" /d LONG_NAME="dir_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_dir.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_dir.pdb" /debug /out:"$(OUTDIR)\mod_dir.so" /implib:"$(OUTDIR)\mod_dir.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_dir.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_dir.obj" \
+ "$(INTDIR)\mod_dir.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_dir.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_dir.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_dir.so"
+ if exist .\Debug\mod_dir.so.manifest mt.exe -manifest .\Debug\mod_dir.so.manifest -outputresource:.\Debug\mod_dir.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_dir.dep")
+!INCLUDE "mod_dir.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_dir.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_dir - Win32 Release" || "$(CFG)" == "mod_dir - Win32 Debug"
+
+!IF "$(CFG)" == "mod_dir - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_dir - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_dir - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_dir - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_dir - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_dir - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_dir - Win32 Release"
+
+
+"$(INTDIR)\mod_dir.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_dir.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_dir.so" /d LONG_NAME="dir_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_dir - Win32 Debug"
+
+
+"$(INTDIR)\mod_dir.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_dir.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_dir.so" /d LONG_NAME="dir_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_dir.c
+
+"$(INTDIR)\mod_dir.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/mappers/mod_imagemap.dep b/modules/mappers/mod_imagemap.dep
new file mode 100644
index 00000000..6f62d786
--- /dev/null
+++ b/modules/mappers/mod_imagemap.dep
@@ -0,0 +1,34 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_imagemap.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_imagemap.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mod_core.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/mappers/mod_imagemap.mak b/modules/mappers/mod_imagemap.mak
new file mode 100644
index 00000000..0191366d
--- /dev/null
+++ b/modules/mappers/mod_imagemap.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_imagemap.dsp
+!IF "$(CFG)" == ""
+CFG=mod_imagemap - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_imagemap - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_imagemap - Win32 Release" && "$(CFG)" != "mod_imagemap - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_imagemap.mak" CFG="mod_imagemap - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_imagemap - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_imagemap - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_imagemap - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_imagemap.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_imagemap.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_imagemap.obj"
+ -@erase "$(INTDIR)\mod_imagemap.res"
+ -@erase "$(INTDIR)\mod_imagemap_src.idb"
+ -@erase "$(INTDIR)\mod_imagemap_src.pdb"
+ -@erase "$(OUTDIR)\mod_imagemap.exp"
+ -@erase "$(OUTDIR)\mod_imagemap.lib"
+ -@erase "$(OUTDIR)\mod_imagemap.pdb"
+ -@erase "$(OUTDIR)\mod_imagemap.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_imagemap_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_imagemap.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_imagemap.so" /d LONG_NAME="imagemap_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_imagemap.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_imagemap.pdb" /debug /out:"$(OUTDIR)\mod_imagemap.so" /implib:"$(OUTDIR)\mod_imagemap.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_imagemap.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_imagemap.obj" \
+ "$(INTDIR)\mod_imagemap.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_imagemap.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_imagemap.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_imagemap.so"
+ if exist .\Release\mod_imagemap.so.manifest mt.exe -manifest .\Release\mod_imagemap.so.manifest -outputresource:.\Release\mod_imagemap.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_imagemap - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_imagemap.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_imagemap.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_imagemap.obj"
+ -@erase "$(INTDIR)\mod_imagemap.res"
+ -@erase "$(INTDIR)\mod_imagemap_src.idb"
+ -@erase "$(INTDIR)\mod_imagemap_src.pdb"
+ -@erase "$(OUTDIR)\mod_imagemap.exp"
+ -@erase "$(OUTDIR)\mod_imagemap.lib"
+ -@erase "$(OUTDIR)\mod_imagemap.pdb"
+ -@erase "$(OUTDIR)\mod_imagemap.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_imagemap_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_imagemap.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_imagemap.so" /d LONG_NAME="imagemap_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_imagemap.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_imagemap.pdb" /debug /out:"$(OUTDIR)\mod_imagemap.so" /implib:"$(OUTDIR)\mod_imagemap.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_imagemap.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_imagemap.obj" \
+ "$(INTDIR)\mod_imagemap.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_imagemap.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_imagemap.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_imagemap.so"
+ if exist .\Debug\mod_imagemap.so.manifest mt.exe -manifest .\Debug\mod_imagemap.so.manifest -outputresource:.\Debug\mod_imagemap.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_imagemap.dep")
+!INCLUDE "mod_imagemap.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_imagemap.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_imagemap - Win32 Release" || "$(CFG)" == "mod_imagemap - Win32 Debug"
+
+!IF "$(CFG)" == "mod_imagemap - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_imagemap - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_imagemap - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_imagemap - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_imagemap - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_imagemap - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_imagemap - Win32 Release"
+
+
+"$(INTDIR)\mod_imagemap.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_imagemap.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_imagemap.so" /d LONG_NAME="imagemap_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_imagemap - Win32 Debug"
+
+
+"$(INTDIR)\mod_imagemap.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_imagemap.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_imagemap.so" /d LONG_NAME="imagemap_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_imagemap.c
+
+"$(INTDIR)\mod_imagemap.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/mappers/mod_negotiation.dep b/modules/mappers/mod_negotiation.dep
new file mode 100644
index 00000000..1fdfa39c
--- /dev/null
+++ b/modules/mappers/mod_negotiation.dep
@@ -0,0 +1,32 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_negotiation.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_negotiation.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/mappers/mod_negotiation.mak b/modules/mappers/mod_negotiation.mak
new file mode 100644
index 00000000..1b43046f
--- /dev/null
+++ b/modules/mappers/mod_negotiation.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_negotiation.dsp
+!IF "$(CFG)" == ""
+CFG=mod_negotiation - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_negotiation - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_negotiation - Win32 Release" && "$(CFG)" != "mod_negotiation - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_negotiation.mak" CFG="mod_negotiation - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_negotiation - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_negotiation - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_negotiation - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_negotiation.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_negotiation.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_negotiation.obj"
+ -@erase "$(INTDIR)\mod_negotiation.res"
+ -@erase "$(INTDIR)\mod_negotiation_src.idb"
+ -@erase "$(INTDIR)\mod_negotiation_src.pdb"
+ -@erase "$(OUTDIR)\mod_negotiation.exp"
+ -@erase "$(OUTDIR)\mod_negotiation.lib"
+ -@erase "$(OUTDIR)\mod_negotiation.pdb"
+ -@erase "$(OUTDIR)\mod_negotiation.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_negotiation_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_negotiation.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_negotiation.so" /d LONG_NAME="negotiation_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_negotiation.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_negotiation.pdb" /debug /out:"$(OUTDIR)\mod_negotiation.so" /implib:"$(OUTDIR)\mod_negotiation.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_negotiation.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_negotiation.obj" \
+ "$(INTDIR)\mod_negotiation.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_negotiation.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_negotiation.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_negotiation.so"
+ if exist .\Release\mod_negotiation.so.manifest mt.exe -manifest .\Release\mod_negotiation.so.manifest -outputresource:.\Release\mod_negotiation.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_negotiation - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_negotiation.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_negotiation.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_negotiation.obj"
+ -@erase "$(INTDIR)\mod_negotiation.res"
+ -@erase "$(INTDIR)\mod_negotiation_src.idb"
+ -@erase "$(INTDIR)\mod_negotiation_src.pdb"
+ -@erase "$(OUTDIR)\mod_negotiation.exp"
+ -@erase "$(OUTDIR)\mod_negotiation.lib"
+ -@erase "$(OUTDIR)\mod_negotiation.pdb"
+ -@erase "$(OUTDIR)\mod_negotiation.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_negotiation_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_negotiation.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_negotiation.so" /d LONG_NAME="negotiation_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_negotiation.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_negotiation.pdb" /debug /out:"$(OUTDIR)\mod_negotiation.so" /implib:"$(OUTDIR)\mod_negotiation.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_negotiation.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_negotiation.obj" \
+ "$(INTDIR)\mod_negotiation.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_negotiation.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_negotiation.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_negotiation.so"
+ if exist .\Debug\mod_negotiation.so.manifest mt.exe -manifest .\Debug\mod_negotiation.so.manifest -outputresource:.\Debug\mod_negotiation.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_negotiation.dep")
+!INCLUDE "mod_negotiation.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_negotiation.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_negotiation - Win32 Release" || "$(CFG)" == "mod_negotiation - Win32 Debug"
+
+!IF "$(CFG)" == "mod_negotiation - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_negotiation - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_negotiation - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_negotiation - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_negotiation - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_negotiation - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_negotiation - Win32 Release"
+
+
+"$(INTDIR)\mod_negotiation.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_negotiation.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_negotiation.so" /d LONG_NAME="negotiation_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_negotiation - Win32 Debug"
+
+
+"$(INTDIR)\mod_negotiation.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_negotiation.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_negotiation.so" /d LONG_NAME="negotiation_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_negotiation.c
+
+"$(INTDIR)\mod_negotiation.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/mappers/mod_rewrite.c b/modules/mappers/mod_rewrite.c
index 36609cca..70010738 100644
--- a/modules/mappers/mod_rewrite.c
+++ b/modules/mappers/mod_rewrite.c
@@ -2347,15 +2347,22 @@ static void do_expand_env(data_item *env, rewrite_ctx *ctx)
while (env) {
name = do_expand(env->data, ctx, NULL);
- if ((val = ap_strchr(name, ':')) != NULL) {
- *val++ = '\0';
- } else {
- val = "";
+ if (*name == '!') {
+ name++;
+ apr_table_unset(ctx->r->subprocess_env, name);
+ rewritelog((ctx->r, 5, NULL, "unsetting env variable '%s'", name));
}
+ else {
+ if ((val = ap_strchr(name, ':')) != NULL) {
+ *val++ = '\0';
+ } else {
+ val = "";
+ }
- apr_table_set(ctx->r->subprocess_env, name, val);
- rewritelog((ctx->r, 5, NULL, "setting env variable '%s' to '%s'",
- name, val));
+ apr_table_set(ctx->r->subprocess_env, name, val);
+ rewritelog((ctx->r, 5, NULL, "setting env variable '%s' to '%s'",
+ name, val));
+ }
env = env->next;
}
diff --git a/modules/mappers/mod_rewrite.dep b/modules/mappers/mod_rewrite.dep
new file mode 100644
index 00000000..40471964
--- /dev/null
+++ b/modules/mappers/mod_rewrite.dep
@@ -0,0 +1,36 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_rewrite.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_rewrite.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_signal.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\ssl\mod_ssl.h"\
+ ".\mod_rewrite.h"\
+
diff --git a/modules/mappers/mod_rewrite.mak b/modules/mappers/mod_rewrite.mak
new file mode 100644
index 00000000..6cdee779
--- /dev/null
+++ b/modules/mappers/mod_rewrite.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_rewrite.dsp
+!IF "$(CFG)" == ""
+CFG=mod_rewrite - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_rewrite - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_rewrite - Win32 Release" && "$(CFG)" != "mod_rewrite - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_rewrite.mak" CFG="mod_rewrite - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_rewrite - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_rewrite - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_rewrite - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_rewrite.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_rewrite.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_rewrite.obj"
+ -@erase "$(INTDIR)\mod_rewrite.res"
+ -@erase "$(INTDIR)\mod_rewrite_src.idb"
+ -@erase "$(INTDIR)\mod_rewrite_src.pdb"
+ -@erase "$(OUTDIR)\mod_rewrite.exp"
+ -@erase "$(OUTDIR)\mod_rewrite.lib"
+ -@erase "$(OUTDIR)\mod_rewrite.pdb"
+ -@erase "$(OUTDIR)\mod_rewrite.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../ssl" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_rewrite_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_rewrite.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_rewrite.so" /d LONG_NAME="rewrite_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_rewrite.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_rewrite.pdb" /debug /out:"$(OUTDIR)\mod_rewrite.so" /implib:"$(OUTDIR)\mod_rewrite.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_rewrite.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_rewrite.obj" \
+ "$(INTDIR)\mod_rewrite.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_rewrite.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_rewrite.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_rewrite.so"
+ if exist .\Release\mod_rewrite.so.manifest mt.exe -manifest .\Release\mod_rewrite.so.manifest -outputresource:.\Release\mod_rewrite.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_rewrite - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_rewrite.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_rewrite.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_rewrite.obj"
+ -@erase "$(INTDIR)\mod_rewrite.res"
+ -@erase "$(INTDIR)\mod_rewrite_src.idb"
+ -@erase "$(INTDIR)\mod_rewrite_src.pdb"
+ -@erase "$(OUTDIR)\mod_rewrite.exp"
+ -@erase "$(OUTDIR)\mod_rewrite.lib"
+ -@erase "$(OUTDIR)\mod_rewrite.pdb"
+ -@erase "$(OUTDIR)\mod_rewrite.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../ssl" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_rewrite_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_rewrite.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_rewrite.so" /d LONG_NAME="rewrite_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_rewrite.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_rewrite.pdb" /debug /out:"$(OUTDIR)\mod_rewrite.so" /implib:"$(OUTDIR)\mod_rewrite.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_rewrite.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_rewrite.obj" \
+ "$(INTDIR)\mod_rewrite.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_rewrite.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_rewrite.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_rewrite.so"
+ if exist .\Debug\mod_rewrite.so.manifest mt.exe -manifest .\Debug\mod_rewrite.so.manifest -outputresource:.\Debug\mod_rewrite.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_rewrite.dep")
+!INCLUDE "mod_rewrite.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_rewrite.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_rewrite - Win32 Release" || "$(CFG)" == "mod_rewrite - Win32 Debug"
+
+!IF "$(CFG)" == "mod_rewrite - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_rewrite - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_rewrite - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_rewrite - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_rewrite - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_rewrite - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_rewrite - Win32 Release"
+
+
+"$(INTDIR)\mod_rewrite.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_rewrite.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_rewrite.so" /d LONG_NAME="rewrite_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_rewrite - Win32 Debug"
+
+
+"$(INTDIR)\mod_rewrite.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_rewrite.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_rewrite.so" /d LONG_NAME="rewrite_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_rewrite.c
+
+"$(INTDIR)\mod_rewrite.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/mappers/mod_speling.dep b/modules/mappers/mod_speling.dep
new file mode 100644
index 00000000..8ad959d0
--- /dev/null
+++ b/modules/mappers/mod_speling.dep
@@ -0,0 +1,29 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_speling.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_speling.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/mappers/mod_speling.mak b/modules/mappers/mod_speling.mak
new file mode 100644
index 00000000..19f8ee8c
--- /dev/null
+++ b/modules/mappers/mod_speling.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_speling.dsp
+!IF "$(CFG)" == ""
+CFG=mod_speling - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_speling - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_speling - Win32 Release" && "$(CFG)" != "mod_speling - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_speling.mak" CFG="mod_speling - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_speling - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_speling - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_speling - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_speling.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_speling.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_speling.obj"
+ -@erase "$(INTDIR)\mod_speling.res"
+ -@erase "$(INTDIR)\mod_speling_src.idb"
+ -@erase "$(INTDIR)\mod_speling_src.pdb"
+ -@erase "$(OUTDIR)\mod_speling.exp"
+ -@erase "$(OUTDIR)\mod_speling.lib"
+ -@erase "$(OUTDIR)\mod_speling.pdb"
+ -@erase "$(OUTDIR)\mod_speling.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_speling_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_speling.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_speling.so" /d LONG_NAME="speling_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_speling.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_speling.pdb" /debug /out:"$(OUTDIR)\mod_speling.so" /implib:"$(OUTDIR)\mod_speling.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_speling.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_speling.obj" \
+ "$(INTDIR)\mod_speling.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_speling.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_speling.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_speling.so"
+ if exist .\Release\mod_speling.so.manifest mt.exe -manifest .\Release\mod_speling.so.manifest -outputresource:.\Release\mod_speling.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_speling - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_speling.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_speling.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_speling.obj"
+ -@erase "$(INTDIR)\mod_speling.res"
+ -@erase "$(INTDIR)\mod_speling_src.idb"
+ -@erase "$(INTDIR)\mod_speling_src.pdb"
+ -@erase "$(OUTDIR)\mod_speling.exp"
+ -@erase "$(OUTDIR)\mod_speling.lib"
+ -@erase "$(OUTDIR)\mod_speling.pdb"
+ -@erase "$(OUTDIR)\mod_speling.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_speling_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_speling.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_speling.so" /d LONG_NAME="speling_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_speling.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_speling.pdb" /debug /out:"$(OUTDIR)\mod_speling.so" /implib:"$(OUTDIR)\mod_speling.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_speling.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_speling.obj" \
+ "$(INTDIR)\mod_speling.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_speling.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_speling.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_speling.so"
+ if exist .\Debug\mod_speling.so.manifest mt.exe -manifest .\Debug\mod_speling.so.manifest -outputresource:.\Debug\mod_speling.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_speling.dep")
+!INCLUDE "mod_speling.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_speling.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_speling - Win32 Release" || "$(CFG)" == "mod_speling - Win32 Debug"
+
+!IF "$(CFG)" == "mod_speling - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_speling - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_speling - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_speling - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_speling - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_speling - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_speling - Win32 Release"
+
+
+"$(INTDIR)\mod_speling.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_speling.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_speling.so" /d LONG_NAME="speling_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_speling - Win32 Debug"
+
+
+"$(INTDIR)\mod_speling.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_speling.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_speling.so" /d LONG_NAME="speling_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_speling.c
+
+"$(INTDIR)\mod_speling.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/mappers/mod_userdir.c b/modules/mappers/mod_userdir.c
index 2270757d..e479d3e2 100644
--- a/modules/mappers/mod_userdir.c
+++ b/modules/mappers/mod_userdir.c
@@ -81,6 +81,10 @@
#define DEFAULT_USER_DIR NULL
#endif
+#define O_DEFAULT 0
+#define O_ENABLE 1
+#define O_DISABLE 2
+
module AP_MODULE_DECLARE_DATA userdir_module;
typedef struct {
@@ -100,7 +104,7 @@ static void *create_userdir_config(apr_pool_t *p, server_rec *s)
{
userdir_config *newcfg = apr_pcalloc(p, sizeof(*newcfg));
- newcfg->globally_disabled = 0;
+ newcfg->globally_disabled = O_DEFAULT;
newcfg->userdir = DEFAULT_USER_DIR;
newcfg->enabled_users = apr_table_make(p, 4);
newcfg->disabled_users = apr_table_make(p, 4);
@@ -108,9 +112,21 @@ static void *create_userdir_config(apr_pool_t *p, server_rec *s)
return newcfg;
}
-#define O_DEFAULT 0
-#define O_ENABLE 1
-#define O_DISABLE 2
+static void *merge_userdir_config(apr_pool_t *p, void *basev, void *overridesv)
+{
+ userdir_config *cfg = apr_pcalloc(p, sizeof(userdir_config));
+ userdir_config *base = basev, *overrides = overridesv;
+
+ cfg->globally_disabled = (overrides->globally_disabled != O_DEFAULT) ? overrides->globally_disabled : base->globally_disabled;
+ cfg->userdir = (overrides->userdir != DEFAULT_USER_DIR) ? overrides->userdir : base->userdir;
+
+ /* not merged */
+ cfg->enabled_users = overrides->enabled_users;
+ cfg->disabled_users = overrides->disabled_users;
+
+ return cfg;
+}
+
static const char *set_user_dir(cmd_parms *cmd, void *dummy, const char *arg)
{
@@ -137,19 +153,15 @@ static const char *set_user_dir(cmd_parms *cmd, void *dummy, const char *arg)
* need do no more at this point than record the fact.
*/
if (strlen(usernames) == 0) {
- s_cfg->globally_disabled = 1;
+ s_cfg->globally_disabled = O_DISABLE;
return NULL;
}
usertable = s_cfg->disabled_users;
}
else if ((!strcasecmp(kw, "enable")) || (!strcasecmp(kw, "enabled"))) {
- /*
- * The "disable" keyword can stand alone or take a list of names, but
- * the "enable" keyword requires the list. Whinge if it doesn't have
- * it.
- */
if (strlen(usernames) == 0) {
- return "UserDir \"enable\" keyword requires a list of usernames";
+ s_cfg->globally_disabled = O_ENABLE;
+ return NULL;
}
usertable = s_cfg->enabled_users;
}
@@ -234,7 +246,7 @@ static int translate_userdir(request_rec *r)
* If there's a global interdiction on UserDirs, check to see if this
* name is one of the Blessed.
*/
- if (s_cfg->globally_disabled
+ if (s_cfg->globally_disabled == O_DISABLE
&& apr_table_get(s_cfg->enabled_users, w) == NULL) {
return DECLINED;
}
@@ -363,7 +375,7 @@ module AP_MODULE_DECLARE_DATA userdir_module = {
NULL, /* dir config creater */
NULL, /* dir merger --- default is to override */
create_userdir_config, /* server config */
- NULL, /* merge server config */
+ merge_userdir_config, /* merge server config */
userdir_cmds, /* command apr_table_t */
register_hooks /* register hooks */
};
diff --git a/modules/mappers/mod_userdir.dep b/modules/mappers/mod_userdir.dep
new file mode 100644
index 00000000..babf5d62
--- /dev/null
+++ b/modules/mappers/mod_userdir.dep
@@ -0,0 +1,24 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_userdir.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_userdir.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/mappers/mod_userdir.mak b/modules/mappers/mod_userdir.mak
new file mode 100644
index 00000000..e9fc2308
--- /dev/null
+++ b/modules/mappers/mod_userdir.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_userdir.dsp
+!IF "$(CFG)" == ""
+CFG=mod_userdir - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_userdir - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_userdir - Win32 Release" && "$(CFG)" != "mod_userdir - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_userdir.mak" CFG="mod_userdir - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_userdir - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_userdir - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_userdir - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_userdir.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_userdir.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_userdir.obj"
+ -@erase "$(INTDIR)\mod_userdir.res"
+ -@erase "$(INTDIR)\mod_userdir_src.idb"
+ -@erase "$(INTDIR)\mod_userdir_src.pdb"
+ -@erase "$(OUTDIR)\mod_userdir.exp"
+ -@erase "$(OUTDIR)\mod_userdir.lib"
+ -@erase "$(OUTDIR)\mod_userdir.pdb"
+ -@erase "$(OUTDIR)\mod_userdir.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_userdir_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_userdir.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_userdir.so" /d LONG_NAME="userdir_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_userdir.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_userdir.pdb" /debug /out:"$(OUTDIR)\mod_userdir.so" /implib:"$(OUTDIR)\mod_userdir.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_userdir.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_userdir.obj" \
+ "$(INTDIR)\mod_userdir.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_userdir.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_userdir.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_userdir.so"
+ if exist .\Release\mod_userdir.so.manifest mt.exe -manifest .\Release\mod_userdir.so.manifest -outputresource:.\Release\mod_userdir.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_userdir - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_userdir.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_userdir.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_userdir.obj"
+ -@erase "$(INTDIR)\mod_userdir.res"
+ -@erase "$(INTDIR)\mod_userdir_src.idb"
+ -@erase "$(INTDIR)\mod_userdir_src.pdb"
+ -@erase "$(OUTDIR)\mod_userdir.exp"
+ -@erase "$(OUTDIR)\mod_userdir.lib"
+ -@erase "$(OUTDIR)\mod_userdir.pdb"
+ -@erase "$(OUTDIR)\mod_userdir.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_userdir_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_userdir.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_userdir.so" /d LONG_NAME="userdir_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_userdir.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_userdir.pdb" /debug /out:"$(OUTDIR)\mod_userdir.so" /implib:"$(OUTDIR)\mod_userdir.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_userdir.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_userdir.obj" \
+ "$(INTDIR)\mod_userdir.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_userdir.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_userdir.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_userdir.so"
+ if exist .\Debug\mod_userdir.so.manifest mt.exe -manifest .\Debug\mod_userdir.so.manifest -outputresource:.\Debug\mod_userdir.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_userdir.dep")
+!INCLUDE "mod_userdir.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_userdir.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_userdir - Win32 Release" || "$(CFG)" == "mod_userdir - Win32 Debug"
+
+!IF "$(CFG)" == "mod_userdir - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_userdir - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_userdir - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_userdir - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_userdir - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_userdir - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_userdir - Win32 Release"
+
+
+"$(INTDIR)\mod_userdir.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_userdir.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_userdir.so" /d LONG_NAME="userdir_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_userdir - Win32 Debug"
+
+
+"$(INTDIR)\mod_userdir.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_userdir.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_userdir.so" /d LONG_NAME="userdir_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_userdir.c
+
+"$(INTDIR)\mod_userdir.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/mappers/mod_vhost_alias.dep b/modules/mappers/mod_vhost_alias.dep
new file mode 100644
index 00000000..f2ddbe01
--- /dev/null
+++ b/modules/mappers/mod_vhost_alias.dep
@@ -0,0 +1,28 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_vhost_alias.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_vhost_alias.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/mappers/mod_vhost_alias.mak b/modules/mappers/mod_vhost_alias.mak
new file mode 100644
index 00000000..ba0942d4
--- /dev/null
+++ b/modules/mappers/mod_vhost_alias.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_vhost_alias.dsp
+!IF "$(CFG)" == ""
+CFG=mod_vhost_alias - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_vhost_alias - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_vhost_alias - Win32 Release" && "$(CFG)" != "mod_vhost_alias - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_vhost_alias.mak" CFG="mod_vhost_alias - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_vhost_alias - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_vhost_alias - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_vhost_alias - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_vhost_alias.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_vhost_alias.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_vhost_alias.obj"
+ -@erase "$(INTDIR)\mod_vhost_alias.res"
+ -@erase "$(INTDIR)\mod_vhost_alias_src.idb"
+ -@erase "$(INTDIR)\mod_vhost_alias_src.pdb"
+ -@erase "$(OUTDIR)\mod_vhost_alias.exp"
+ -@erase "$(OUTDIR)\mod_vhost_alias.lib"
+ -@erase "$(OUTDIR)\mod_vhost_alias.pdb"
+ -@erase "$(OUTDIR)\mod_vhost_alias.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_vhost_alias_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_vhost_alias.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_vhost_alias.so" /d LONG_NAME="vhost_alias_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_vhost_alias.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_vhost_alias.pdb" /debug /out:"$(OUTDIR)\mod_vhost_alias.so" /implib:"$(OUTDIR)\mod_vhost_alias.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_vhost_alias.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_vhost_alias.obj" \
+ "$(INTDIR)\mod_vhost_alias.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_vhost_alias.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_vhost_alias.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_vhost_alias.so"
+ if exist .\Release\mod_vhost_alias.so.manifest mt.exe -manifest .\Release\mod_vhost_alias.so.manifest -outputresource:.\Release\mod_vhost_alias.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_vhost_alias - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_vhost_alias.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_vhost_alias.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_vhost_alias.obj"
+ -@erase "$(INTDIR)\mod_vhost_alias.res"
+ -@erase "$(INTDIR)\mod_vhost_alias_src.idb"
+ -@erase "$(INTDIR)\mod_vhost_alias_src.pdb"
+ -@erase "$(OUTDIR)\mod_vhost_alias.exp"
+ -@erase "$(OUTDIR)\mod_vhost_alias.lib"
+ -@erase "$(OUTDIR)\mod_vhost_alias.pdb"
+ -@erase "$(OUTDIR)\mod_vhost_alias.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_vhost_alias_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_vhost_alias.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_vhost_alias.so" /d LONG_NAME="vhost_alias_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_vhost_alias.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_vhost_alias.pdb" /debug /out:"$(OUTDIR)\mod_vhost_alias.so" /implib:"$(OUTDIR)\mod_vhost_alias.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_vhost_alias.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_vhost_alias.obj" \
+ "$(INTDIR)\mod_vhost_alias.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_vhost_alias.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_vhost_alias.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_vhost_alias.so"
+ if exist .\Debug\mod_vhost_alias.so.manifest mt.exe -manifest .\Debug\mod_vhost_alias.so.manifest -outputresource:.\Debug\mod_vhost_alias.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_vhost_alias.dep")
+!INCLUDE "mod_vhost_alias.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_vhost_alias.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_vhost_alias - Win32 Release" || "$(CFG)" == "mod_vhost_alias - Win32 Debug"
+
+!IF "$(CFG)" == "mod_vhost_alias - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_vhost_alias - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_vhost_alias - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_vhost_alias - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\mappers"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\mappers"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_vhost_alias - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ELSEIF "$(CFG)" == "mod_vhost_alias - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\mappers"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\mappers"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_vhost_alias - Win32 Release"
+
+
+"$(INTDIR)\mod_vhost_alias.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_vhost_alias.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_vhost_alias.so" /d LONG_NAME="vhost_alias_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_vhost_alias - Win32 Debug"
+
+
+"$(INTDIR)\mod_vhost_alias.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_vhost_alias.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_vhost_alias.so" /d LONG_NAME="vhost_alias_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_vhost_alias.c
+
+"$(INTDIR)\mod_vhost_alias.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/metadata/NWGNUcernmeta b/modules/metadata/NWGNUcernmeta
index f7d65cbf..d3e2a81f 100644
--- a/modules/metadata/NWGNUcernmeta
+++ b/modules/metadata/NWGNUcernmeta
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = CERN Meta Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/metadata/NWGNUexpires b/modules/metadata/NWGNUexpires
index e6c9a715..a2b523b0 100644
--- a/modules/metadata/NWGNUexpires
+++ b/modules/metadata/NWGNUexpires
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = Expires Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/metadata/NWGNUheaders b/modules/metadata/NWGNUheaders
index d68f2967..aa08b36d 100644
--- a/modules/metadata/NWGNUheaders
+++ b/modules/metadata/NWGNUheaders
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,13 +16,11 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
- $(AP_WORK)/modules/ssl \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(STDMOD)/ssl \
$(EOLIST)
#
@@ -110,7 +108,7 @@ NLM_THREAD_NAME = Headers Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -123,12 +121,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -138,7 +136,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -173,7 +171,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -204,8 +202,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -233,7 +231,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -246,6 +244,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/metadata/NWGNUmakefile b/modules/metadata/NWGNUmakefile
index b9361aec..af837a03 100644
--- a/modules/metadata/NWGNUmakefile
+++ b/modules/metadata/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -112,7 +112,7 @@ NLM_THREAD_NAME =
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -234,10 +234,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -248,6 +248,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/metadata/NWGNUmimemagi b/modules/metadata/NWGNUmimemagi
index e7c6daad..25d42e3b 100644
--- a/modules/metadata/NWGNUmimemagi
+++ b/modules/metadata/NWGNUmimemagi
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = minemagic Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/metadata/NWGNUmodident b/modules/metadata/NWGNUmodident
index dc7ef408..98d8b368 100644
--- a/modules/metadata/NWGNUmodident
+++ b/modules/metadata/NWGNUmodident
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = Mod_Ident Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/metadata/NWGNUmodversion b/modules/metadata/NWGNUmodversion
index eab2d11e..02eab267 100644
--- a/modules/metadata/NWGNUmodversion
+++ b/modules/metadata/NWGNUmodversion
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = Version Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/metadata/NWGNUuniqueid b/modules/metadata/NWGNUuniqueid
index 0e4058c2..290b8903 100644
--- a/modules/metadata/NWGNUuniqueid
+++ b/modules/metadata/NWGNUuniqueid
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = Unique ID Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -173,7 +171,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -204,8 +202,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -239,7 +237,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -254,6 +252,6 @@ vpath %.c ../arch/netware
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/metadata/NWGNUusertrk b/modules/metadata/NWGNUusertrk
index 450bf652..d9452dd0 100644
--- a/modules/metadata/NWGNUusertrk
+++ b/modules/metadata/NWGNUusertrk
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,12 +16,10 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
$(EOLIST)
#
@@ -109,7 +107,7 @@ NLM_THREAD_NAME = User Track Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -122,12 +120,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,7 +135,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -172,7 +170,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -203,8 +201,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -232,7 +230,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -245,6 +243,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/metadata/mod_cern_meta.dep b/modules/metadata/mod_cern_meta.dep
new file mode 100644
index 00000000..b5b0f974
--- /dev/null
+++ b/modules/metadata/mod_cern_meta.dep
@@ -0,0 +1,29 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_cern_meta.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_cern_meta.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/metadata/mod_cern_meta.mak b/modules/metadata/mod_cern_meta.mak
new file mode 100644
index 00000000..81aa942b
--- /dev/null
+++ b/modules/metadata/mod_cern_meta.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_cern_meta.dsp
+!IF "$(CFG)" == ""
+CFG=mod_cern_meta - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_cern_meta - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_cern_meta - Win32 Release" && "$(CFG)" != "mod_cern_meta - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_cern_meta.mak" CFG="mod_cern_meta - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_cern_meta - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_cern_meta - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_cern_meta - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_cern_meta.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_cern_meta.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_cern_meta.obj"
+ -@erase "$(INTDIR)\mod_cern_meta.res"
+ -@erase "$(INTDIR)\mod_cern_meta_src.idb"
+ -@erase "$(INTDIR)\mod_cern_meta_src.pdb"
+ -@erase "$(OUTDIR)\mod_cern_meta.exp"
+ -@erase "$(OUTDIR)\mod_cern_meta.lib"
+ -@erase "$(OUTDIR)\mod_cern_meta.pdb"
+ -@erase "$(OUTDIR)\mod_cern_meta.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_cern_meta_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_cern_meta.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_cern_meta.so" /d LONG_NAME="cern_meta_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_cern_meta.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_cern_meta.pdb" /debug /out:"$(OUTDIR)\mod_cern_meta.so" /implib:"$(OUTDIR)\mod_cern_meta.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_cern_meta.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_cern_meta.obj" \
+ "$(INTDIR)\mod_cern_meta.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_cern_meta.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_cern_meta.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_cern_meta.so"
+ if exist .\Release\mod_cern_meta.so.manifest mt.exe -manifest .\Release\mod_cern_meta.so.manifest -outputresource:.\Release\mod_cern_meta.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_cern_meta - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_cern_meta.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_cern_meta.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_cern_meta.obj"
+ -@erase "$(INTDIR)\mod_cern_meta.res"
+ -@erase "$(INTDIR)\mod_cern_meta_src.idb"
+ -@erase "$(INTDIR)\mod_cern_meta_src.pdb"
+ -@erase "$(OUTDIR)\mod_cern_meta.exp"
+ -@erase "$(OUTDIR)\mod_cern_meta.lib"
+ -@erase "$(OUTDIR)\mod_cern_meta.pdb"
+ -@erase "$(OUTDIR)\mod_cern_meta.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_cern_meta_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_cern_meta.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_cern_meta.so" /d LONG_NAME="cern_meta_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_cern_meta.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_cern_meta.pdb" /debug /out:"$(OUTDIR)\mod_cern_meta.so" /implib:"$(OUTDIR)\mod_cern_meta.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_cern_meta.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_cern_meta.obj" \
+ "$(INTDIR)\mod_cern_meta.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_cern_meta.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_cern_meta.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_cern_meta.so"
+ if exist .\Debug\mod_cern_meta.so.manifest mt.exe -manifest .\Debug\mod_cern_meta.so.manifest -outputresource:.\Debug\mod_cern_meta.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_cern_meta.dep")
+!INCLUDE "mod_cern_meta.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_cern_meta.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_cern_meta - Win32 Release" || "$(CFG)" == "mod_cern_meta - Win32 Debug"
+
+!IF "$(CFG)" == "mod_cern_meta - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_cern_meta - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_cern_meta - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_cern_meta - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_cern_meta - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_cern_meta - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_cern_meta - Win32 Release"
+
+
+"$(INTDIR)\mod_cern_meta.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_cern_meta.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_cern_meta.so" /d LONG_NAME="cern_meta_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_cern_meta - Win32 Debug"
+
+
+"$(INTDIR)\mod_cern_meta.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_cern_meta.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_cern_meta.so" /d LONG_NAME="cern_meta_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_cern_meta.c
+
+"$(INTDIR)\mod_cern_meta.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/metadata/mod_env.dep b/modules/metadata/mod_env.dep
new file mode 100644
index 00000000..389284d5
--- /dev/null
+++ b/modules/metadata/mod_env.dep
@@ -0,0 +1,25 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_env.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_env.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/metadata/mod_env.mak b/modules/metadata/mod_env.mak
new file mode 100644
index 00000000..f5b114a5
--- /dev/null
+++ b/modules/metadata/mod_env.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_env.dsp
+!IF "$(CFG)" == ""
+CFG=mod_env - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_env - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_env - Win32 Release" && "$(CFG)" != "mod_env - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_env.mak" CFG="mod_env - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_env - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_env - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_env - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_env.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_env.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_env.obj"
+ -@erase "$(INTDIR)\mod_env.res"
+ -@erase "$(INTDIR)\mod_env_src.idb"
+ -@erase "$(INTDIR)\mod_env_src.pdb"
+ -@erase "$(OUTDIR)\mod_env.exp"
+ -@erase "$(OUTDIR)\mod_env.lib"
+ -@erase "$(OUTDIR)\mod_env.pdb"
+ -@erase "$(OUTDIR)\mod_env.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_env_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_env.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_env.so" /d LONG_NAME="env_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_env.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_env.pdb" /debug /out:"$(OUTDIR)\mod_env.so" /implib:"$(OUTDIR)\mod_env.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_env.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_env.obj" \
+ "$(INTDIR)\mod_env.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_env.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_env.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_env.so"
+ if exist .\Release\mod_env.so.manifest mt.exe -manifest .\Release\mod_env.so.manifest -outputresource:.\Release\mod_env.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_env - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_env.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_env.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_env.obj"
+ -@erase "$(INTDIR)\mod_env.res"
+ -@erase "$(INTDIR)\mod_env_src.idb"
+ -@erase "$(INTDIR)\mod_env_src.pdb"
+ -@erase "$(OUTDIR)\mod_env.exp"
+ -@erase "$(OUTDIR)\mod_env.lib"
+ -@erase "$(OUTDIR)\mod_env.pdb"
+ -@erase "$(OUTDIR)\mod_env.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_env_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_env.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_env.so" /d LONG_NAME="env_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_env.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_env.pdb" /debug /out:"$(OUTDIR)\mod_env.so" /implib:"$(OUTDIR)\mod_env.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_env.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_env.obj" \
+ "$(INTDIR)\mod_env.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_env.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_env.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_env.so"
+ if exist .\Debug\mod_env.so.manifest mt.exe -manifest .\Debug\mod_env.so.manifest -outputresource:.\Debug\mod_env.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_env.dep")
+!INCLUDE "mod_env.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_env.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_env - Win32 Release" || "$(CFG)" == "mod_env - Win32 Debug"
+
+!IF "$(CFG)" == "mod_env - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_env - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_env - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_env - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_env - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_env - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_env - Win32 Release"
+
+
+"$(INTDIR)\mod_env.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_env.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_env.so" /d LONG_NAME="env_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_env - Win32 Debug"
+
+
+"$(INTDIR)\mod_env.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_env.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_env.so" /d LONG_NAME="env_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_env.c
+
+"$(INTDIR)\mod_env.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/metadata/mod_expires.dep b/modules/metadata/mod_expires.dep
new file mode 100644
index 00000000..3f21bb04
--- /dev/null
+++ b/modules/metadata/mod_expires.dep
@@ -0,0 +1,28 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_expires.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_expires.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/metadata/mod_expires.mak b/modules/metadata/mod_expires.mak
new file mode 100644
index 00000000..ad4bd252
--- /dev/null
+++ b/modules/metadata/mod_expires.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_expires.dsp
+!IF "$(CFG)" == ""
+CFG=mod_expires - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_expires - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_expires - Win32 Release" && "$(CFG)" != "mod_expires - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_expires.mak" CFG="mod_expires - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_expires - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_expires - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_expires - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_expires.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_expires.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_expires.obj"
+ -@erase "$(INTDIR)\mod_expires.res"
+ -@erase "$(INTDIR)\mod_expires_src.idb"
+ -@erase "$(INTDIR)\mod_expires_src.pdb"
+ -@erase "$(OUTDIR)\mod_expires.exp"
+ -@erase "$(OUTDIR)\mod_expires.lib"
+ -@erase "$(OUTDIR)\mod_expires.pdb"
+ -@erase "$(OUTDIR)\mod_expires.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_expires_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_expires.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_expires.so" /d LONG_NAME="expires_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_expires.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_expires.pdb" /debug /out:"$(OUTDIR)\mod_expires.so" /implib:"$(OUTDIR)\mod_expires.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_expires.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_expires.obj" \
+ "$(INTDIR)\mod_expires.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_expires.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_expires.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_expires.so"
+ if exist .\Release\mod_expires.so.manifest mt.exe -manifest .\Release\mod_expires.so.manifest -outputresource:.\Release\mod_expires.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_expires - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_expires.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_expires.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_expires.obj"
+ -@erase "$(INTDIR)\mod_expires.res"
+ -@erase "$(INTDIR)\mod_expires_src.idb"
+ -@erase "$(INTDIR)\mod_expires_src.pdb"
+ -@erase "$(OUTDIR)\mod_expires.exp"
+ -@erase "$(OUTDIR)\mod_expires.lib"
+ -@erase "$(OUTDIR)\mod_expires.pdb"
+ -@erase "$(OUTDIR)\mod_expires.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_expires_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_expires.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_expires.so" /d LONG_NAME="expires_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_expires.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_expires.pdb" /debug /out:"$(OUTDIR)\mod_expires.so" /implib:"$(OUTDIR)\mod_expires.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_expires.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_expires.obj" \
+ "$(INTDIR)\mod_expires.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_expires.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_expires.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_expires.so"
+ if exist .\Debug\mod_expires.so.manifest mt.exe -manifest .\Debug\mod_expires.so.manifest -outputresource:.\Debug\mod_expires.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_expires.dep")
+!INCLUDE "mod_expires.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_expires.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_expires - Win32 Release" || "$(CFG)" == "mod_expires - Win32 Debug"
+
+!IF "$(CFG)" == "mod_expires - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_expires - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_expires - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_expires - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_expires - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_expires - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_expires - Win32 Release"
+
+
+"$(INTDIR)\mod_expires.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_expires.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_expires.so" /d LONG_NAME="expires_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_expires - Win32 Debug"
+
+
+"$(INTDIR)\mod_expires.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_expires.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_expires.so" /d LONG_NAME="expires_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_expires.c
+
+"$(INTDIR)\mod_expires.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/metadata/mod_headers.dep b/modules/metadata/mod_headers.dep
new file mode 100644
index 00000000..8f6df404
--- /dev/null
+++ b/modules/metadata/mod_headers.dep
@@ -0,0 +1,31 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_headers.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_headers.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\ssl\mod_ssl.h"\
+
diff --git a/modules/metadata/mod_headers.mak b/modules/metadata/mod_headers.mak
new file mode 100644
index 00000000..25c0ce7d
--- /dev/null
+++ b/modules/metadata/mod_headers.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_headers.dsp
+!IF "$(CFG)" == ""
+CFG=mod_headers - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_headers - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_headers - Win32 Release" && "$(CFG)" != "mod_headers - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_headers.mak" CFG="mod_headers - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_headers - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_headers - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_headers - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_headers.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_headers.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_headers.obj"
+ -@erase "$(INTDIR)\mod_headers.res"
+ -@erase "$(INTDIR)\mod_headers_src.idb"
+ -@erase "$(INTDIR)\mod_headers_src.pdb"
+ -@erase "$(OUTDIR)\mod_headers.exp"
+ -@erase "$(OUTDIR)\mod_headers.lib"
+ -@erase "$(OUTDIR)\mod_headers.pdb"
+ -@erase "$(OUTDIR)\mod_headers.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../ssl" /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_headers_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_headers.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_headers.so" /d LONG_NAME="headers_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_headers.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_headers.pdb" /debug /out:"$(OUTDIR)\mod_headers.so" /implib:"$(OUTDIR)\mod_headers.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_headers.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_headers.obj" \
+ "$(INTDIR)\mod_headers.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_headers.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_headers.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_headers.so"
+ if exist .\Release\mod_headers.so.manifest mt.exe -manifest .\Release\mod_headers.so.manifest -outputresource:.\Release\mod_headers.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_headers - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_headers.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_headers.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_headers.obj"
+ -@erase "$(INTDIR)\mod_headers.res"
+ -@erase "$(INTDIR)\mod_headers_src.idb"
+ -@erase "$(INTDIR)\mod_headers_src.pdb"
+ -@erase "$(OUTDIR)\mod_headers.exp"
+ -@erase "$(OUTDIR)\mod_headers.lib"
+ -@erase "$(OUTDIR)\mod_headers.pdb"
+ -@erase "$(OUTDIR)\mod_headers.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../ssl" /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_headers_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_headers.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_headers.so" /d LONG_NAME="headers_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_headers.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_headers.pdb" /debug /out:"$(OUTDIR)\mod_headers.so" /implib:"$(OUTDIR)\mod_headers.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_headers.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_headers.obj" \
+ "$(INTDIR)\mod_headers.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_headers.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_headers.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_headers.so"
+ if exist .\Debug\mod_headers.so.manifest mt.exe -manifest .\Debug\mod_headers.so.manifest -outputresource:.\Debug\mod_headers.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_headers.dep")
+!INCLUDE "mod_headers.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_headers.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_headers - Win32 Release" || "$(CFG)" == "mod_headers - Win32 Debug"
+
+!IF "$(CFG)" == "mod_headers - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_headers - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_headers - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_headers - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_headers - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_headers - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_headers - Win32 Release"
+
+
+"$(INTDIR)\mod_headers.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_headers.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_headers.so" /d LONG_NAME="headers_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_headers - Win32 Debug"
+
+
+"$(INTDIR)\mod_headers.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_headers.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_headers.so" /d LONG_NAME="headers_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_headers.c
+
+"$(INTDIR)\mod_headers.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/metadata/mod_ident.dep b/modules/metadata/mod_ident.dep
new file mode 100644
index 00000000..eeddfa4d
--- /dev/null
+++ b/modules/metadata/mod_ident.dep
@@ -0,0 +1,29 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_ident.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_ident.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/metadata/mod_ident.mak b/modules/metadata/mod_ident.mak
new file mode 100644
index 00000000..5951a355
--- /dev/null
+++ b/modules/metadata/mod_ident.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_ident.dsp
+!IF "$(CFG)" == ""
+CFG=mod_ident - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_ident - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_ident - Win32 Release" && "$(CFG)" != "mod_ident - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_ident.mak" CFG="mod_ident - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_ident - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_ident - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_ident - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_ident.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_ident.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_ident.obj"
+ -@erase "$(INTDIR)\mod_ident.res"
+ -@erase "$(INTDIR)\mod_ident_src.idb"
+ -@erase "$(INTDIR)\mod_ident_src.pdb"
+ -@erase "$(OUTDIR)\mod_ident.exp"
+ -@erase "$(OUTDIR)\mod_ident.lib"
+ -@erase "$(OUTDIR)\mod_ident.pdb"
+ -@erase "$(OUTDIR)\mod_ident.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_ident_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_ident.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_ident.so" /d LONG_NAME="ident_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_ident.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_ident.pdb" /debug /out:"$(OUTDIR)\mod_ident.so" /implib:"$(OUTDIR)\mod_ident.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_ident.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_ident.obj" \
+ "$(INTDIR)\mod_ident.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_ident.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_ident.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_ident.so"
+ if exist .\Release\mod_ident.so.manifest mt.exe -manifest .\Release\mod_ident.so.manifest -outputresource:.\Release\mod_ident.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_ident - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_ident.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_ident.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_ident.obj"
+ -@erase "$(INTDIR)\mod_ident.res"
+ -@erase "$(INTDIR)\mod_ident_src.idb"
+ -@erase "$(INTDIR)\mod_ident_src.pdb"
+ -@erase "$(OUTDIR)\mod_ident.exp"
+ -@erase "$(OUTDIR)\mod_ident.lib"
+ -@erase "$(OUTDIR)\mod_ident.pdb"
+ -@erase "$(OUTDIR)\mod_ident.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_ident_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_ident.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_ident.so" /d LONG_NAME="ident_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_ident.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_ident.pdb" /debug /out:"$(OUTDIR)\mod_ident.so" /implib:"$(OUTDIR)\mod_ident.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_ident.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_ident.obj" \
+ "$(INTDIR)\mod_ident.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_ident.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_ident.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_ident.so"
+ if exist .\Debug\mod_ident.so.manifest mt.exe -manifest .\Debug\mod_ident.so.manifest -outputresource:.\Debug\mod_ident.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_ident.dep")
+!INCLUDE "mod_ident.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_ident.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_ident - Win32 Release" || "$(CFG)" == "mod_ident - Win32 Debug"
+
+!IF "$(CFG)" == "mod_ident - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_ident - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_ident - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_ident - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_ident - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_ident - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_ident - Win32 Release"
+
+
+"$(INTDIR)\mod_ident.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_ident.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_ident.so" /d LONG_NAME="ident_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_ident - Win32 Debug"
+
+
+"$(INTDIR)\mod_ident.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_ident.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_ident.so" /d LONG_NAME="ident_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_ident.c
+
+"$(INTDIR)\mod_ident.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/metadata/mod_mime_magic.dep b/modules/metadata/mod_mime_magic.dep
new file mode 100644
index 00000000..dc338ae8
--- /dev/null
+++ b/modules/metadata/mod_mime_magic.dep
@@ -0,0 +1,32 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_mime_magic.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_mime_magic.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/metadata/mod_mime_magic.mak b/modules/metadata/mod_mime_magic.mak
new file mode 100644
index 00000000..01d18493
--- /dev/null
+++ b/modules/metadata/mod_mime_magic.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_mime_magic.dsp
+!IF "$(CFG)" == ""
+CFG=mod_mime_magic - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_mime_magic - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_mime_magic - Win32 Release" && "$(CFG)" != "mod_mime_magic - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_mime_magic.mak" CFG="mod_mime_magic - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_mime_magic - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_mime_magic - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_mime_magic - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_mime_magic.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_mime_magic.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_mime_magic.obj"
+ -@erase "$(INTDIR)\mod_mime_magic.res"
+ -@erase "$(INTDIR)\mod_mime_magic_src.idb"
+ -@erase "$(INTDIR)\mod_mime_magic_src.pdb"
+ -@erase "$(OUTDIR)\mod_mime_magic.exp"
+ -@erase "$(OUTDIR)\mod_mime_magic.lib"
+ -@erase "$(OUTDIR)\mod_mime_magic.pdb"
+ -@erase "$(OUTDIR)\mod_mime_magic.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_mime_magic_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_mime_magic.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_mime_magic.so" /d LONG_NAME="mime_magic_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_mime_magic.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_mime_magic.pdb" /debug /out:"$(OUTDIR)\mod_mime_magic.so" /implib:"$(OUTDIR)\mod_mime_magic.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_mime_magic.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_mime_magic.obj" \
+ "$(INTDIR)\mod_mime_magic.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_mime_magic.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_mime_magic.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_mime_magic.so"
+ if exist .\Release\mod_mime_magic.so.manifest mt.exe -manifest .\Release\mod_mime_magic.so.manifest -outputresource:.\Release\mod_mime_magic.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_mime_magic - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_mime_magic.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_mime_magic.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_mime_magic.obj"
+ -@erase "$(INTDIR)\mod_mime_magic.res"
+ -@erase "$(INTDIR)\mod_mime_magic_src.idb"
+ -@erase "$(INTDIR)\mod_mime_magic_src.pdb"
+ -@erase "$(OUTDIR)\mod_mime_magic.exp"
+ -@erase "$(OUTDIR)\mod_mime_magic.lib"
+ -@erase "$(OUTDIR)\mod_mime_magic.pdb"
+ -@erase "$(OUTDIR)\mod_mime_magic.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_mime_magic_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_mime_magic.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_mime_magic.so" /d LONG_NAME="mime_magic_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_mime_magic.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_mime_magic.pdb" /debug /out:"$(OUTDIR)\mod_mime_magic.so" /implib:"$(OUTDIR)\mod_mime_magic.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_mime_magic.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_mime_magic.obj" \
+ "$(INTDIR)\mod_mime_magic.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_mime_magic.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_mime_magic.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_mime_magic.so"
+ if exist .\Debug\mod_mime_magic.so.manifest mt.exe -manifest .\Debug\mod_mime_magic.so.manifest -outputresource:.\Debug\mod_mime_magic.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_mime_magic.dep")
+!INCLUDE "mod_mime_magic.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_mime_magic.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_mime_magic - Win32 Release" || "$(CFG)" == "mod_mime_magic - Win32 Debug"
+
+!IF "$(CFG)" == "mod_mime_magic - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_mime_magic - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_mime_magic - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_mime_magic - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_mime_magic - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_mime_magic - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_mime_magic - Win32 Release"
+
+
+"$(INTDIR)\mod_mime_magic.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_mime_magic.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_mime_magic.so" /d LONG_NAME="mime_magic_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_mime_magic - Win32 Debug"
+
+
+"$(INTDIR)\mod_mime_magic.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_mime_magic.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_mime_magic.so" /d LONG_NAME="mime_magic_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_mime_magic.c
+
+"$(INTDIR)\mod_mime_magic.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/metadata/mod_setenvif.dep b/modules/metadata/mod_setenvif.dep
new file mode 100644
index 00000000..542ea405
--- /dev/null
+++ b/modules/metadata/mod_setenvif.dep
@@ -0,0 +1,30 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_setenvif.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_setenvif.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_strmatch.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/metadata/mod_setenvif.mak b/modules/metadata/mod_setenvif.mak
new file mode 100644
index 00000000..1fcfab04
--- /dev/null
+++ b/modules/metadata/mod_setenvif.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_setenvif.dsp
+!IF "$(CFG)" == ""
+CFG=mod_setenvif - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_setenvif - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_setenvif - Win32 Release" && "$(CFG)" != "mod_setenvif - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_setenvif.mak" CFG="mod_setenvif - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_setenvif - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_setenvif - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_setenvif - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_setenvif.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_setenvif.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_setenvif.obj"
+ -@erase "$(INTDIR)\mod_setenvif.res"
+ -@erase "$(INTDIR)\mod_setenvif_src.idb"
+ -@erase "$(INTDIR)\mod_setenvif_src.pdb"
+ -@erase "$(OUTDIR)\mod_setenvif.exp"
+ -@erase "$(OUTDIR)\mod_setenvif.lib"
+ -@erase "$(OUTDIR)\mod_setenvif.pdb"
+ -@erase "$(OUTDIR)\mod_setenvif.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../ssl" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_setenvif_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_setenvif.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_setenvif.so" /d LONG_NAME="setenvif_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_setenvif.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_setenvif.pdb" /debug /out:"$(OUTDIR)\mod_setenvif.so" /implib:"$(OUTDIR)\mod_setenvif.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_setenvif.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_setenvif.obj" \
+ "$(INTDIR)\mod_setenvif.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_setenvif.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_setenvif.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_setenvif.so"
+ if exist .\Release\mod_setenvif.so.manifest mt.exe -manifest .\Release\mod_setenvif.so.manifest -outputresource:.\Release\mod_setenvif.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_setenvif - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_setenvif.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_setenvif.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_setenvif.obj"
+ -@erase "$(INTDIR)\mod_setenvif.res"
+ -@erase "$(INTDIR)\mod_setenvif_src.idb"
+ -@erase "$(INTDIR)\mod_setenvif_src.pdb"
+ -@erase "$(OUTDIR)\mod_setenvif.exp"
+ -@erase "$(OUTDIR)\mod_setenvif.lib"
+ -@erase "$(OUTDIR)\mod_setenvif.pdb"
+ -@erase "$(OUTDIR)\mod_setenvif.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../ssl" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_setenvif_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_setenvif.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_setenvif.so" /d LONG_NAME="setenvif_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_setenvif.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_setenvif.pdb" /debug /out:"$(OUTDIR)\mod_setenvif.so" /implib:"$(OUTDIR)\mod_setenvif.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_setenvif.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_setenvif.obj" \
+ "$(INTDIR)\mod_setenvif.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_setenvif.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_setenvif.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_setenvif.so"
+ if exist .\Debug\mod_setenvif.so.manifest mt.exe -manifest .\Debug\mod_setenvif.so.manifest -outputresource:.\Debug\mod_setenvif.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_setenvif.dep")
+!INCLUDE "mod_setenvif.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_setenvif.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_setenvif - Win32 Release" || "$(CFG)" == "mod_setenvif - Win32 Debug"
+
+!IF "$(CFG)" == "mod_setenvif - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_setenvif - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_setenvif - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_setenvif - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_setenvif - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_setenvif - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_setenvif - Win32 Release"
+
+
+"$(INTDIR)\mod_setenvif.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_setenvif.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_setenvif.so" /d LONG_NAME="setenvif_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_setenvif - Win32 Debug"
+
+
+"$(INTDIR)\mod_setenvif.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_setenvif.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_setenvif.so" /d LONG_NAME="setenvif_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_setenvif.c
+
+"$(INTDIR)\mod_setenvif.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/metadata/mod_unique_id.dep b/modules/metadata/mod_unique_id.dep
new file mode 100644
index 00000000..c1067025
--- /dev/null
+++ b/modules/metadata/mod_unique_id.dep
@@ -0,0 +1,25 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_unique_id.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_unique_id.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+
diff --git a/modules/metadata/mod_unique_id.mak b/modules/metadata/mod_unique_id.mak
new file mode 100644
index 00000000..37567d96
--- /dev/null
+++ b/modules/metadata/mod_unique_id.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_unique_id.dsp
+!IF "$(CFG)" == ""
+CFG=mod_unique_id - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_unique_id - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_unique_id - Win32 Release" && "$(CFG)" != "mod_unique_id - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_unique_id.mak" CFG="mod_unique_id - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_unique_id - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_unique_id - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_unique_id - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_unique_id.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_unique_id.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_unique_id.obj"
+ -@erase "$(INTDIR)\mod_unique_id.res"
+ -@erase "$(INTDIR)\mod_unique_id_src.idb"
+ -@erase "$(INTDIR)\mod_unique_id_src.pdb"
+ -@erase "$(OUTDIR)\mod_unique_id.exp"
+ -@erase "$(OUTDIR)\mod_unique_id.lib"
+ -@erase "$(OUTDIR)\mod_unique_id.pdb"
+ -@erase "$(OUTDIR)\mod_unique_id.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_unique_id_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_unique_id.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_unique_id.so" /d LONG_NAME="unique_id_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_unique_id.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_unique_id.pdb" /debug /out:"$(OUTDIR)\mod_unique_id.so" /implib:"$(OUTDIR)\mod_unique_id.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_unique_id.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_unique_id.obj" \
+ "$(INTDIR)\mod_unique_id.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_unique_id.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_unique_id.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_unique_id.so"
+ if exist .\Release\mod_unique_id.so.manifest mt.exe -manifest .\Release\mod_unique_id.so.manifest -outputresource:.\Release\mod_unique_id.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_unique_id - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_unique_id.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_unique_id.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_unique_id.obj"
+ -@erase "$(INTDIR)\mod_unique_id.res"
+ -@erase "$(INTDIR)\mod_unique_id_src.idb"
+ -@erase "$(INTDIR)\mod_unique_id_src.pdb"
+ -@erase "$(OUTDIR)\mod_unique_id.exp"
+ -@erase "$(OUTDIR)\mod_unique_id.lib"
+ -@erase "$(OUTDIR)\mod_unique_id.pdb"
+ -@erase "$(OUTDIR)\mod_unique_id.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_unique_id_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_unique_id.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_unique_id.so" /d LONG_NAME="unique_id_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_unique_id.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_unique_id.pdb" /debug /out:"$(OUTDIR)\mod_unique_id.so" /implib:"$(OUTDIR)\mod_unique_id.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_unique_id.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_unique_id.obj" \
+ "$(INTDIR)\mod_unique_id.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_unique_id.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_unique_id.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_unique_id.so"
+ if exist .\Debug\mod_unique_id.so.manifest mt.exe -manifest .\Debug\mod_unique_id.so.manifest -outputresource:.\Debug\mod_unique_id.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_unique_id.dep")
+!INCLUDE "mod_unique_id.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_unique_id.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_unique_id - Win32 Release" || "$(CFG)" == "mod_unique_id - Win32 Debug"
+
+!IF "$(CFG)" == "mod_unique_id - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_unique_id - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_unique_id - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_unique_id - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_unique_id - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_unique_id - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_unique_id - Win32 Release"
+
+
+"$(INTDIR)\mod_unique_id.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_unique_id.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_unique_id.so" /d LONG_NAME="unique_id_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_unique_id - Win32 Debug"
+
+
+"$(INTDIR)\mod_unique_id.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_unique_id.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_unique_id.so" /d LONG_NAME="unique_id_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_unique_id.c
+
+"$(INTDIR)\mod_unique_id.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/metadata/mod_usertrack.dep b/modules/metadata/mod_usertrack.dep
new file mode 100644
index 00000000..c0f04f92
--- /dev/null
+++ b/modules/metadata/mod_usertrack.dep
@@ -0,0 +1,28 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_usertrack.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_usertrack.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/metadata/mod_usertrack.mak b/modules/metadata/mod_usertrack.mak
new file mode 100644
index 00000000..7c491353
--- /dev/null
+++ b/modules/metadata/mod_usertrack.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_usertrack.dsp
+!IF "$(CFG)" == ""
+CFG=mod_usertrack - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_usertrack - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_usertrack - Win32 Release" && "$(CFG)" != "mod_usertrack - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_usertrack.mak" CFG="mod_usertrack - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_usertrack - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_usertrack - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_usertrack - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_usertrack.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_usertrack.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_usertrack.obj"
+ -@erase "$(INTDIR)\mod_usertrack.res"
+ -@erase "$(INTDIR)\mod_usertrack_src.idb"
+ -@erase "$(INTDIR)\mod_usertrack_src.pdb"
+ -@erase "$(OUTDIR)\mod_usertrack.exp"
+ -@erase "$(OUTDIR)\mod_usertrack.lib"
+ -@erase "$(OUTDIR)\mod_usertrack.pdb"
+ -@erase "$(OUTDIR)\mod_usertrack.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_usertrack_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_usertrack.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_usertrack.so" /d LONG_NAME="usertrack_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_usertrack.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_usertrack.pdb" /debug /out:"$(OUTDIR)\mod_usertrack.so" /implib:"$(OUTDIR)\mod_usertrack.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_usertrack.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_usertrack.obj" \
+ "$(INTDIR)\mod_usertrack.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_usertrack.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_usertrack.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_usertrack.so"
+ if exist .\Release\mod_usertrack.so.manifest mt.exe -manifest .\Release\mod_usertrack.so.manifest -outputresource:.\Release\mod_usertrack.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_usertrack - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_usertrack.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_usertrack.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_usertrack.obj"
+ -@erase "$(INTDIR)\mod_usertrack.res"
+ -@erase "$(INTDIR)\mod_usertrack_src.idb"
+ -@erase "$(INTDIR)\mod_usertrack_src.pdb"
+ -@erase "$(OUTDIR)\mod_usertrack.exp"
+ -@erase "$(OUTDIR)\mod_usertrack.lib"
+ -@erase "$(OUTDIR)\mod_usertrack.pdb"
+ -@erase "$(OUTDIR)\mod_usertrack.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_usertrack_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_usertrack.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_usertrack.so" /d LONG_NAME="usertrack_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_usertrack.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_usertrack.pdb" /debug /out:"$(OUTDIR)\mod_usertrack.so" /implib:"$(OUTDIR)\mod_usertrack.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_usertrack.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_usertrack.obj" \
+ "$(INTDIR)\mod_usertrack.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_usertrack.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_usertrack.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_usertrack.so"
+ if exist .\Debug\mod_usertrack.so.manifest mt.exe -manifest .\Debug\mod_usertrack.so.manifest -outputresource:.\Debug\mod_usertrack.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_usertrack.dep")
+!INCLUDE "mod_usertrack.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_usertrack.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_usertrack - Win32 Release" || "$(CFG)" == "mod_usertrack - Win32 Debug"
+
+!IF "$(CFG)" == "mod_usertrack - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_usertrack - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_usertrack - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_usertrack - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_usertrack - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_usertrack - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_usertrack - Win32 Release"
+
+
+"$(INTDIR)\mod_usertrack.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_usertrack.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_usertrack.so" /d LONG_NAME="usertrack_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_usertrack - Win32 Debug"
+
+
+"$(INTDIR)\mod_usertrack.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_usertrack.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_usertrack.so" /d LONG_NAME="usertrack_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_usertrack.c
+
+"$(INTDIR)\mod_usertrack.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/metadata/mod_version.dep b/modules/metadata/mod_version.dep
new file mode 100644
index 00000000..999fb77c
--- /dev/null
+++ b/modules/metadata/mod_version.dep
@@ -0,0 +1,24 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_version.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
+
+.\mod_version.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+
diff --git a/modules/metadata/mod_version.mak b/modules/metadata/mod_version.mak
new file mode 100644
index 00000000..8e40489f
--- /dev/null
+++ b/modules/metadata/mod_version.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_version.dsp
+!IF "$(CFG)" == ""
+CFG=mod_version - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_version - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_version - Win32 Release" && "$(CFG)" != "mod_version - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_version.mak" CFG="mod_version - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_version - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_version - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_version - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_version.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_version.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_version.obj"
+ -@erase "$(INTDIR)\mod_version.res"
+ -@erase "$(INTDIR)\mod_version_src.idb"
+ -@erase "$(INTDIR)\mod_version_src.pdb"
+ -@erase "$(OUTDIR)\mod_version.exp"
+ -@erase "$(OUTDIR)\mod_version.lib"
+ -@erase "$(OUTDIR)\mod_version.pdb"
+ -@erase "$(OUTDIR)\mod_version.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_version_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_version.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_version.so" /d LONG_NAME="version_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_version.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_version.pdb" /debug /out:"$(OUTDIR)\mod_version.so" /implib:"$(OUTDIR)\mod_version.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_version.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_version.obj" \
+ "$(INTDIR)\mod_version.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_version.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_version.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_version.so"
+ if exist .\Release\mod_version.so.manifest mt.exe -manifest .\Release\mod_version.so.manifest -outputresource:.\Release\mod_version.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_version - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_version.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_version.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_version.obj"
+ -@erase "$(INTDIR)\mod_version.res"
+ -@erase "$(INTDIR)\mod_version_src.idb"
+ -@erase "$(INTDIR)\mod_version_src.pdb"
+ -@erase "$(OUTDIR)\mod_version.exp"
+ -@erase "$(OUTDIR)\mod_version.lib"
+ -@erase "$(OUTDIR)\mod_version.pdb"
+ -@erase "$(OUTDIR)\mod_version.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_version_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_version.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_version.so" /d LONG_NAME="version_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_version.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_version.pdb" /debug /out:"$(OUTDIR)\mod_version.so" /implib:"$(OUTDIR)\mod_version.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_version.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_version.obj" \
+ "$(INTDIR)\mod_version.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_version.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_version.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_version.so"
+ if exist .\Debug\mod_version.so.manifest mt.exe -manifest .\Debug\mod_version.so.manifest -outputresource:.\Debug\mod_version.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_version.dep")
+!INCLUDE "mod_version.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_version.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_version - Win32 Release" || "$(CFG)" == "mod_version - Win32 Debug"
+
+!IF "$(CFG)" == "mod_version - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_version - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_version - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_version - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\metadata"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\metadata"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_version - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ELSEIF "$(CFG)" == "mod_version - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\metadata"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\metadata"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_version - Win32 Release"
+
+
+"$(INTDIR)\mod_version.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_version.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_version.so" /d LONG_NAME="version_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_version - Win32 Debug"
+
+
+"$(INTDIR)\mod_version.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_version.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_version.so" /d LONG_NAME="version_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_version.c
+
+"$(INTDIR)\mod_version.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/proxy/NWGNUmakefile b/modules/proxy/NWGNUmakefile
index 311282e2..3408ad0d 100644
--- a/modules/proxy/NWGNUmakefile
+++ b/modules/proxy/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -111,7 +111,7 @@ NLM_THREAD_NAME =
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -232,10 +232,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
@@ -246,6 +246,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/proxy/NWGNUproxy b/modules/proxy/NWGNUproxy
index 4d3beee4..669baaf0 100644
--- a/modules/proxy/NWGNUproxy
+++ b/modules/proxy/NWGNUproxy
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,15 +16,13 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/http \
- $(AP_WORK)/modules/arch/netware \
- $(AP_WORK)/modules/ssl \
- $(AP_WORK)/modules/generators \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(HTTPD) \
+ $(STDMOD)/generators \
+ $(STDMOD)/ssl \
$(EOLIST)
#
@@ -112,7 +110,7 @@ NLM_THREAD_NAME = Proxy Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -125,12 +123,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -140,7 +138,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -177,7 +175,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -208,8 +206,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@libc.imp \
$(EOLIST)
@@ -243,7 +241,7 @@ nlms :: libs $(OBJDIR)/mod_proxy.imp $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -272,6 +270,6 @@ $(OBJDIR)/mod_proxy.imp:
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/proxy/NWGNUproxyajp b/modules/proxy/NWGNUproxyajp
index 446549f8..0ee5f866 100644
--- a/modules/proxy/NWGNUproxyajp
+++ b/modules/proxy/NWGNUproxyajp
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,13 +16,11 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/http \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(HTTPD) \
$(EOLIST)
#
@@ -110,7 +108,7 @@ NLM_THREAD_NAME = Proxy AJP Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -123,12 +121,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -138,7 +136,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -179,7 +177,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,8 +209,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@$(OBJDIR)/mod_proxy.imp \
@libc.imp \
$(EOLIST)
@@ -247,7 +245,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -262,6 +260,6 @@ vpath %.c ../arch/netware
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/proxy/NWGNUproxybalancer b/modules/proxy/NWGNUproxybalancer
index 7dc04b8e..287722fd 100644
--- a/modules/proxy/NWGNUproxybalancer
+++ b/modules/proxy/NWGNUproxybalancer
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,13 +16,11 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/http \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(HTTPD) \
$(EOLIST)
#
@@ -110,7 +108,7 @@ NLM_THREAD_NAME = Prxy Blncr Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -123,12 +121,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -138,7 +136,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -175,7 +173,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -207,8 +205,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@$(OBJDIR)/mod_proxy.imp \
@libc.imp \
$(EOLIST)
@@ -243,7 +241,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -258,6 +256,6 @@ vpath %.c ../arch/netware
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/proxy/NWGNUproxycon b/modules/proxy/NWGNUproxycon
index 4ce871cf..4d011bea 100644
--- a/modules/proxy/NWGNUproxycon
+++ b/modules/proxy/NWGNUproxycon
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,13 +16,11 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/http \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(HTTPD) \
$(EOLIST)
#
@@ -110,7 +108,7 @@ NLM_THREAD_NAME = Proxy Conn Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -123,12 +121,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -138,7 +136,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -174,7 +172,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -206,8 +204,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@$(OBJDIR)/mod_proxy.imp \
@libc.imp \
$(EOLIST)
@@ -236,7 +234,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -249,6 +247,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/proxy/NWGNUproxyftp b/modules/proxy/NWGNUproxyftp
index 653d9d7b..bd8677c3 100644
--- a/modules/proxy/NWGNUproxyftp
+++ b/modules/proxy/NWGNUproxyftp
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,13 +16,11 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/http \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(HTTPD) \
$(EOLIST)
#
@@ -110,7 +108,7 @@ NLM_THREAD_NAME = Proxy FTP Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -123,12 +121,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -138,7 +136,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -175,7 +173,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -207,8 +205,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@$(OBJDIR)/mod_proxy.imp \
@libc.imp \
$(EOLIST)
@@ -243,7 +241,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -258,6 +256,6 @@ vpath %.c ../arch/netware
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/proxy/NWGNUproxyhtp b/modules/proxy/NWGNUproxyhtp
index 21debea1..0bfebfe9 100644
--- a/modules/proxy/NWGNUproxyhtp
+++ b/modules/proxy/NWGNUproxyhtp
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,13 +16,11 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/http \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(HTTPD) \
$(EOLIST)
#
@@ -110,7 +108,7 @@ NLM_THREAD_NAME = Proxy HTTP Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -123,12 +121,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -138,7 +136,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -175,7 +173,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -207,8 +205,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@$(OBJDIR)/mod_proxy.imp \
@libc.imp \
$(EOLIST)
@@ -243,7 +241,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -258,6 +256,6 @@ vpath %.c ../arch/netware
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/proxy/NWGNUproxyscgi b/modules/proxy/NWGNUproxyscgi
index 4c51621f..cbfc2765 100644
--- a/modules/proxy/NWGNUproxyscgi
+++ b/modules/proxy/NWGNUproxyscgi
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -16,13 +16,11 @@ endif
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/include \
- $(NWOS) \
- $(AP_WORK)/modules/http \
- $(AP_WORK)/modules/arch/netware \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
+ $(NWOS) \
+ $(HTTPD) \
$(EOLIST)
#
@@ -110,7 +108,7 @@ NLM_THREAD_NAME = Proxy SCGI Module
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -123,12 +121,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -138,7 +136,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -175,7 +173,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -207,8 +205,8 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @$(NWOS)/httpd.imp \
+ @aprlib.imp \
+ @httpd.imp \
@$(OBJDIR)/mod_proxy.imp \
@libc.imp \
$(EOLIST)
@@ -243,7 +241,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -258,6 +256,6 @@ vpath %.c ../arch/netware
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/proxy/mod_proxy.dep b/modules/proxy/mod_proxy.dep
new file mode 100644
index 00000000..62e3a89f
--- /dev/null
+++ b/modules/proxy/mod_proxy.dep
@@ -0,0 +1,86 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_proxy.mak
+
+.\mod_proxy.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mod_core.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_strmatch.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\generators\mod_status.h"\
+ "..\ssl\mod_ssl.h"\
+ ".\mod_proxy.h"\
+
+
+.\proxy_util.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_mpm.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_strmatch.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_version.h"\
+ ".\mod_proxy.h"\
+
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
diff --git a/modules/proxy/mod_proxy.mak b/modules/proxy/mod_proxy.mak
new file mode 100644
index 00000000..395d2430
--- /dev/null
+++ b/modules/proxy/mod_proxy.mak
@@ -0,0 +1,361 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_proxy.dsp
+!IF "$(CFG)" == ""
+CFG=mod_proxy - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_proxy - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_proxy - Win32 Release" && "$(CFG)" != "mod_proxy - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_proxy.mak" CFG="mod_proxy - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_proxy - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_proxy - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_proxy.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_proxy.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_proxy.obj"
+ -@erase "$(INTDIR)\mod_proxy.res"
+ -@erase "$(INTDIR)\mod_proxy_src.idb"
+ -@erase "$(INTDIR)\mod_proxy_src.pdb"
+ -@erase "$(INTDIR)\proxy_util.obj"
+ -@erase "$(OUTDIR)\mod_proxy.exp"
+ -@erase "$(OUTDIR)\mod_proxy.lib"
+ -@erase "$(OUTDIR)\mod_proxy.pdb"
+ -@erase "$(OUTDIR)\mod_proxy.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../ssl" /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../generators" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PROXY_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_proxy.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_proxy.so" /d LONG_NAME="proxy_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy.pdb" /debug /out:"$(OUTDIR)\mod_proxy.so" /implib:"$(OUTDIR)\mod_proxy.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_proxy.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_proxy.obj" \
+ "$(INTDIR)\proxy_util.obj" \
+ "$(INTDIR)\mod_proxy.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_proxy.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_proxy.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_proxy.so"
+ if exist .\Release\mod_proxy.so.manifest mt.exe -manifest .\Release\mod_proxy.so.manifest -outputresource:.\Release\mod_proxy.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_proxy - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_proxy.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_proxy.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_proxy.obj"
+ -@erase "$(INTDIR)\mod_proxy.res"
+ -@erase "$(INTDIR)\mod_proxy_src.idb"
+ -@erase "$(INTDIR)\mod_proxy_src.pdb"
+ -@erase "$(INTDIR)\proxy_util.obj"
+ -@erase "$(OUTDIR)\mod_proxy.exp"
+ -@erase "$(OUTDIR)\mod_proxy.lib"
+ -@erase "$(OUTDIR)\mod_proxy.pdb"
+ -@erase "$(OUTDIR)\mod_proxy.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../ssl" /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../generators" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "PROXY_DECLARE_EXPORT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_proxy.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_proxy.so" /d LONG_NAME="proxy_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy.pdb" /debug /out:"$(OUTDIR)\mod_proxy.so" /implib:"$(OUTDIR)\mod_proxy.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_proxy.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_proxy.obj" \
+ "$(INTDIR)\proxy_util.obj" \
+ "$(INTDIR)\mod_proxy.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_proxy.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_proxy.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_proxy.so"
+ if exist .\Debug\mod_proxy.so.manifest mt.exe -manifest .\Debug\mod_proxy.so.manifest -outputresource:.\Debug\mod_proxy.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_proxy.dep")
+!INCLUDE "mod_proxy.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_proxy.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_proxy - Win32 Release" || "$(CFG)" == "mod_proxy - Win32 Debug"
+SOURCE=.\mod_proxy.c
+
+"$(INTDIR)\mod_proxy.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\proxy_util.c
+
+"$(INTDIR)\proxy_util.obj" : $(SOURCE) "$(INTDIR)"
+
+
+!IF "$(CFG)" == "mod_proxy - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\proxy"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\proxy"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\proxy"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\proxy"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\proxy"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\proxy"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\proxy"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_proxy - Win32 Release"
+
+
+"$(INTDIR)\mod_proxy.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_proxy.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_proxy.so" /d LONG_NAME="proxy_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_proxy - Win32 Debug"
+
+
+"$(INTDIR)\mod_proxy.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_proxy.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_proxy.so" /d LONG_NAME="proxy_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/modules/proxy/mod_proxy_ajp.dep b/modules/proxy/mod_proxy_ajp.dep
new file mode 100644
index 00000000..769e84b3
--- /dev/null
+++ b/modules/proxy/mod_proxy_ajp.dep
@@ -0,0 +1,201 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_proxy_ajp.mak
+
+.\mod_proxy_ajp.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_strmatch.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_version.h"\
+ ".\ajp.h"\
+ ".\mod_proxy.h"\
+
+
+.\ajp_header.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_strmatch.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_version.h"\
+ ".\ajp.h"\
+ ".\ajp_header.h"\
+ ".\mod_proxy.h"\
+
+
+.\ajp_link.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_strmatch.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_version.h"\
+ ".\ajp.h"\
+ ".\mod_proxy.h"\
+
+
+.\ajp_msg.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_strmatch.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_version.h"\
+ ".\ajp.h"\
+ ".\mod_proxy.h"\
+
+
+.\ajp_utils.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_strmatch.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_version.h"\
+ ".\ajp.h"\
+ ".\mod_proxy.h"\
+
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
diff --git a/modules/proxy/mod_proxy_ajp.mak b/modules/proxy/mod_proxy_ajp.mak
new file mode 100644
index 00000000..399152c9
--- /dev/null
+++ b/modules/proxy/mod_proxy_ajp.mak
@@ -0,0 +1,416 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_proxy_ajp.dsp
+!IF "$(CFG)" == ""
+CFG=mod_proxy_ajp - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_proxy_ajp - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_proxy_ajp - Win32 Release" && "$(CFG)" != "mod_proxy_ajp - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_proxy_ajp.mak" CFG="mod_proxy_ajp - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_proxy_ajp - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_proxy_ajp - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_ajp - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_proxy_ajp.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_proxy - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_proxy_ajp.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_proxy - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\ajp_header.obj"
+ -@erase "$(INTDIR)\ajp_link.obj"
+ -@erase "$(INTDIR)\ajp_msg.obj"
+ -@erase "$(INTDIR)\ajp_utils.obj"
+ -@erase "$(INTDIR)\mod_proxy_ajp.obj"
+ -@erase "$(INTDIR)\mod_proxy_ajp.res"
+ -@erase "$(INTDIR)\mod_proxy_ajp_src.idb"
+ -@erase "$(INTDIR)\mod_proxy_ajp_src.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_ajp.exp"
+ -@erase "$(OUTDIR)\mod_proxy_ajp.lib"
+ -@erase "$(OUTDIR)\mod_proxy_ajp.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_ajp.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_ajp_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_proxy_ajp.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_proxy_ajp.so" /d LONG_NAME="proxy_ajp_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy_ajp.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy_ajp.pdb" /debug /out:"$(OUTDIR)\mod_proxy_ajp.so" /implib:"$(OUTDIR)\mod_proxy_ajp.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_proxy_ajp.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_proxy_ajp.obj" \
+ "$(INTDIR)\ajp_header.obj" \
+ "$(INTDIR)\ajp_link.obj" \
+ "$(INTDIR)\ajp_msg.obj" \
+ "$(INTDIR)\ajp_utils.obj" \
+ "$(INTDIR)\mod_proxy_ajp.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_proxy.lib"
+
+"$(OUTDIR)\mod_proxy_ajp.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_proxy_ajp.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_proxy_ajp.so"
+ if exist .\Release\mod_proxy_ajp.so.manifest mt.exe -manifest .\Release\mod_proxy_ajp.so.manifest -outputresource:.\Release\mod_proxy_ajp.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_proxy_ajp - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_proxy_ajp.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_proxy - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_proxy_ajp.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_proxy - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\ajp_header.obj"
+ -@erase "$(INTDIR)\ajp_link.obj"
+ -@erase "$(INTDIR)\ajp_msg.obj"
+ -@erase "$(INTDIR)\ajp_utils.obj"
+ -@erase "$(INTDIR)\mod_proxy_ajp.obj"
+ -@erase "$(INTDIR)\mod_proxy_ajp.res"
+ -@erase "$(INTDIR)\mod_proxy_ajp_src.idb"
+ -@erase "$(INTDIR)\mod_proxy_ajp_src.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_ajp.exp"
+ -@erase "$(OUTDIR)\mod_proxy_ajp.lib"
+ -@erase "$(OUTDIR)\mod_proxy_ajp.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_ajp.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_ajp_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_proxy_ajp.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_proxy_ajp.so" /d LONG_NAME="proxy_ajp_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy_ajp.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy_ajp.pdb" /debug /out:"$(OUTDIR)\mod_proxy_ajp.so" /implib:"$(OUTDIR)\mod_proxy_ajp.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_proxy_ajp.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_proxy_ajp.obj" \
+ "$(INTDIR)\ajp_header.obj" \
+ "$(INTDIR)\ajp_link.obj" \
+ "$(INTDIR)\ajp_msg.obj" \
+ "$(INTDIR)\ajp_utils.obj" \
+ "$(INTDIR)\mod_proxy_ajp.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_proxy.lib"
+
+"$(OUTDIR)\mod_proxy_ajp.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_proxy_ajp.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_proxy_ajp.so"
+ if exist .\Debug\mod_proxy_ajp.so.manifest mt.exe -manifest .\Debug\mod_proxy_ajp.so.manifest -outputresource:.\Debug\mod_proxy_ajp.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_proxy_ajp.dep")
+!INCLUDE "mod_proxy_ajp.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_proxy_ajp.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_proxy_ajp - Win32 Release" || "$(CFG)" == "mod_proxy_ajp - Win32 Debug"
+SOURCE=.\mod_proxy_ajp.c
+
+"$(INTDIR)\mod_proxy_ajp.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ajp_header.c
+
+"$(INTDIR)\ajp_header.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ajp_link.c
+
+"$(INTDIR)\ajp_link.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ajp_msg.c
+
+"$(INTDIR)\ajp_msg.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ajp_utils.c
+
+"$(INTDIR)\ajp_utils.obj" : $(SOURCE) "$(INTDIR)"
+
+
+!IF "$(CFG)" == "mod_proxy_ajp - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\proxy"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_ajp - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\proxy"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_ajp - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\proxy"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_ajp - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\proxy"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_ajp - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\proxy"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_ajp - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\proxy"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_ajp - Win32 Release"
+
+"mod_proxy - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Release"
+ cd "."
+
+"mod_proxy - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_proxy_ajp - Win32 Debug"
+
+"mod_proxy - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Debug"
+ cd "."
+
+"mod_proxy - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_proxy_ajp - Win32 Release"
+
+
+"$(INTDIR)\mod_proxy_ajp.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_proxy_ajp.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_proxy_ajp.so" /d LONG_NAME="proxy_ajp_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_proxy_ajp - Win32 Debug"
+
+
+"$(INTDIR)\mod_proxy_ajp.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_proxy_ajp.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_proxy_ajp.so" /d LONG_NAME="proxy_ajp_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/modules/proxy/mod_proxy_balancer.dep b/modules/proxy/mod_proxy_balancer.dep
new file mode 100644
index 00000000..8e16ed6a
--- /dev/null
+++ b/modules/proxy/mod_proxy_balancer.dep
@@ -0,0 +1,46 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_proxy_balancer.mak
+
+.\mod_proxy_balancer.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_mpm.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_strmatch.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr-util\include\apr_uuid.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_version.h"\
+ ".\mod_proxy.h"\
+
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
diff --git a/modules/proxy/mod_proxy_balancer.mak b/modules/proxy/mod_proxy_balancer.mak
new file mode 100644
index 00000000..9dc5cf84
--- /dev/null
+++ b/modules/proxy/mod_proxy_balancer.mak
@@ -0,0 +1,380 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_proxy_balancer.dsp
+!IF "$(CFG)" == ""
+CFG=mod_proxy_balancer - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_proxy_balancer - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_proxy_balancer - Win32 Release" && "$(CFG)" != "mod_proxy_balancer - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_proxy_balancer.mak" CFG="mod_proxy_balancer - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_proxy_balancer - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_proxy_balancer - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_balancer - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_proxy_balancer.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_proxy - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_proxy_balancer.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_proxy - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_proxy_balancer.obj"
+ -@erase "$(INTDIR)\mod_proxy_balancer.res"
+ -@erase "$(INTDIR)\mod_proxy_balancer_src.idb"
+ -@erase "$(INTDIR)\mod_proxy_balancer_src.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_balancer.exp"
+ -@erase "$(OUTDIR)\mod_proxy_balancer.lib"
+ -@erase "$(OUTDIR)\mod_proxy_balancer.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_balancer.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_balancer_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_proxy_balancer.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_proxy_balancer.so" /d LONG_NAME="proxy_balancer_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy_balancer.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy_balancer.pdb" /debug /out:"$(OUTDIR)\mod_proxy_balancer.so" /implib:"$(OUTDIR)\mod_proxy_balancer.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_proxy_balancer.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_proxy_balancer.obj" \
+ "$(INTDIR)\mod_proxy_balancer.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_proxy.lib"
+
+"$(OUTDIR)\mod_proxy_balancer.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_proxy_balancer.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_proxy_balancer.so"
+ if exist .\Release\mod_proxy_balancer.so.manifest mt.exe -manifest .\Release\mod_proxy_balancer.so.manifest -outputresource:.\Release\mod_proxy_balancer.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_proxy_balancer - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_proxy_balancer.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_proxy - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_proxy_balancer.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_proxy - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_proxy_balancer.obj"
+ -@erase "$(INTDIR)\mod_proxy_balancer.res"
+ -@erase "$(INTDIR)\mod_proxy_balancer_src.idb"
+ -@erase "$(INTDIR)\mod_proxy_balancer_src.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_balancer.exp"
+ -@erase "$(OUTDIR)\mod_proxy_balancer.lib"
+ -@erase "$(OUTDIR)\mod_proxy_balancer.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_balancer.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_balancer_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_proxy_balancer.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_proxy_balancer.so" /d LONG_NAME="proxy_balancer_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy_balancer.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy_balancer.pdb" /debug /out:"$(OUTDIR)\mod_proxy_balancer.so" /implib:"$(OUTDIR)\mod_proxy_balancer.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_proxy_balancer.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_proxy_balancer.obj" \
+ "$(INTDIR)\mod_proxy_balancer.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_proxy.lib"
+
+"$(OUTDIR)\mod_proxy_balancer.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_proxy_balancer.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_proxy_balancer.so"
+ if exist .\Debug\mod_proxy_balancer.so.manifest mt.exe -manifest .\Debug\mod_proxy_balancer.so.manifest -outputresource:.\Debug\mod_proxy_balancer.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_proxy_balancer.dep")
+!INCLUDE "mod_proxy_balancer.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_proxy_balancer.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_proxy_balancer - Win32 Release" || "$(CFG)" == "mod_proxy_balancer - Win32 Debug"
+SOURCE=.\mod_proxy_balancer.c
+
+"$(INTDIR)\mod_proxy_balancer.obj" : $(SOURCE) "$(INTDIR)"
+
+
+!IF "$(CFG)" == "mod_proxy_balancer - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\proxy"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_balancer - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\proxy"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_balancer - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\proxy"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_balancer - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\proxy"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_balancer - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\proxy"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_balancer - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\proxy"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_balancer - Win32 Release"
+
+"mod_proxy - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Release"
+ cd "."
+
+"mod_proxy - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_proxy_balancer - Win32 Debug"
+
+"mod_proxy - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Debug"
+ cd "."
+
+"mod_proxy - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_proxy_balancer - Win32 Release"
+
+
+"$(INTDIR)\mod_proxy_balancer.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_proxy_balancer.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_proxy_balancer.so" /d LONG_NAME="proxy_balancer_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_proxy_balancer - Win32 Debug"
+
+
+"$(INTDIR)\mod_proxy_balancer.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_proxy_balancer.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_proxy_balancer.so" /d LONG_NAME="proxy_balancer_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/modules/proxy/mod_proxy_connect.c b/modules/proxy/mod_proxy_connect.c
index d66a50d8..6de44d15 100644
--- a/modules/proxy/mod_proxy_connect.c
+++ b/modules/proxy/mod_proxy_connect.c
@@ -288,6 +288,9 @@ static int proxy_connect_handler(request_rec *r, proxy_worker *worker,
while (1) { /* Infinite loop until error (one side closes the connection) */
if ((rv = apr_pollset_poll(pollset, -1, &pollcnt, &signalled)) != APR_SUCCESS) {
+ if (APR_STATUS_IS_EINTR(rv)) {
+ continue;
+ }
apr_socket_close(sock);
ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, "proxy: CONNECT: error apr_poll()");
return HTTP_INTERNAL_SERVER_ERROR;
diff --git a/modules/proxy/mod_proxy_connect.dep b/modules/proxy/mod_proxy_connect.dep
new file mode 100644
index 00000000..1f24cd81
--- /dev/null
+++ b/modules/proxy/mod_proxy_connect.dep
@@ -0,0 +1,42 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_proxy_connect.mak
+
+.\mod_proxy_connect.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_strmatch.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_proxy.h"\
+
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
diff --git a/modules/proxy/mod_proxy_connect.mak b/modules/proxy/mod_proxy_connect.mak
new file mode 100644
index 00000000..700bee63
--- /dev/null
+++ b/modules/proxy/mod_proxy_connect.mak
@@ -0,0 +1,380 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_proxy_connect.dsp
+!IF "$(CFG)" == ""
+CFG=mod_proxy_connect - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_proxy_connect - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_proxy_connect - Win32 Release" && "$(CFG)" != "mod_proxy_connect - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_proxy_connect.mak" CFG="mod_proxy_connect - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_proxy_connect - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_proxy_connect - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_connect - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_proxy_connect.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_proxy - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_proxy_connect.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_proxy - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_proxy_connect.obj"
+ -@erase "$(INTDIR)\mod_proxy_connect.res"
+ -@erase "$(INTDIR)\mod_proxy_connect_src.idb"
+ -@erase "$(INTDIR)\mod_proxy_connect_src.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_connect.exp"
+ -@erase "$(OUTDIR)\mod_proxy_connect.lib"
+ -@erase "$(OUTDIR)\mod_proxy_connect.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_connect.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_connect_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_proxy_connect.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_proxy_connect.so" /d LONG_NAME="proxy_connect_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy_connect.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy_connect.pdb" /debug /out:"$(OUTDIR)\mod_proxy_connect.so" /implib:"$(OUTDIR)\mod_proxy_connect.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_proxy_connect.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_proxy_connect.obj" \
+ "$(INTDIR)\mod_proxy_connect.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_proxy.lib"
+
+"$(OUTDIR)\mod_proxy_connect.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_proxy_connect.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_proxy_connect.so"
+ if exist .\Release\mod_proxy_connect.so.manifest mt.exe -manifest .\Release\mod_proxy_connect.so.manifest -outputresource:.\Release\mod_proxy_connect.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_proxy_connect - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_proxy_connect.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_proxy - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_proxy_connect.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_proxy - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_proxy_connect.obj"
+ -@erase "$(INTDIR)\mod_proxy_connect.res"
+ -@erase "$(INTDIR)\mod_proxy_connect_src.idb"
+ -@erase "$(INTDIR)\mod_proxy_connect_src.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_connect.exp"
+ -@erase "$(OUTDIR)\mod_proxy_connect.lib"
+ -@erase "$(OUTDIR)\mod_proxy_connect.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_connect.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_connect_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_proxy_connect.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_proxy_connect.so" /d LONG_NAME="proxy_connect_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy_connect.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy_connect.pdb" /debug /out:"$(OUTDIR)\mod_proxy_connect.so" /implib:"$(OUTDIR)\mod_proxy_connect.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_proxy_connect.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_proxy_connect.obj" \
+ "$(INTDIR)\mod_proxy_connect.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_proxy.lib"
+
+"$(OUTDIR)\mod_proxy_connect.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_proxy_connect.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_proxy_connect.so"
+ if exist .\Debug\mod_proxy_connect.so.manifest mt.exe -manifest .\Debug\mod_proxy_connect.so.manifest -outputresource:.\Debug\mod_proxy_connect.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_proxy_connect.dep")
+!INCLUDE "mod_proxy_connect.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_proxy_connect.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_proxy_connect - Win32 Release" || "$(CFG)" == "mod_proxy_connect - Win32 Debug"
+SOURCE=.\mod_proxy_connect.c
+
+"$(INTDIR)\mod_proxy_connect.obj" : $(SOURCE) "$(INTDIR)"
+
+
+!IF "$(CFG)" == "mod_proxy_connect - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\proxy"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_connect - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\proxy"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_connect - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\proxy"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_connect - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\proxy"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_connect - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\proxy"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_connect - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\proxy"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_connect - Win32 Release"
+
+"mod_proxy - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Release"
+ cd "."
+
+"mod_proxy - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_proxy_connect - Win32 Debug"
+
+"mod_proxy - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Debug"
+ cd "."
+
+"mod_proxy - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_proxy_connect - Win32 Release"
+
+
+"$(INTDIR)\mod_proxy_connect.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_proxy_connect.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_proxy_connect.so" /d LONG_NAME="proxy_connect_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_proxy_connect - Win32 Debug"
+
+
+"$(INTDIR)\mod_proxy_connect.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_proxy_connect.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_proxy_connect.so" /d LONG_NAME="proxy_connect_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/modules/proxy/mod_proxy_ftp.dep b/modules/proxy/mod_proxy_ftp.dep
new file mode 100644
index 00000000..9044bb00
--- /dev/null
+++ b/modules/proxy/mod_proxy_ftp.dep
@@ -0,0 +1,43 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_proxy_ftp.mak
+
+.\mod_proxy_ftp.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_strmatch.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_version.h"\
+ ".\mod_proxy.h"\
+
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
diff --git a/modules/proxy/mod_proxy_ftp.mak b/modules/proxy/mod_proxy_ftp.mak
new file mode 100644
index 00000000..9ec3e33e
--- /dev/null
+++ b/modules/proxy/mod_proxy_ftp.mak
@@ -0,0 +1,380 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_proxy_ftp.dsp
+!IF "$(CFG)" == ""
+CFG=mod_proxy_ftp - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_proxy_ftp - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_proxy_ftp - Win32 Release" && "$(CFG)" != "mod_proxy_ftp - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_proxy_ftp.mak" CFG="mod_proxy_ftp - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_proxy_ftp - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_proxy_ftp - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_ftp - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_proxy_ftp.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_proxy - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_proxy_ftp.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_proxy - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_proxy_ftp.obj"
+ -@erase "$(INTDIR)\mod_proxy_ftp.res"
+ -@erase "$(INTDIR)\mod_proxy_ftp_src.idb"
+ -@erase "$(INTDIR)\mod_proxy_ftp_src.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_ftp.exp"
+ -@erase "$(OUTDIR)\mod_proxy_ftp.lib"
+ -@erase "$(OUTDIR)\mod_proxy_ftp.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_ftp.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_ftp_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_proxy_ftp.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_proxy_ftp.so" /d LONG_NAME="proxy_ftp_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy_ftp.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy_ftp.pdb" /debug /out:"$(OUTDIR)\mod_proxy_ftp.so" /implib:"$(OUTDIR)\mod_proxy_ftp.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_proxy_ftp.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_proxy_ftp.obj" \
+ "$(INTDIR)\mod_proxy_ftp.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_proxy.lib"
+
+"$(OUTDIR)\mod_proxy_ftp.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_proxy_ftp.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_proxy_ftp.so"
+ if exist .\Release\mod_proxy_ftp.so.manifest mt.exe -manifest .\Release\mod_proxy_ftp.so.manifest -outputresource:.\Release\mod_proxy_ftp.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_proxy_ftp - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_proxy_ftp.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_proxy - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_proxy_ftp.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_proxy - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_proxy_ftp.obj"
+ -@erase "$(INTDIR)\mod_proxy_ftp.res"
+ -@erase "$(INTDIR)\mod_proxy_ftp_src.idb"
+ -@erase "$(INTDIR)\mod_proxy_ftp_src.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_ftp.exp"
+ -@erase "$(OUTDIR)\mod_proxy_ftp.lib"
+ -@erase "$(OUTDIR)\mod_proxy_ftp.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_ftp.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_ftp_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_proxy_ftp.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_proxy_ftp.so" /d LONG_NAME="proxy_ftp_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy_ftp.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy_ftp.pdb" /debug /out:"$(OUTDIR)\mod_proxy_ftp.so" /implib:"$(OUTDIR)\mod_proxy_ftp.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_proxy_ftp.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_proxy_ftp.obj" \
+ "$(INTDIR)\mod_proxy_ftp.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_proxy.lib"
+
+"$(OUTDIR)\mod_proxy_ftp.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_proxy_ftp.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_proxy_ftp.so"
+ if exist .\Debug\mod_proxy_ftp.so.manifest mt.exe -manifest .\Debug\mod_proxy_ftp.so.manifest -outputresource:.\Debug\mod_proxy_ftp.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_proxy_ftp.dep")
+!INCLUDE "mod_proxy_ftp.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_proxy_ftp.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_proxy_ftp - Win32 Release" || "$(CFG)" == "mod_proxy_ftp - Win32 Debug"
+SOURCE=.\mod_proxy_ftp.c
+
+"$(INTDIR)\mod_proxy_ftp.obj" : $(SOURCE) "$(INTDIR)"
+
+
+!IF "$(CFG)" == "mod_proxy_ftp - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\proxy"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_ftp - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\proxy"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_ftp - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\proxy"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_ftp - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\proxy"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_ftp - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\proxy"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_ftp - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\proxy"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_ftp - Win32 Release"
+
+"mod_proxy - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Release"
+ cd "."
+
+"mod_proxy - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_proxy_ftp - Win32 Debug"
+
+"mod_proxy - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Debug"
+ cd "."
+
+"mod_proxy - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_proxy_ftp - Win32 Release"
+
+
+"$(INTDIR)\mod_proxy_ftp.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_proxy_ftp.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_proxy_ftp.so" /d LONG_NAME="proxy_ftp_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_proxy_ftp - Win32 Debug"
+
+
+"$(INTDIR)\mod_proxy_ftp.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_proxy_ftp.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_proxy_ftp.so" /d LONG_NAME="proxy_ftp_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/modules/proxy/mod_proxy_http.c b/modules/proxy/mod_proxy_http.c
index e0a8ae11..19c82f2c 100644
--- a/modules/proxy/mod_proxy_http.c
+++ b/modules/proxy/mod_proxy_http.c
@@ -271,10 +271,18 @@ static int pass_brigade(apr_bucket_alloc_t *bucket_alloc,
ap_log_error(APLOG_MARK, APLOG_ERR, status, r->server,
"proxy: pass request body failed to %pI (%s)",
conn->addr, conn->hostname);
- if (origin->aborted) {
+ if (origin->aborted) {
+ const char *ssl_note;
+
+ if (((ssl_note = apr_table_get(origin->notes, "SSL_connect_rv"))
+ != NULL) && (strcmp(ssl_note, "err") == 0)) {
+ return ap_proxyerror(r, HTTP_INTERNAL_SERVER_ERROR,
+ "Error during SSL Handshake with"
+ " remote server");
+ }
return APR_STATUS_IS_TIMEUP(status) ? HTTP_GATEWAY_TIME_OUT : HTTP_BAD_GATEWAY;
}
- else {
+ else {
return HTTP_BAD_REQUEST;
}
}
diff --git a/modules/proxy/mod_proxy_http.dep b/modules/proxy/mod_proxy_http.dep
new file mode 100644
index 00000000..8485044c
--- /dev/null
+++ b/modules/proxy/mod_proxy_http.dep
@@ -0,0 +1,42 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_proxy_http.mak
+
+.\mod_proxy_http.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_strmatch.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_proxy.h"\
+
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
diff --git a/modules/proxy/mod_proxy_http.mak b/modules/proxy/mod_proxy_http.mak
new file mode 100644
index 00000000..97697fdc
--- /dev/null
+++ b/modules/proxy/mod_proxy_http.mak
@@ -0,0 +1,380 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_proxy_http.dsp
+!IF "$(CFG)" == ""
+CFG=mod_proxy_http - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_proxy_http - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_proxy_http - Win32 Release" && "$(CFG)" != "mod_proxy_http - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_proxy_http.mak" CFG="mod_proxy_http - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_proxy_http - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_proxy_http - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_http - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_proxy_http.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_proxy - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_proxy_http.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_proxy - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_proxy_http.obj"
+ -@erase "$(INTDIR)\mod_proxy_http.res"
+ -@erase "$(INTDIR)\mod_proxy_http_src.idb"
+ -@erase "$(INTDIR)\mod_proxy_http_src.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_http.exp"
+ -@erase "$(OUTDIR)\mod_proxy_http.lib"
+ -@erase "$(OUTDIR)\mod_proxy_http.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_http.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_http_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_proxy_http.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_proxy_http.so" /d LONG_NAME="proxy_http_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy_http.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy_http.pdb" /debug /out:"$(OUTDIR)\mod_proxy_http.so" /implib:"$(OUTDIR)\mod_proxy_http.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_proxy_http.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_proxy_http.obj" \
+ "$(INTDIR)\mod_proxy_http.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_proxy.lib"
+
+"$(OUTDIR)\mod_proxy_http.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_proxy_http.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_proxy_http.so"
+ if exist .\Release\mod_proxy_http.so.manifest mt.exe -manifest .\Release\mod_proxy_http.so.manifest -outputresource:.\Release\mod_proxy_http.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_proxy_http - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_proxy_http.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_proxy - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_proxy_http.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_proxy - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_proxy_http.obj"
+ -@erase "$(INTDIR)\mod_proxy_http.res"
+ -@erase "$(INTDIR)\mod_proxy_http_src.idb"
+ -@erase "$(INTDIR)\mod_proxy_http_src.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_http.exp"
+ -@erase "$(OUTDIR)\mod_proxy_http.lib"
+ -@erase "$(OUTDIR)\mod_proxy_http.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_http.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_http_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_proxy_http.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_proxy_http.so" /d LONG_NAME="proxy_http_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy_http.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy_http.pdb" /debug /out:"$(OUTDIR)\mod_proxy_http.so" /implib:"$(OUTDIR)\mod_proxy_http.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_proxy_http.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_proxy_http.obj" \
+ "$(INTDIR)\mod_proxy_http.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_proxy.lib"
+
+"$(OUTDIR)\mod_proxy_http.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_proxy_http.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_proxy_http.so"
+ if exist .\Debug\mod_proxy_http.so.manifest mt.exe -manifest .\Debug\mod_proxy_http.so.manifest -outputresource:.\Debug\mod_proxy_http.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_proxy_http.dep")
+!INCLUDE "mod_proxy_http.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_proxy_http.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_proxy_http - Win32 Release" || "$(CFG)" == "mod_proxy_http - Win32 Debug"
+SOURCE=.\mod_proxy_http.c
+
+"$(INTDIR)\mod_proxy_http.obj" : $(SOURCE) "$(INTDIR)"
+
+
+!IF "$(CFG)" == "mod_proxy_http - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\proxy"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_http - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\proxy"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_http - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\proxy"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_http - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\proxy"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_http - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\proxy"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_http - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\proxy"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_http - Win32 Release"
+
+"mod_proxy - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Release"
+ cd "."
+
+"mod_proxy - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_proxy_http - Win32 Debug"
+
+"mod_proxy - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Debug"
+ cd "."
+
+"mod_proxy - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_proxy_http - Win32 Release"
+
+
+"$(INTDIR)\mod_proxy_http.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_proxy_http.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_proxy_http.so" /d LONG_NAME="proxy_http_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_proxy_http - Win32 Debug"
+
+
+"$(INTDIR)\mod_proxy_http.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_proxy_http.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_proxy_http.so" /d LONG_NAME="proxy_http_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/modules/proxy/mod_proxy_scgi.c b/modules/proxy/mod_proxy_scgi.c
index b16fe153..b9f05c0e 100644
--- a/modules/proxy/mod_proxy_scgi.c
+++ b/modules/proxy/mod_proxy_scgi.c
@@ -246,7 +246,7 @@ static int send_headers(request_rec *r, proxy_conn_rec *conn)
const char *ns_len;
const apr_array_header_t *env_table;
const apr_table_entry_t *env;
- int j;
+ int j;
apr_size_t len, bodylen_size;
apr_size_t headerlen = sizeof(CONTENT_LENGTH)
+ sizeof(SCGI_MAGIC)
diff --git a/modules/proxy/mod_proxy_scgi.dep b/modules/proxy/mod_proxy_scgi.dep
new file mode 100644
index 00000000..b42fc887
--- /dev/null
+++ b/modules/proxy/mod_proxy_scgi.dep
@@ -0,0 +1,43 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_proxy_scgi.mak
+
+.\mod_proxy_scgi.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_provider.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\os.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_strmatch.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ ".\mod_proxy.h"\
+
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
diff --git a/modules/proxy/mod_proxy_scgi.mak b/modules/proxy/mod_proxy_scgi.mak
new file mode 100644
index 00000000..7544f2d0
--- /dev/null
+++ b/modules/proxy/mod_proxy_scgi.mak
@@ -0,0 +1,380 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_proxy_scgi.dsp
+!IF "$(CFG)" == ""
+CFG=mod_proxy_scgi - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_proxy_scgi - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_proxy_scgi - Win32 Release" && "$(CFG)" != "mod_proxy_scgi - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_proxy_scgi.mak" CFG="mod_proxy_scgi - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_proxy_scgi - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_proxy_scgi - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_scgi - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_proxy_scgi.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_proxy - Win32 Release" "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_proxy_scgi.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN" "mod_proxy - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_proxy_scgi.obj"
+ -@erase "$(INTDIR)\mod_proxy_scgi.res"
+ -@erase "$(INTDIR)\mod_proxy_scgi_src.idb"
+ -@erase "$(INTDIR)\mod_proxy_scgi_src.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_scgi.exp"
+ -@erase "$(OUTDIR)\mod_proxy_scgi.lib"
+ -@erase "$(OUTDIR)\mod_proxy_scgi.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_scgi.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_scgi_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_proxy_scgi.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_proxy_scgi.so" /d LONG_NAME="proxy_scgi_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy_scgi.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy_scgi.pdb" /debug /out:"$(OUTDIR)\mod_proxy_scgi.so" /implib:"$(OUTDIR)\mod_proxy_scgi.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_proxy_scgi.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_proxy_scgi.obj" \
+ "$(INTDIR)\mod_proxy_scgi.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib" \
+ "$(OUTDIR)\mod_proxy.lib"
+
+"$(OUTDIR)\mod_proxy_scgi.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_proxy_scgi.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_proxy_scgi.so"
+ if exist .\Release\mod_proxy_scgi.so.manifest mt.exe -manifest .\Release\mod_proxy_scgi.so.manifest -outputresource:.\Release\mod_proxy_scgi.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_proxy_scgi - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_proxy_scgi.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "mod_proxy - Win32 Debug" "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_proxy_scgi.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN" "mod_proxy - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_proxy_scgi.obj"
+ -@erase "$(INTDIR)\mod_proxy_scgi.res"
+ -@erase "$(INTDIR)\mod_proxy_scgi_src.idb"
+ -@erase "$(INTDIR)\mod_proxy_scgi_src.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_scgi.exp"
+ -@erase "$(OUTDIR)\mod_proxy_scgi.lib"
+ -@erase "$(OUTDIR)\mod_proxy_scgi.pdb"
+ -@erase "$(OUTDIR)\mod_proxy_scgi.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_scgi_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_proxy_scgi.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_proxy_scgi.so" /d LONG_NAME="proxy_scgi_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy_scgi.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy_scgi.pdb" /debug /out:"$(OUTDIR)\mod_proxy_scgi.so" /implib:"$(OUTDIR)\mod_proxy_scgi.lib" /base:@..\..\os\win32\BaseAddr.ref,mod_proxy_scgi.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_proxy_scgi.obj" \
+ "$(INTDIR)\mod_proxy_scgi.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib" \
+ "$(OUTDIR)\mod_proxy.lib"
+
+"$(OUTDIR)\mod_proxy_scgi.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_proxy_scgi.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_proxy_scgi.so"
+ if exist .\Debug\mod_proxy_scgi.so.manifest mt.exe -manifest .\Debug\mod_proxy_scgi.so.manifest -outputresource:.\Debug\mod_proxy_scgi.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_proxy_scgi.dep")
+!INCLUDE "mod_proxy_scgi.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_proxy_scgi.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_proxy_scgi - Win32 Release" || "$(CFG)" == "mod_proxy_scgi - Win32 Debug"
+SOURCE=.\mod_proxy_scgi.c
+
+"$(INTDIR)\mod_proxy_scgi.obj" : $(SOURCE) "$(INTDIR)"
+
+
+!IF "$(CFG)" == "mod_proxy_scgi - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\proxy"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_scgi - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\proxy"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_scgi - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\proxy"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_scgi - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\proxy"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_scgi - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\proxy"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\proxy"
+
+!ELSEIF "$(CFG)" == "mod_proxy_scgi - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\proxy"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\proxy"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_proxy_scgi - Win32 Release"
+
+"mod_proxy - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Release"
+ cd "."
+
+"mod_proxy - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "mod_proxy_scgi - Win32 Debug"
+
+"mod_proxy - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Debug"
+ cd "."
+
+"mod_proxy - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\mod_proxy.mak" CFG="mod_proxy - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_proxy_scgi - Win32 Release"
+
+
+"$(INTDIR)\mod_proxy_scgi.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_proxy_scgi.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_proxy_scgi.so" /d LONG_NAME="proxy_scgi_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_proxy_scgi - Win32 Debug"
+
+
+"$(INTDIR)\mod_proxy_scgi.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_proxy_scgi.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_proxy_scgi.so" /d LONG_NAME="proxy_scgi_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/modules/ssl/NWGNUmakefile b/modules/ssl/NWGNUmakefile
index 6d2b838d..048c1e42 100644
--- a/modules/ssl/NWGNUmakefile
+++ b/modules/ssl/NWGNUmakefile
@@ -15,7 +15,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -32,16 +32,14 @@ OSSLAPP = $(OSSLSDK)/apps
# INCDIRS
#
XINCDIRS += \
- $(OSSLINC) \
- $(OSSLINC)/openssl \
- $(AP_WORK)/include \
- $(AP_WORK)/server/mpm/NetWare \
- $(AP_WORK)/modules/arch/netware \
- $(AP_WORK)/modules/generators \
$(APR)/include \
$(APRUTIL)/include \
- $(APR) \
+ $(AP_WORK)/include \
$(NWOS) \
+ $(STDMOD)/generators \
+ $(SERVER)/mpm/NetWare \
+ $(OSSLINC) \
+ $(OSSLINC)/openssl \
$(EOLIST)
#
@@ -131,7 +129,7 @@ NLM_THREAD_NAME = $(NLM_NAME)
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -144,12 +142,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -159,7 +157,7 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -197,7 +195,7 @@ FILES_nlm_objs := $(patsubst %.c,$(OBJDIR)/%.o,$(wildcard *.c))
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(OSSLLIB)/crypto.lib \
$(OSSLLIB)/ssl.lib \
$(EOLIST)
@@ -231,7 +229,7 @@ FILE_nlm_copyright =
#
FILES_nlm_Ximports = \
@libc.imp \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@httpd.imp \
GetProcessSwitchCount \
RunningProcess \
@@ -268,33 +266,36 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\mod_ssl.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
- -copy $(subst /,\,$(OSSLLIB))\openssl.nlm $(INSTALL)\$(BASEDIR)\bin\*.*
- -copy $(subst /,\,$(OSSLAPP))\openssl.cnf $(INSTALL)\$(BASEDIR)\bin\*.*
-
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
+ $(call COPY,$(OSSLLIB)/openssl.nlm ,$(INSTALLBASE)/bin/)
+ $(call COPY,$(OSSLAPP)/openssl.cnf ,$(INSTALLBASE)/bin/)
+
#
# Any specialized rules here
#
vpath %.c $(AP_WORK)/modules/arch/netware
# Make sure that the build doesn't attempt to regenerate the shipping files.
-# This requires a 'touch' utility. Can be downloaded from 'coreutils' at
-# http://sourceforge.net/projects/gnuwin32/
+# On Windows we use 'copy /b file.ext +,,' to assign the current time and date
+# to a file without modifying the file (the TOUCH macro uses this) - see also:
+# http://technet.microsoft.com/en-us/library/bb490886.aspx
ssl_expr_parse.h : ssl_expr_parse.y
- touch ssl_expr_parse.h
+ $(call TOUCH, $@)
+
ssl_expr_parse.c : ssl_expr_parse.y
- touch ssl_expr_parse.c
+ $(call TOUCH, $@)
+
ssl_expr_scan.c : ssl_expr_scan.l
- touch ssl_expr_scan.c
+ $(call TOUCH, $@)
#
# Include the 'tail' makefile that has targets that depend on variables defined
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/modules/ssl/mod_ssl.dep b/modules/ssl/mod_ssl.dep
new file mode 100644
index 00000000..9256241a
--- /dev/null
+++ b/modules/ssl/mod_ssl.dep
@@ -0,0 +1,1017 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_ssl.mak
+
+.\mod_ssl.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_md5.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_md5.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\mod_ssl.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_engine_config.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_engine_dh.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_engine_init.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_engine_io.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_date.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_engine_kernel.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_engine_log.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_engine_mutex.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_engine_pphrase.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_engine_rand.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_engine_vars.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ "..\loggers\mod_log_config.h"\
+ ".\mod_ssl.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_expr.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_expr_eval.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_expr_parse.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_expr_scan.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_expr_parse.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_scache.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ "..\generators\mod_status.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_scache_dbm.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_scache_dc.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_scache_shmcb.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_util.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_mpm.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+.\ssl_util_ssl.c : \
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\ap_regex.h"\
+ "..\..\include\ap_release.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_connection.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_main.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\http_vhost.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\mpm.h"\
+ "..\..\include\os.h"\
+ "..\..\include\scoreboard.h"\
+ "..\..\include\util_cfgtree.h"\
+ "..\..\include\util_charset.h"\
+ "..\..\include\util_ebcdic.h"\
+ "..\..\include\util_filter.h"\
+ "..\..\include\util_script.h"\
+ "..\..\srclib\apr-util\include\apr_dbm.h"\
+ "..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\srclib\apr-util\include\apr_rmm.h"\
+ "..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\srclib\apr\include\apr_fnmatch.h"\
+ "..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ "..\..\srclib\openssl\inc32\openssl\conf.h"\
+ "..\..\srclib\openssl\inc32\openssl\engine.h"\
+ "..\..\srclib\openssl\inc32\openssl\store.h"\
+ "..\..\srclib\openssl\inc32\openssl\ui.h"\
+ "..\..\srclib\openssl\inc32\openssl\x509v3.h"\
+ ".\ssl_expr.h"\
+ ".\ssl_private.h"\
+ ".\ssl_toolkit_compat.h"\
+ ".\ssl_util_ssl.h"\
+
+
+!IF "$(CFG)" == "mod_ssl - Win32 Release"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_ssl - Win32 Release"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
+
+!ENDIF
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
diff --git a/modules/ssl/mod_ssl.mak b/modules/ssl/mod_ssl.mak
new file mode 100644
index 00000000..003dad97
--- /dev/null
+++ b/modules/ssl/mod_ssl.mak
@@ -0,0 +1,733 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_ssl.dsp
+!IF "$(CFG)" == ""
+CFG=mod_ssl - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_ssl - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_ssl - Win32 Release" && "$(CFG)" != "mod_ssl - Win32 Debug" && "$(CFG)" != "mod_ssl - Win32 Lexical"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_ssl.mak" CFG="mod_ssl - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_ssl - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_ssl - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_ssl - Win32 Lexical" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_ssl - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_ssl.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_ssl.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_ssl.obj"
+ -@erase "$(INTDIR)\mod_ssl.res"
+ -@erase "$(INTDIR)\mod_ssl_src.idb"
+ -@erase "$(INTDIR)\mod_ssl_src.pdb"
+ -@erase "$(INTDIR)\ssl_engine_config.obj"
+ -@erase "$(INTDIR)\ssl_engine_dh.obj"
+ -@erase "$(INTDIR)\ssl_engine_init.obj"
+ -@erase "$(INTDIR)\ssl_engine_io.obj"
+ -@erase "$(INTDIR)\ssl_engine_kernel.obj"
+ -@erase "$(INTDIR)\ssl_engine_log.obj"
+ -@erase "$(INTDIR)\ssl_engine_mutex.obj"
+ -@erase "$(INTDIR)\ssl_engine_pphrase.obj"
+ -@erase "$(INTDIR)\ssl_engine_rand.obj"
+ -@erase "$(INTDIR)\ssl_engine_vars.obj"
+ -@erase "$(INTDIR)\ssl_expr.obj"
+ -@erase "$(INTDIR)\ssl_expr_eval.obj"
+ -@erase "$(INTDIR)\ssl_expr_parse.obj"
+ -@erase "$(INTDIR)\ssl_expr_scan.obj"
+ -@erase "$(INTDIR)\ssl_scache.obj"
+ -@erase "$(INTDIR)\ssl_scache_dbm.obj"
+ -@erase "$(INTDIR)\ssl_scache_dc.obj"
+ -@erase "$(INTDIR)\ssl_scache_shmcb.obj"
+ -@erase "$(INTDIR)\ssl_util.obj"
+ -@erase "$(INTDIR)\ssl_util_ssl.obj"
+ -@erase "$(OUTDIR)\mod_ssl.exp"
+ -@erase "$(OUTDIR)\mod_ssl.lib"
+ -@erase "$(OUTDIR)\mod_ssl.pdb"
+ -@erase "$(OUTDIR)\mod_ssl.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../generators" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../../srclib/openssl/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "WIN32_LEAN_AND_MEAN" /D "NO_IDEA" /D "NO_RC5" /D "NO_MDC2" /D "OPENSSL_NO_IDEA" /D "OPENSSL_NO_RC5" /D "OPENSSL_NO_MDC2" /D "HAVE_OPENSSL" /D "HAVE_SSL_SET_STATE" /D "HAVE_OPENSSL_ENGINE_H" /D "HAVE_ENGINE_INIT" /D "HAVE_ENGINE_LOAD_BUILTIN_ENGINES" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_ssl_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_ssl.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_ssl.so" /d LONG_NAME="proxy_ssl_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_ssl.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib wsock32.lib ws2_32.lib advapi32.lib gdi32.lib libeay32.lib ssleay32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_ssl.pdb" /debug /out:"$(OUTDIR)\mod_ssl.so" /implib:"$(OUTDIR)\mod_ssl.lib" /libpath:"../../srclib/openssl/out32dll" /libpath:"../../srclib/openssl/out32" /base:@..\..\os\win32\BaseAddr.ref,mod_ssl.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_ssl.obj" \
+ "$(INTDIR)\ssl_engine_config.obj" \
+ "$(INTDIR)\ssl_engine_dh.obj" \
+ "$(INTDIR)\ssl_engine_init.obj" \
+ "$(INTDIR)\ssl_engine_io.obj" \
+ "$(INTDIR)\ssl_engine_kernel.obj" \
+ "$(INTDIR)\ssl_engine_log.obj" \
+ "$(INTDIR)\ssl_engine_mutex.obj" \
+ "$(INTDIR)\ssl_engine_pphrase.obj" \
+ "$(INTDIR)\ssl_engine_rand.obj" \
+ "$(INTDIR)\ssl_engine_vars.obj" \
+ "$(INTDIR)\ssl_expr.obj" \
+ "$(INTDIR)\ssl_expr_eval.obj" \
+ "$(INTDIR)\ssl_expr_parse.obj" \
+ "$(INTDIR)\ssl_expr_scan.obj" \
+ "$(INTDIR)\ssl_scache.obj" \
+ "$(INTDIR)\ssl_scache_dbm.obj" \
+ "$(INTDIR)\ssl_scache_shmcb.obj" \
+ "$(INTDIR)\ssl_scache_dc.obj" \
+ "$(INTDIR)\ssl_util.obj" \
+ "$(INTDIR)\ssl_util_ssl.obj" \
+ "$(INTDIR)\mod_ssl.res" \
+ "..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_ssl.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_ssl.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_ssl.so"
+ if exist .\Release\mod_ssl.so.manifest mt.exe -manifest .\Release\mod_ssl.so.manifest -outputresource:.\Release\mod_ssl.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_ssl.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_ssl.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_ssl.obj"
+ -@erase "$(INTDIR)\mod_ssl.res"
+ -@erase "$(INTDIR)\mod_ssl_src.idb"
+ -@erase "$(INTDIR)\mod_ssl_src.pdb"
+ -@erase "$(INTDIR)\ssl_engine_config.obj"
+ -@erase "$(INTDIR)\ssl_engine_dh.obj"
+ -@erase "$(INTDIR)\ssl_engine_init.obj"
+ -@erase "$(INTDIR)\ssl_engine_io.obj"
+ -@erase "$(INTDIR)\ssl_engine_kernel.obj"
+ -@erase "$(INTDIR)\ssl_engine_log.obj"
+ -@erase "$(INTDIR)\ssl_engine_mutex.obj"
+ -@erase "$(INTDIR)\ssl_engine_pphrase.obj"
+ -@erase "$(INTDIR)\ssl_engine_rand.obj"
+ -@erase "$(INTDIR)\ssl_engine_vars.obj"
+ -@erase "$(INTDIR)\ssl_expr.obj"
+ -@erase "$(INTDIR)\ssl_expr_eval.obj"
+ -@erase "$(INTDIR)\ssl_expr_parse.obj"
+ -@erase "$(INTDIR)\ssl_expr_scan.obj"
+ -@erase "$(INTDIR)\ssl_scache.obj"
+ -@erase "$(INTDIR)\ssl_scache_dbm.obj"
+ -@erase "$(INTDIR)\ssl_scache_dc.obj"
+ -@erase "$(INTDIR)\ssl_scache_shmcb.obj"
+ -@erase "$(INTDIR)\ssl_util.obj"
+ -@erase "$(INTDIR)\ssl_util_ssl.obj"
+ -@erase "$(OUTDIR)\mod_ssl.exp"
+ -@erase "$(OUTDIR)\mod_ssl.lib"
+ -@erase "$(OUTDIR)\mod_ssl.pdb"
+ -@erase "$(OUTDIR)\mod_ssl.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../generators" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../../srclib/openssl/inc32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "WIN32_LEAN_AND_MEAN" /D "NO_IDEA" /D "NO_RC5" /D "NO_MDC2" /D "OPENSSL_NO_IDEA" /D "OPENSSL_NO_RC5" /D "OPENSSL_NO_MDC2" /D "HAVE_OPENSSL" /D "HAVE_SSL_SET_STATE" /D "HAVE_OPENSSL_ENGINE_H" /D "HAVE_ENGINE_INIT" /D "HAVE_ENGINE_LOAD_BUILTIN_ENGINES" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_ssl_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_ssl.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_ssl.so" /d LONG_NAME="proxy_ssl_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_ssl.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib wsock32.lib ws2_32.lib advapi32.lib gdi32.lib libeay32.lib ssleay32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_ssl.pdb" /debug /out:"$(OUTDIR)\mod_ssl.so" /implib:"$(OUTDIR)\mod_ssl.lib" /libpath:"../../srclib/openssl/out32dll.dbg" /libpath:"../../srclib/openssl/out32.dbg" /libpath:"../../srclib/openssl/out32dll" /libpath:"../../srclib/openssl/out32" /base:@..\..\os\win32\BaseAddr.ref,mod_ssl.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_ssl.obj" \
+ "$(INTDIR)\ssl_engine_config.obj" \
+ "$(INTDIR)\ssl_engine_dh.obj" \
+ "$(INTDIR)\ssl_engine_init.obj" \
+ "$(INTDIR)\ssl_engine_io.obj" \
+ "$(INTDIR)\ssl_engine_kernel.obj" \
+ "$(INTDIR)\ssl_engine_log.obj" \
+ "$(INTDIR)\ssl_engine_mutex.obj" \
+ "$(INTDIR)\ssl_engine_pphrase.obj" \
+ "$(INTDIR)\ssl_engine_rand.obj" \
+ "$(INTDIR)\ssl_engine_vars.obj" \
+ "$(INTDIR)\ssl_expr.obj" \
+ "$(INTDIR)\ssl_expr_eval.obj" \
+ "$(INTDIR)\ssl_expr_parse.obj" \
+ "$(INTDIR)\ssl_expr_scan.obj" \
+ "$(INTDIR)\ssl_scache.obj" \
+ "$(INTDIR)\ssl_scache_dbm.obj" \
+ "$(INTDIR)\ssl_scache_shmcb.obj" \
+ "$(INTDIR)\ssl_scache_dc.obj" \
+ "$(INTDIR)\ssl_util.obj" \
+ "$(INTDIR)\ssl_util_ssl.obj" \
+ "$(INTDIR)\mod_ssl.res" \
+ "..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_ssl.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_ssl.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_ssl.so"
+ if exist .\Debug\mod_ssl.so.manifest mt.exe -manifest .\Debug\mod_ssl.so.manifest -outputresource:.\Debug\mod_ssl.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : ".\ssl_expr_parse.h" ".\ssl_expr_parse.c" "$(OUTDIR)\mod_ssl.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : ".\ssl_expr_parse.h" ".\ssl_expr_parse.c" "$(OUTDIR)\mod_ssl.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_ssl.obj"
+ -@erase "$(INTDIR)\mod_ssl.res"
+ -@erase "$(INTDIR)\mod_ssl_src.idb"
+ -@erase "$(INTDIR)\mod_ssl_src.pdb"
+ -@erase "$(INTDIR)\ssl_engine_config.obj"
+ -@erase "$(INTDIR)\ssl_engine_dh.obj"
+ -@erase "$(INTDIR)\ssl_engine_init.obj"
+ -@erase "$(INTDIR)\ssl_engine_io.obj"
+ -@erase "$(INTDIR)\ssl_engine_kernel.obj"
+ -@erase "$(INTDIR)\ssl_engine_log.obj"
+ -@erase "$(INTDIR)\ssl_engine_mutex.obj"
+ -@erase "$(INTDIR)\ssl_engine_pphrase.obj"
+ -@erase "$(INTDIR)\ssl_engine_rand.obj"
+ -@erase "$(INTDIR)\ssl_engine_vars.obj"
+ -@erase "$(INTDIR)\ssl_expr.obj"
+ -@erase "$(INTDIR)\ssl_expr_eval.obj"
+ -@erase "$(INTDIR)\ssl_expr_parse.obj"
+ -@erase "$(INTDIR)\ssl_expr_scan.obj"
+ -@erase "$(INTDIR)\ssl_scache.obj"
+ -@erase "$(INTDIR)\ssl_scache_dbm.obj"
+ -@erase "$(INTDIR)\ssl_scache_dc.obj"
+ -@erase "$(INTDIR)\ssl_scache_shmcb.obj"
+ -@erase "$(INTDIR)\ssl_util.obj"
+ -@erase "$(INTDIR)\ssl_util_ssl.obj"
+ -@erase "$(OUTDIR)\mod_ssl.exp"
+ -@erase "$(OUTDIR)\mod_ssl.lib"
+ -@erase "$(OUTDIR)\mod_ssl.pdb"
+ -@erase "$(OUTDIR)\mod_ssl.so"
+ -@erase "ssl_expr_parse.c"
+ -@erase "ssl_expr_parse.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../generators" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../../srclib/openssl/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "WIN32_LEAN_AND_MEAN" /D "NO_IDEA" /D "NO_RC5" /D "NO_MDC2" /D "OPENSSL_NO_IDEA" /D "OPENSSL_NO_RC5" /D "OPENSSL_NO_MDC2" /D "HAVE_OPENSSL" /D "HAVE_SSL_SET_STATE" /D "HAVE_OPENSSL_ENGINE_H" /D "HAVE_ENGINE_INIT" /D "HAVE_ENGINE_LOAD_BUILTIN_ENGINES" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_ssl_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_ssl.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_ssl.so" /d LONG_NAME="proxy_ssl_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_ssl.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib wsock32.lib ws2_32.lib advapi32.lib gdi32.lib libeay32.lib ssleay32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_ssl.pdb" /debug /out:"$(OUTDIR)\mod_ssl.so" /implib:"$(OUTDIR)\mod_ssl.lib" /libpath:"../../srclib/openssl/out32dll" /libpath:"../../srclib/openssl/out32" /base:@..\..\os\win32\BaseAddr.ref,mod_ssl.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_ssl.obj" \
+ "$(INTDIR)\ssl_engine_config.obj" \
+ "$(INTDIR)\ssl_engine_dh.obj" \
+ "$(INTDIR)\ssl_engine_init.obj" \
+ "$(INTDIR)\ssl_engine_io.obj" \
+ "$(INTDIR)\ssl_engine_kernel.obj" \
+ "$(INTDIR)\ssl_engine_log.obj" \
+ "$(INTDIR)\ssl_engine_mutex.obj" \
+ "$(INTDIR)\ssl_engine_pphrase.obj" \
+ "$(INTDIR)\ssl_engine_rand.obj" \
+ "$(INTDIR)\ssl_engine_vars.obj" \
+ "$(INTDIR)\ssl_expr.obj" \
+ "$(INTDIR)\ssl_expr_eval.obj" \
+ "$(INTDIR)\ssl_expr_parse.obj" \
+ "$(INTDIR)\ssl_expr_scan.obj" \
+ "$(INTDIR)\ssl_scache.obj" \
+ "$(INTDIR)\ssl_scache_dbm.obj" \
+ "$(INTDIR)\ssl_scache_shmcb.obj" \
+ "$(INTDIR)\ssl_scache_dc.obj" \
+ "$(INTDIR)\ssl_util.obj" \
+ "$(INTDIR)\ssl_util_ssl.obj" \
+ "$(INTDIR)\mod_ssl.res"
+
+"$(OUTDIR)\mod_ssl.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_ssl.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_ssl.so"
+ if exist .\Release\mod_ssl.so.manifest mt.exe -manifest .\Release\mod_ssl.so.manifest -outputresource:.\Release\mod_ssl.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_ssl.dep")
+!INCLUDE "mod_ssl.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_ssl.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_ssl - Win32 Release" || "$(CFG)" == "mod_ssl - Win32 Debug" || "$(CFG)" == "mod_ssl - Win32 Lexical"
+SOURCE=.\mod_ssl.c
+
+"$(INTDIR)\mod_ssl.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_engine_config.c
+
+"$(INTDIR)\ssl_engine_config.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_engine_dh.c
+
+"$(INTDIR)\ssl_engine_dh.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_engine_init.c
+
+"$(INTDIR)\ssl_engine_init.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_engine_io.c
+
+"$(INTDIR)\ssl_engine_io.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_engine_kernel.c
+
+"$(INTDIR)\ssl_engine_kernel.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_engine_log.c
+
+"$(INTDIR)\ssl_engine_log.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_engine_mutex.c
+
+"$(INTDIR)\ssl_engine_mutex.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_engine_pphrase.c
+
+"$(INTDIR)\ssl_engine_pphrase.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_engine_rand.c
+
+"$(INTDIR)\ssl_engine_rand.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_engine_vars.c
+
+"$(INTDIR)\ssl_engine_vars.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_expr.c
+
+"$(INTDIR)\ssl_expr.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_expr_eval.c
+
+"$(INTDIR)\ssl_expr_eval.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_expr_parse.c
+
+"$(INTDIR)\ssl_expr_parse.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_expr_scan.c
+
+"$(INTDIR)\ssl_expr_scan.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_scache.c
+
+"$(INTDIR)\ssl_scache.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_scache_dbm.c
+
+"$(INTDIR)\ssl_scache_dbm.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_scache_dc.c
+
+"$(INTDIR)\ssl_scache_dc.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_scache_shmcb.c
+
+"$(INTDIR)\ssl_scache_shmcb.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_util.c
+
+"$(INTDIR)\ssl_util.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_util_ssl.c
+
+"$(INTDIR)\ssl_util_ssl.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ssl_expr_parse.y
+
+!IF "$(CFG)" == "mod_ssl - Win32 Release"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
+
+InputPath=.\ssl_expr_parse.y
+
+".\ssl_expr_parse.c" ".\ssl_expr_parse.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ bison -y -d ssl_expr_parse.y
+ sed -e "s;yy;ssl_expr_yy;g" -e "/#if defined(c_plusplus) || defined(__cplusplus)/,/#endif/d" <y.tab.c >ssl_expr_parse.c
+ del y.tab.c
+ sed -e "s;yy;ssl_expr_yy;g" <y.tab.h >ssl_expr_parse.h
+ del y.tab.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\ssl_expr_scan.l
+
+!IF "$(CFG)" == "mod_ssl - Win32 Release"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
+
+InputPath=.\ssl_expr_scan.l
+
+".\ssl_expr_scan.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ flex -Pssl_expr_yy -s -B ssl_expr_scan.l
+ sed -e "/$$Header:/d" <lex.ssl_expr_yy.c >ssl_expr_scan.c
+ del lex.ssl_expr_yy.c
+<<
+
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_ssl - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\ssl"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\ssl"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\ssl"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\ssl"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_ssl - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\ssl"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\ssl"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\ssl"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\ssl"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_ssl - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\ssl"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\ssl"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\ssl"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\ssl"
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_ssl - Win32 Release"
+
+
+"$(INTDIR)\mod_ssl.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_ssl.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_ssl.so" /d LONG_NAME="proxy_ssl_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
+
+
+"$(INTDIR)\mod_ssl.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_ssl.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_ssl.so" /d LONG_NAME="proxy_ssl_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
+
+
+"$(INTDIR)\mod_ssl.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_ssl.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_ssl.so" /d LONG_NAME="proxy_ssl_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/modules/ssl/ssl_engine_config.c b/modules/ssl/ssl_engine_config.c
index d800bb6d..8d3b99d4 100644
--- a/modules/ssl/ssl_engine_config.c
+++ b/modules/ssl/ssl_engine_config.c
@@ -1273,6 +1273,11 @@ static const char *ssl_cmd_protocol_parse(cmd_parms *parms,
}
if (strcEQ(w, "SSLv2")) {
+#ifdef OPENSSL_NO_SSL2
+ if (action != '-') {
+ return "SSLv2 not supported by this version of OpenSSL";
+ }
+#endif
thisopt = SSL_PROTOCOL_SSLV2;
}
else if (strcEQ(w, "SSLv3")) {
diff --git a/modules/ssl/ssl_engine_init.c b/modules/ssl/ssl_engine_init.c
index 00580b84..34535410 100644
--- a/modules/ssl/ssl_engine_init.c
+++ b/modules/ssl/ssl_engine_init.c
@@ -403,7 +403,7 @@ static void ssl_init_server_check(server_rec *s,
{
ap_log_error(APLOG_MARK, APLOG_ERR, 0, s,
"Illegal attempt to re-initialise SSL for server "
- "(theoretically shouldn't happen!)");
+ "(SSLEngine On should go in the VirtualHost, not in global scope.)");
ssl_die();
}
}
@@ -465,13 +465,16 @@ static void ssl_init_ctx_protocol(server_rec *s,
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s,
"Creating new SSL context (protocols: %s)", cp);
+#ifndef OPENSSL_NO_SSL2
if (protocol == SSL_PROTOCOL_SSLV2) {
method = mctx->pkp ?
SSLv2_client_method() : /* proxy */
SSLv2_server_method(); /* server */
ctx = SSL_CTX_new(method); /* only SSLv2 is left */
}
- else {
+ else
+#endif
+ {
method = mctx->pkp ?
SSLv23_client_method() : /* proxy */
SSLv23_server_method(); /* server */
diff --git a/modules/ssl/ssl_engine_io.c b/modules/ssl/ssl_engine_io.c
index 9f5d2832..e2d33909 100644
--- a/modules/ssl/ssl_engine_io.c
+++ b/modules/ssl/ssl_engine_io.c
@@ -749,6 +749,10 @@ static apr_status_t ssl_io_input_getline(bio_filter_in_ctx_t *inctx,
status = ssl_io_input_read(inctx, buf + offset, &tmplen);
if (status != APR_SUCCESS) {
+ if (APR_STATUS_IS_EAGAIN(status) && (*len > 0)) {
+ /* Save the part of the line we already got */
+ char_buffer_write(&inctx->cbuf, buf, *len);
+ }
return status;
}
@@ -1065,6 +1069,7 @@ static int ssl_io_filter_connect(ssl_filter_ctx_t *filter_ctx)
ssl_log_ssl_error(APLOG_MARK, APLOG_INFO, server);
/* ensure that the SSL structures etc are freed, etc: */
ssl_filter_io_shutdown(filter_ctx, c, 1);
+ apr_table_set(c->notes, "SSL_connect_rv", "err");
return HTTP_BAD_GATEWAY;
}
@@ -1082,6 +1087,7 @@ static int ssl_io_filter_connect(ssl_filter_ctx_t *filter_ctx)
}
/* ensure that the SSL structures etc are freed, etc: */
ssl_filter_io_shutdown(filter_ctx, c, 1);
+ apr_table_set(c->notes, "SSL_connect_rv", "err");
return HTTP_BAD_GATEWAY;
}
X509_free(cert);
@@ -1101,10 +1107,12 @@ static int ssl_io_filter_connect(ssl_filter_ctx_t *filter_ctx)
hostname, hostname_note);
/* ensure that the SSL structures etc are freed, etc: */
ssl_filter_io_shutdown(filter_ctx, c, 1);
+ apr_table_set(c->notes, "SSL_connect_rv", "err");
return HTTP_BAD_GATEWAY;
}
}
+ apr_table_set(c->notes, "SSL_connect_rv", "ok");
return APR_SUCCESS;
}
diff --git a/modules/ssl/ssl_private.h b/modules/ssl/ssl_private.h
index af6d0f72..15deb8f1 100644
--- a/modules/ssl/ssl_private.h
+++ b/modules/ssl/ssl_private.h
@@ -218,7 +218,11 @@ typedef int ssl_opt_t;
#define SSL_PROTOCOL_SSLV2 (1<<0)
#define SSL_PROTOCOL_SSLV3 (1<<1)
#define SSL_PROTOCOL_TLSV1 (1<<2)
+#ifndef OPENSSL_NO_SSL2
#define SSL_PROTOCOL_ALL (SSL_PROTOCOL_SSLV2|SSL_PROTOCOL_SSLV3|SSL_PROTOCOL_TLSV1)
+#else
+#define SSL_PROTOCOL_ALL (SSL_PROTOCOL_SSLV3|SSL_PROTOCOL_TLSV1)
+#endif
typedef int ssl_proto_t;
/**
diff --git a/os/config.m4 b/os/config.m4
index 336f360d..b5ab86bd 100644
--- a/os/config.m4
+++ b/os/config.m4
@@ -17,6 +17,10 @@ bs2000*)
OS="cygwin"
OS_DIR="unix"
;;
+*mingw32*)
+ OS="win32"
+ OS_DIR=$OS
+ ;;
*)
OS="unix"
OS_DIR=$OS;;
diff --git a/os/netware/pre_nw.h b/os/netware/pre_nw.h
index f4ce6f53..21ebb675 100644
--- a/os/netware/pre_nw.h
+++ b/os/netware/pre_nw.h
@@ -63,12 +63,6 @@
#define __int64 long long
#endif
-/* Don't use the DBM rewrite map for mod_rewrite */
-#define NO_DBM_REWRITEMAP
-
-/* Allow MOD_AUTH_DBM to use APR */
-#define AP_AUTH_DBM_USE_APR
-
/* Restrict the number of nested includes */
#define AP_MAX_INCLUDE_DEPTH 48
diff --git a/os/netware/util_nw.c b/os/netware/util_nw.c
index bfa196e6..97845d47 100644
--- a/os/netware/util_nw.c
+++ b/os/netware/util_nw.c
@@ -16,9 +16,15 @@
#include "httpd.h"
#include "http_log.h"
+#include "ap_mpm.h"
#include <netware.h>
#include <nks/netware.h>
+#include <nks/vm.h>
+
+void ap_down_server_cb(void *, void *);
+void ap_dummy_cb(void *, void *);
+void ap_cb_destroy(void *);
int nlmUnloadSignaled(int wait);
event_handle_t eh;
@@ -35,31 +41,31 @@ AP_DECLARE(apr_status_t) ap_os_create_privileged_process(
return apr_proc_create(newproc, progname, args, env, attr, p);
}
-int _NonAppCheckUnload( void )
+int _NonAppCheckUnload(void)
{
- return nlmUnloadSignaled(1);
+ return nlmUnloadSignaled(1);
}
-// down server event callback
-void ap_down_server_cb(void *, void *)
+/* down server event callback */
+void ap_down_server_cb(void *a, void *b)
{
- nlmUnloadSignaled(0);
+ nlmUnloadSignaled(0);
return;
}
-// Required place holder event callback
-void ap_dummy_cb(void *, void *)
+/* Required place holder event callback */
+void ap_dummy_cb(void *a, void *b)
{
return;
}
-// destroy callback resources
-void ap_cb_destroy(void *)
+/* destroy callback resources */
+void ap_cb_destroy(void *a)
{
- // cleanup down event notification
- UnRegisterEventNotification(eh);
- NX_UNWRAP_INTERFACE(ref);
- NX_UNWRAP_INTERFACE(dum);
+ /* cleanup down event notification */
+ UnRegisterEventNotification(eh);
+ NX_UNWRAP_INTERFACE(ref);
+ NX_UNWRAP_INTERFACE(dum);
}
int _NonAppStart
@@ -88,7 +94,7 @@ int _NonAppStart
#pragma unused(messageCount)
#pragma unused(messages)
- // register for down server event
+ /* register for down server event */
rtag_t rt = AllocateResourceTag(NLMHandle, "Apache2 Down Server Callback",
EventSignature);
@@ -98,8 +104,9 @@ int _NonAppStart
EVENT_PRIORITY_APPLICATION,
ref, dum, NULL);
- // clean-up
+ /* clean-up */
NXVmRegisterExitHandler(ap_cb_destroy, NULL);
+ return 0;
}
diff --git a/os/unix/unixd.c b/os/unix/unixd.c
index 7a306be6..85d5a98b 100644
--- a/os/unix/unixd.c
+++ b/os/unix/unixd.c
@@ -237,6 +237,23 @@ AP_DECLARE(const char *) unixd_set_chroot_dir(cmd_parms *cmd, void *dummy,
return NULL;
}
+AP_DECLARE(const char *) unixd_set_suexec(cmd_parms *cmd, void *dummy,
+ int arg)
+{
+ const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY);
+ if (err != NULL) {
+ return err;
+ }
+
+ if (!unixd_config.suexec_enabled && arg) {
+ return "suEXEC isn't supported; check existence, owner, and "
+ "file mode of " SUEXEC_BIN;
+ }
+
+ unixd_config.suexec_enabled = arg;
+ return NULL;
+}
+
AP_DECLARE(void) unixd_pre_config(apr_pool_t *ptemp)
{
apr_finfo_t wrapper;
diff --git a/os/unix/unixd.h b/os/unix/unixd.h
index 833cc8f0..0da52784 100644
--- a/os/unix/unixd.h
+++ b/os/unix/unixd.h
@@ -90,6 +90,9 @@ AP_DECLARE(void) unixd_set_rlimit(cmd_parms *cmd, struct rlimit **plimit,
const char *arg, const char * arg2, int type);
#endif
+AP_DECLARE(const char *) unixd_set_suexec(cmd_parms *cmd, void *dummy,
+ int arg);
+
/**
* One of the functions to set mutex permissions should be called in
* the parent process on platforms that switch identity when the
diff --git a/os/win32/Makefile.in b/os/win32/Makefile.in
new file mode 100644
index 00000000..8a16bb82
--- /dev/null
+++ b/os/win32/Makefile.in
@@ -0,0 +1,5 @@
+
+LTLIBRARY_NAME = libos.la
+LTLIBRARY_SOURCES = util_win32.c ap_regkey.c modules.c
+
+include $(top_srcdir)/build/ltlib.mk
diff --git a/os/win32/ap_regkey.c b/os/win32/ap_regkey.c
index ea5a56d3..e080ab4f 100644
--- a/os/win32/ap_regkey.c
+++ b/os/win32/ap_regkey.c
@@ -43,7 +43,7 @@ AP_DECLARE(const ap_regkey_t *) ap_regkey_const(int i)
}
-apr_status_t regkey_cleanup(void *key)
+static apr_status_t regkey_cleanup(void *key)
{
ap_regkey_t *regkey = key;
@@ -363,7 +363,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_raw_get(void **result,
else if (valuelen)
return APR_ENAMETOOLONG;
/* Read to NULL buffer to determine value size */
- rc = RegQueryValueExW(key->hkey, wvalname, 0, resulttype,
+ rc = RegQueryValueExW(key->hkey, wvalname, 0, (LPDWORD)resulttype,
NULL, (LPDWORD)resultsize);
if (rc != ERROR_SUCCESS) {
return APR_FROM_OS_ERROR(rc);
@@ -371,7 +371,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_raw_get(void **result,
/* Read value based on size query above */
*result = apr_palloc(pool, *resultsize);
- rc = RegQueryValueExW(key->hkey, wvalname, 0, resulttype,
+ rc = RegQueryValueExW(key->hkey, wvalname, 0, (LPDWORD)resulttype,
(LPBYTE)*result, (LPDWORD)resultsize);
}
#endif /* APR_HAS_UNICODE_FS */
@@ -379,14 +379,14 @@ AP_DECLARE(apr_status_t) ap_regkey_value_raw_get(void **result,
ELSE_WIN_OS_IS_ANSI
{
/* Read to NULL buffer to determine value size */
- rc = RegQueryValueEx(key->hkey, valuename, 0, resulttype,
+ rc = RegQueryValueEx(key->hkey, valuename, 0, (LPDWORD)resulttype,
NULL, (LPDWORD)resultsize);
if (rc != ERROR_SUCCESS)
return APR_FROM_OS_ERROR(rc);
/* Read value based on size query above */
*result = apr_palloc(pool, *resultsize);
- rc = RegQueryValueEx(key->hkey, valuename, 0, resulttype,
+ rc = RegQueryValueEx(key->hkey, valuename, 0, (LPDWORD)resulttype,
(LPBYTE)*result, (LPDWORD)resultsize);
if (rc != ERROR_SUCCESS)
return APR_FROM_OS_ERROR(rc);
@@ -452,7 +452,7 @@ AP_DECLARE(apr_status_t) ap_regkey_value_array_get(apr_array_header_t **result,
void *value;
char *buf;
char *tmp;
- DWORD type;
+ apr_int32_t type;
apr_size_t size = 0;
rv = ap_regkey_value_raw_get(&value, &size, &type, key, valuename, pool);
@@ -468,8 +468,6 @@ AP_DECLARE(apr_status_t) ap_regkey_value_array_get(apr_array_header_t **result,
{
apr_size_t alloclen;
apr_size_t valuelen = strlen(valuename) + 1;
- apr_size_t wvallen = 256;
- apr_wchar_t *wvalue = (apr_wchar_t *)value;
/* ###: deliberately overallocate plus two extra nulls.
* We could precalculate the exact buffer here instead, the question
diff --git a/os/win32/os.h b/os/win32/os.h
index 8b9f8acb..0fce4787 100644
--- a/os/win32/os.h
+++ b/os/win32/os.h
@@ -38,7 +38,11 @@
#include <io.h>
#include <fcntl.h>
+#ifdef _WIN64
+#define PLATFORM "Win64"
+#else
#define PLATFORM "Win32"
+#endif
/* going away shortly... */
#define HAVE_DRIVE_LETTERS
@@ -48,6 +52,7 @@
#define APACHE_MPM_DIR "server/mpm/winnt" /* generated on unix */
#include <stddef.h>
+#include <stdlib.h> /* for exit() */
#ifdef __cplusplus
extern "C" {
@@ -84,7 +89,7 @@ typedef enum {
FARPROC ap_load_dll_func(ap_dlltoken_e fnLib, char* fnName, int ordinal);
-PSECURITY_ATTRIBUTES GetNullACL();
+PSECURITY_ATTRIBUTES GetNullACL(void);
void CleanNullACL(void *sa);
int set_listeners_noninheritable(apr_pool_t *p);
@@ -93,7 +98,7 @@ int set_listeners_noninheritable(apr_pool_t *p);
#define AP_DECLARE_LATE_DLL_FUNC(lib, rettype, calltype, fn, ord, args, names) \
typedef rettype (calltype *ap_winapi_fpt_##fn) args; \
static ap_winapi_fpt_##fn ap_winapi_pfn_##fn = NULL; \
- __inline rettype ap_winapi_##fn args \
+ static APR_INLINE rettype ap_winapi_##fn args \
{ if (!ap_winapi_pfn_##fn) \
ap_winapi_pfn_##fn = (ap_winapi_fpt_##fn) ap_load_dll_func(lib, #fn, ord); \
return (*(ap_winapi_pfn_##fn)) names; }; \
diff --git a/os/win32/util_win32.c b/os/win32/util_win32.c
index ab96ff11..3a4038a5 100644
--- a/os/win32/util_win32.c
+++ b/os/win32/util_win32.c
@@ -20,6 +20,7 @@
#include "httpd.h"
#include "http_log.h"
+#include "ap_mpm.h"
#include <stdarg.h>
#include <time.h>
@@ -105,7 +106,7 @@ FARPROC ap_load_dll_func(ap_dlltoken_e fnLib, char* fnName, int ordinal)
/* To share the semaphores with other processes, we need a NULL ACL
* Code from MS KB Q106387
*/
-PSECURITY_ATTRIBUTES GetNullACL()
+PSECURITY_ATTRIBUTES GetNullACL(void)
{
PSECURITY_DESCRIPTOR pSD;
PSECURITY_ATTRIBUTES sa;
diff --git a/server/Makefile.in b/server/Makefile.in
index 89498dd4..db2caa0d 100644
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -21,7 +21,7 @@ TARGETS = delete-exports $(LTLIBRARY_NAME) $(CORE_IMPLIB_FILE) export_vars.h htt
include $(top_builddir)/build/rules.mk
include $(top_srcdir)/build/library.mk
-gen_test_char_OBJECTS = gen_test_char.lo util_debug.lo
+gen_test_char_OBJECTS = gen_test_char.lo
gen_test_char: $(gen_test_char_OBJECTS)
$(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
diff --git a/server/NWGNUmakefile b/server/NWGNUmakefile
index 512adfdc..16ce9734 100644
--- a/server/NWGNUmakefile
+++ b/server/NWGNUmakefile
@@ -11,7 +11,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -112,7 +112,7 @@ NLM_THREAD_NAME = genchars
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -124,12 +124,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM =_LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM =_LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -178,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -247,5 +247,5 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/server/core.c b/server/core.c
index 76aae1a3..ea01ca92 100644
--- a/server/core.c
+++ b/server/core.c
@@ -66,6 +66,9 @@
#define AP_MAX_INCLUDE_DEPTH (128)
#endif
+/* valid in core-conf, but not in runtime r->used_path_info */
+#define AP_ACCEPT_PATHINFO_UNSET 3
+
APR_HOOK_STRUCT(
APR_HOOK_LINK(get_mgmt_items)
)
@@ -114,7 +117,7 @@ static void *create_core_dir_config(apr_pool_t *a, char *dir)
conf->override_opts = OPT_UNSET | OPT_ALL | OPT_SYM_OWNER | OPT_MULTI;
conf->content_md5 = 2;
- conf->accept_path_info = 3;
+ conf->accept_path_info = AP_ACCEPT_PATHINFO_UNSET;
conf->use_canonical_name = USE_CANONICAL_NAME_UNSET;
conf->use_canonical_phys_port = USE_CANONICAL_PHYS_PORT_UNSET;
@@ -161,6 +164,7 @@ static void *create_core_dir_config(apr_pool_t *a, char *dir)
conf->enable_mmap = ENABLE_MMAP_UNSET;
conf->enable_sendfile = ENABLE_SENDFILE_UNSET;
conf->allow_encoded_slashes = 0;
+ conf->decode_encoded_slashes = 0;
return (void *)conf;
}
@@ -447,6 +451,7 @@ static void *merge_core_dir_configs(apr_pool_t *a, void *basev, void *newv)
}
conf->allow_encoded_slashes = new->allow_encoded_slashes;
+ conf->decode_encoded_slashes = new->decode_encoded_slashes;
return (void*)conf;
}
@@ -2432,7 +2437,7 @@ static const char *set_timeout(cmd_parms *cmd, void *dummy, const char *arg)
return NULL;
}
-static const char *set_allow2f(cmd_parms *cmd, void *d_, int arg)
+static const char *set_allow2f(cmd_parms *cmd, void *d_, const char *arg)
{
core_dir_config *d = d_;
const char *err = ap_check_cmd_context(cmd, NOT_IN_LIMIT);
@@ -2441,7 +2446,20 @@ static const char *set_allow2f(cmd_parms *cmd, void *d_, int arg)
return err;
}
- d->allow_encoded_slashes = arg != 0;
+ if (0 == strcasecmp(arg, "on")) {
+ d->allow_encoded_slashes = 1;
+ d->decode_encoded_slashes = 1;
+ } else if (0 == strcasecmp(arg, "off")) {
+ d->allow_encoded_slashes = 0;
+ d->decode_encoded_slashes = 0;
+ } else if (0 == strcasecmp(arg, "nodecode")) {
+ d->allow_encoded_slashes = 1;
+ d->decode_encoded_slashes = 0;
+ } else {
+ return apr_pstrcat(cmd->pool,
+ cmd->cmd->name, " must be On, Off, or NoDecode",
+ NULL);
+ }
return NULL;
}
@@ -3434,7 +3452,7 @@ AP_INIT_TAKE1("SetInputFilter", ap_set_string_slot,
AP_INIT_ITERATE2("AddOutputFilterByType", add_ct_output_filters,
(void *)APR_OFFSETOF(core_dir_config, ct_output_filters), OR_FILEINFO,
"output filter name followed by one or more content-types"),
-AP_INIT_FLAG("AllowEncodedSlashes", set_allow2f, NULL, RSRC_CONF,
+AP_INIT_TAKE1("AllowEncodedSlashes", set_allow2f, NULL, RSRC_CONF,
"Allow URLs containing '/' encoded as '%2F'"),
/*
@@ -3480,6 +3498,10 @@ AP_INIT_TAKE1("EnableExceptionHook", ap_mpm_set_exception_hook, NULL, RSRC_CONF,
#endif
AP_INIT_TAKE1("TraceEnable", set_trace_enable, NULL, RSRC_CONF,
"'on' (default), 'off' or 'extended' to trace request body content"),
+#ifdef SUEXEC_BIN
+AP_INIT_FLAG("Suexec", unixd_set_suexec, NULL, RSRC_CONF,
+ "Enable or disable suEXEC support"),
+#endif
{ NULL }
};
@@ -3596,15 +3618,17 @@ static int core_override_type(request_rec *r)
/* Deal with the poor soul who is trying to force path_info to be
* accepted within the core_handler, where they will let the subreq
* address its contents. This is toggled by the user in the very
- * beginning of the fixup phase, so modules should override the user's
+ * beginning of the fixup phase (here!), so modules should override the user's
* discretion in their own module fixup phase. It is tristate, if
- * the user doesn't specify, the result is 2 (which the module may
- * interpret to its own customary behavior.) It won't be touched
- * if the value is no longer undefined (2), so any module changing
- * the value prior to the fixup phase OVERRIDES the user's choice.
+ * the user doesn't specify, the result is AP_REQ_DEFAULT_PATH_INFO.
+ * (which the module may interpret to its own customary behavior.)
+ * It won't be touched if the value is no longer AP_ACCEPT_PATHINFO_UNSET,
+ * so any module changing the value prior to the fixup phase
+ * OVERRIDES the user's choice.
*/
if ((r->used_path_info == AP_REQ_DEFAULT_PATH_INFO)
- && (conf->accept_path_info != 3)) {
+ && (conf->accept_path_info != AP_ACCEPT_PATHINFO_UNSET)) {
+ /* No module knew better, and the user coded AcceptPathInfo */
r->used_path_info = conf->accept_path_info;
}
diff --git a/server/gen_test_char.dep b/server/gen_test_char.dep
new file mode 100644
index 00000000..c749241e
--- /dev/null
+++ b/server/gen_test_char.dep
@@ -0,0 +1,5 @@
+# Microsoft Developer Studio Generated Dependency File, included by gen_test_char.mak
+
+.\gen_test_char.c : \
+ "..\srclib\apr\include\apr_lib.h"\
+
diff --git a/server/gen_test_char.mak b/server/gen_test_char.mak
new file mode 100644
index 00000000..d6e7bfb1
--- /dev/null
+++ b/server/gen_test_char.mak
@@ -0,0 +1,234 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on gen_test_char.dsp
+!IF "$(CFG)" == ""
+CFG=gen_test_char - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to gen_test_char - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "gen_test_char - Win32 Release" && "$(CFG)" != "gen_test_char - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "gen_test_char.mak" CFG="gen_test_char - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "gen_test_char - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "gen_test_char - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "gen_test_char - Win32 Release"
+
+OUTDIR=.
+INTDIR=.\Release
+# Begin Custom Macros
+OutDir=.
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\gen_test_char.exe"
+
+!ELSE
+
+ALL : "libapr - Win32 Release" "$(OUTDIR)\gen_test_char.exe"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\gen_test_char.idb"
+ -@erase "$(INTDIR)\gen_test_char.obj"
+ -@erase "$(OUTDIR)\gen_test_char.exe"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /O2 /I "..\include" /I "..\srclib\apr\include" /I "..\srclib\apr-util\include" /I "..\os\win32" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\gen_test_char" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\gen_test_char.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\Release\gen_test_char.pdb" /out:"$(OUTDIR)\gen_test_char.exe" /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\gen_test_char.obj" \
+ "..\srclib\apr\Release\libapr-1.lib"
+
+"$(OUTDIR)\gen_test_char.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "gen_test_char - Win32 Debug"
+
+OUTDIR=.
+INTDIR=.\Debug
+# Begin Custom Macros
+OutDir=.
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\gen_test_char.exe"
+
+!ELSE
+
+ALL : "libapr - Win32 Debug" "$(OUTDIR)\gen_test_char.exe"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\gen_test_char.idb"
+ -@erase "$(INTDIR)\gen_test_char.obj"
+ -@erase "$(OUTDIR)\Debug\gen_test_char.pdb"
+ -@erase "$(OUTDIR)\gen_test_char.exe"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "..\include" /I "..\srclib\apr\include" /I "..\srclib\apr-util\include" /I "..\os\win32" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\gen_test_char" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\gen_test_char.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\Debug\gen_test_char.pdb" /debug /out:"$(OUTDIR)\gen_test_char.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\gen_test_char.obj" \
+ "..\srclib\apr\Debug\libapr-1.lib"
+
+"$(OUTDIR)\gen_test_char.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("gen_test_char.dep")
+!INCLUDE "gen_test_char.dep"
+!ELSE
+!MESSAGE Warning: cannot find "gen_test_char.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "gen_test_char - Win32 Release" || "$(CFG)" == "gen_test_char - Win32 Debug"
+
+!IF "$(CFG)" == "gen_test_char - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\server"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\server"
+
+!ELSEIF "$(CFG)" == "gen_test_char - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\server"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\server"
+
+!ENDIF
+
+SOURCE=.\gen_test_char.c
+
+"$(INTDIR)\gen_test_char.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/server/mpm/config.m4 b/server/mpm/config.m4
index 6ea447d1..b0907769 100644
--- a/server/mpm/config.m4
+++ b/server/mpm/config.m4
@@ -1,7 +1,7 @@
AC_MSG_CHECKING(which MPM to use)
AC_ARG_WITH(mpm,
APACHE_HELP_STRING(--with-mpm=MPM,Choose the process model for Apache to use.
- MPM={beos|event|worker|prefork|mpmt_os2}),[
+ MPM={beos|event|worker|prefork|mpmt_os2|winnt}),[
APACHE_MPM=$withval
],[
if test "x$APACHE_MPM" = "x"; then
@@ -14,7 +14,7 @@ apache_cv_mpm=$APACHE_MPM
ap_mpm_is_threaded ()
{
- if test "$apache_cv_mpm" = "worker" -o "$apache_cv_mpm" = "event" ; then
+ if test "$apache_cv_mpm" = "worker" -o "$apache_cv_mpm" = "event" -o "$apache_cv_mpm" = "winnt" ; then
return 0
else
return 1
diff --git a/server/mpm/prefork/prefork.c b/server/mpm/prefork/prefork.c
index f5a72057..108f961a 100644
--- a/server/mpm/prefork/prefork.c
+++ b/server/mpm/prefork/prefork.c
@@ -330,6 +330,7 @@ static void just_die(int sig)
static void stop_listening(int sig)
{
+ mpm_state = AP_MPMQ_STOPPING;
ap_close_listeners();
/* For a graceful stop, we want the child to exit when done */
@@ -350,6 +351,7 @@ static void sig_term(int sig)
*/
return;
}
+ mpm_state = AP_MPMQ_STOPPING;
shutdown_pending = 1;
is_graceful = (sig == AP_SIG_GRACEFUL_STOP);
}
@@ -363,6 +365,7 @@ static void restart(int sig)
/* Probably not an error - don't bother reporting it */
return;
}
+ mpm_state = AP_MPMQ_STOPPING;
restart_pending = 1;
is_graceful = (sig == AP_SIG_GRACEFUL);
}
@@ -458,8 +461,10 @@ static int num_listensocks = 0;
int ap_graceful_stop_signalled(void)
{
- /* not ever called anymore... */
- return 0;
+ /* Return true if the server is stopping for whatever reason; the
+ * function is used to initiate a fast exit from the connection
+ * processing loop. */
+ return mpm_state == AP_MPMQ_STOPPING;
}
diff --git a/server/mpm/winnt/Makefile.in b/server/mpm/winnt/Makefile.in
new file mode 100644
index 00000000..38957c87
--- /dev/null
+++ b/server/mpm/winnt/Makefile.in
@@ -0,0 +1,5 @@
+
+LTLIBRARY_NAME = libwinnt.la
+LTLIBRARY_SOURCES = mpm_winnt.c child.c nt_eventlog.c service.c
+
+include $(top_srcdir)/build/ltlib.mk
diff --git a/server/mpm/winnt/child.c b/server/mpm/winnt/child.c
index d918e47a..82cec95f 100644
--- a/server/mpm/winnt/child.c
+++ b/server/mpm/winnt/child.c
@@ -39,6 +39,12 @@
#include <malloc.h>
#include "apr_atomic.h"
+#include <process.h>
+
+#ifdef __MINGW32__
+#include <mswsock.h>
+#endif
+
/* shared with mpm_winnt.c */
extern DWORD my_pid;
@@ -63,8 +69,8 @@ static apr_thread_mutex_t *child_lock;
static apr_thread_mutex_t *qlock;
static PCOMP_CONTEXT qhead = NULL;
static PCOMP_CONTEXT qtail = NULL;
-static int num_completion_contexts = 0;
-static int max_num_completion_contexts = 0;
+static apr_uint32_t num_completion_contexts = 0;
+static apr_uint32_t max_num_completion_contexts = 0;
static HANDLE ThreadDispatchIOCP = NULL;
static HANDLE qwait_event = NULL;
@@ -350,7 +356,7 @@ static unsigned int __stdcall win9x_accept(void * dummy)
apr_os_sock_get(&nsd, lr->sd);
FD_SET(nsd, &listenfds);
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
- "Child %d: Listening on port %d.", my_pid, lr->bind_addr->port);
+ "Child %lu: Listening on port %d.", my_pid, lr->bind_addr->port);
}
}
@@ -510,7 +516,7 @@ static unsigned int __stdcall winnt_accept(void *lr_)
#endif
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
- "Child %d: Starting thread to listen on port %d.", my_pid, lr->bind_addr->port);
+ "Child %lu: Starting thread to listen on port %d.", my_pid, lr->bind_addr->port);
while (!shutdown_in_progress) {
if (!context) {
context = mpm_get_completion_context();
@@ -578,7 +584,7 @@ static unsigned int __stdcall winnt_accept(void *lr_)
context->accept_socket = INVALID_SOCKET;
if (err_count > MAX_ACCEPTEX_ERR_COUNT) {
ap_log_error(APLOG_MARK, APLOG_ERR, rv, ap_server_conf,
- "Child %d: Encountered too many errors accepting client connections. "
+ "Child %lu: Encountered too many errors accepting client connections. "
"Possible causes: dynamic address renewal, or incompatible VPN or firewall software. "
"Try using the Win32DisableAcceptEx directive.", my_pid);
err_count = 0;
@@ -590,7 +596,7 @@ static unsigned int __stdcall winnt_accept(void *lr_)
++err_count;
if (err_count > MAX_ACCEPTEX_ERR_COUNT) {
ap_log_error(APLOG_MARK,APLOG_ERR, rv, ap_server_conf,
- "Child %d: Encountered too many errors accepting client connections. "
+ "Child %lu: Encountered too many errors accepting client connections. "
"Possible causes: Unknown. "
"Try using the Win32DisableAcceptEx directive.", my_pid);
err_count = 0;
@@ -676,7 +682,7 @@ static unsigned int __stdcall winnt_accept(void *lr_)
SetEvent(exit_event);
}
ap_log_error(APLOG_MARK, APLOG_INFO, APR_SUCCESS, ap_server_conf,
- "Child %d: Accept thread exiting.", my_pid);
+ "Child %lu: Accept thread exiting.", my_pid);
return 0;
}
@@ -705,7 +711,7 @@ static PCOMP_CONTEXT winnt_get_connection(PCOMP_CONTEXT context)
if (!rc) {
rc = apr_get_os_error();
ap_log_error(APLOG_MARK,APLOG_DEBUG, rc, ap_server_conf,
- "Child %d: GetQueuedComplationStatus returned %d", my_pid, rc);
+ "Child %lu: GetQueuedComplationStatus returned %d", my_pid, rc);
continue;
}
@@ -822,9 +828,9 @@ static void cleanup_thread(HANDLE *handles, int *thread_cnt, int thread_to_clean
* monitors the child process for maintenance and shutdown
* events.
*/
-static void create_listener_thread()
+static void create_listener_thread(void)
{
- int tid;
+ unsigned tid;
int num_listeners = 0;
if (!use_acceptex) {
_beginthreadex(NULL, 0, win9x_accept,
@@ -870,7 +876,7 @@ void child_main(apr_pool_t *pconf)
int watch_thread;
int time_remains;
int cld;
- int tid;
+ unsigned tid;
int rv;
int i;
@@ -884,7 +890,7 @@ void child_main(apr_pool_t *pconf)
max_requests_per_child_event = CreateEvent(NULL, TRUE, FALSE, NULL);
if (!max_requests_per_child_event) {
ap_log_error(APLOG_MARK, APLOG_CRIT, apr_get_os_error(), ap_server_conf,
- "Child %d: Failed to create a max_requests event.", my_pid);
+ "Child %lu: Failed to create a max_requests event.", my_pid);
exit(APEXIT_CHILDINIT);
}
child_events[0] = exit_event;
@@ -902,11 +908,11 @@ void child_main(apr_pool_t *pconf)
status = apr_proc_mutex_lock(start_mutex);
if (status != APR_SUCCESS) {
ap_log_error(APLOG_MARK,APLOG_ERR, status, ap_server_conf,
- "Child %d: Failed to acquire the start_mutex. Process will exit.", my_pid);
+ "Child %lu: Failed to acquire the start_mutex. Process will exit.", my_pid);
exit(APEXIT_CHILDINIT);
}
ap_log_error(APLOG_MARK,APLOG_NOTICE, APR_SUCCESS, ap_server_conf,
- "Child %d: Acquired the start mutex.", my_pid);
+ "Child %lu: Acquired the start mutex.", my_pid);
/*
* Create the worker thread dispatch IOCompletionPort
@@ -922,7 +928,7 @@ void child_main(apr_pool_t *pconf)
qwait_event = CreateEvent(NULL, TRUE, FALSE, NULL);
if (!qwait_event) {
ap_log_error(APLOG_MARK, APLOG_CRIT, apr_get_os_error(), ap_server_conf,
- "Child %d: Failed to create a qwait event.", my_pid);
+ "Child %lu: Failed to create a qwait event.", my_pid);
exit(APEXIT_CHILDINIT);
}
}
@@ -931,7 +937,7 @@ void child_main(apr_pool_t *pconf)
* Create the pool of worker threads
*/
ap_log_error(APLOG_MARK,APLOG_NOTICE, APR_SUCCESS, ap_server_conf,
- "Child %d: Starting %d worker threads.", my_pid, ap_threads_per_child);
+ "Child %lu: Starting %d worker threads.", my_pid, ap_threads_per_child);
child_handles = (HANDLE) apr_pcalloc(pchild, ap_threads_per_child * sizeof(HANDLE));
apr_thread_mutex_create(&child_lock, APR_THREAD_MUTEX_DEFAULT, pchild);
@@ -947,7 +953,7 @@ void child_main(apr_pool_t *pconf)
worker_main, (void *) i, 0, &tid);
if (child_handles[i] == 0) {
ap_log_error(APLOG_MARK, APLOG_CRIT, apr_get_os_error(), ap_server_conf,
- "Child %d: _beginthreadex failed. Unable to create all worker threads. "
+ "Child %lu: _beginthreadex failed. Unable to create all worker threads. "
"Created %d of the %d threads requested with the ThreadsPerChild configuration directive.",
my_pid, threads_created, ap_threads_per_child);
ap_signal_parent(SIGNAL_PARENT_SHUTDOWN);
@@ -1019,13 +1025,13 @@ void child_main(apr_pool_t *pconf)
if (rv == WAIT_FAILED) {
/* Something serious is wrong */
ap_log_error(APLOG_MARK, APLOG_CRIT, apr_get_os_error(), ap_server_conf,
- "Child %d: WAIT_FAILED -- shutting down server", my_pid);
+ "Child %lu: WAIT_FAILED -- shutting down server", my_pid);
break;
}
else if (cld == 0) {
/* Exit event was signaled */
ap_log_error(APLOG_MARK, APLOG_NOTICE, APR_SUCCESS, ap_server_conf,
- "Child %d: Exit event signaled. Child process is ending.", my_pid);
+ "Child %lu: Exit event signaled. Child process is ending.", my_pid);
break;
}
else {
@@ -1033,7 +1039,7 @@ void child_main(apr_pool_t *pconf)
* Signal the parent to restart
*/
ap_log_error(APLOG_MARK, APLOG_NOTICE, APR_SUCCESS, ap_server_conf,
- "Child %d: Process exiting because it reached "
+ "Child %lu: Process exiting because it reached "
"MaxRequestsPerChild. Signaling the parent to "
"restart a new child process.", my_pid);
ap_signal_parent(SIGNAL_PARENT_RESTART);
@@ -1078,11 +1084,11 @@ void child_main(apr_pool_t *pconf)
rv = apr_proc_mutex_unlock(start_mutex);
if (rv == APR_SUCCESS) {
ap_log_error(APLOG_MARK,APLOG_NOTICE, rv, ap_server_conf,
- "Child %d: Released the start mutex", my_pid);
+ "Child %lu: Released the start mutex", my_pid);
}
else {
ap_log_error(APLOG_MARK,APLOG_ERR, rv, ap_server_conf,
- "Child %d: Failure releasing the start mutex", my_pid);
+ "Child %lu: Failure releasing the start mutex", my_pid);
}
/* Shutdown the worker threads */
@@ -1095,7 +1101,7 @@ void child_main(apr_pool_t *pconf)
/* Post worker threads blocked on the ThreadDispatch IOCompletion port */
while (g_blocked_threads > 0) {
ap_log_error(APLOG_MARK,APLOG_INFO, APR_SUCCESS, ap_server_conf,
- "Child %d: %d threads blocked on the completion port", my_pid, g_blocked_threads);
+ "Child %lu: %d threads blocked on the completion port", my_pid, g_blocked_threads);
for (i=g_blocked_threads; i > 0; i--) {
PostQueuedCompletionStatus(ThreadDispatchIOCP, 0, IOCP_SHUTDOWN, NULL);
}
@@ -1135,7 +1141,7 @@ void child_main(apr_pool_t *pconf)
if ((time_remains % 30000) == 0) {
ap_log_error(APLOG_MARK, APLOG_NOTICE, APR_SUCCESS,
ap_server_conf,
- "Child %d: Waiting %d more seconds "
+ "Child %lu: Waiting %d more seconds "
"for %d worker threads to finish.",
my_pid, time_remains / 1000, threads_created);
}
@@ -1179,7 +1185,7 @@ void child_main(apr_pool_t *pconf)
/* Kill remaining threads off the hard way */
if (threads_created) {
ap_log_error(APLOG_MARK,APLOG_NOTICE, APR_SUCCESS, ap_server_conf,
- "Child %d: Terminating %d threads that failed to exit.",
+ "Child %lu: Terminating %d threads that failed to exit.",
my_pid, threads_created);
}
for (i = 0; i < threads_created; i++) {
@@ -1194,7 +1200,7 @@ void child_main(apr_pool_t *pconf)
}
}
ap_log_error(APLOG_MARK,APLOG_NOTICE, APR_SUCCESS, ap_server_conf,
- "Child %d: All worker threads have exited.", my_pid);
+ "Child %lu: All worker threads have exited.", my_pid);
CloseHandle(allowed_globals.jobsemaphore);
apr_thread_mutex_destroy(allowed_globals.jobmutex);
diff --git a/server/mpm/winnt/config.m4 b/server/mpm/winnt/config.m4
new file mode 100644
index 00000000..93209588
--- /dev/null
+++ b/server/mpm/winnt/config.m4
@@ -0,0 +1,3 @@
+if test "$MPM_NAME" = "winnt" ; then
+ APACHE_FAST_OUTPUT(server/mpm/$MPM_NAME/Makefile)
+fi
diff --git a/server/mpm/winnt/mpm_winnt.c b/server/mpm/winnt/mpm_winnt.c
index 52c4ff9c..d9513175 100644
--- a/server/mpm/winnt/mpm_winnt.c
+++ b/server/mpm/winnt/mpm_winnt.c
@@ -39,6 +39,15 @@
#include <malloc.h>
#include "apr_atomic.h"
+/* Because ap_setup_listeners() is skipped in the child, any merging
+ * of [::]:80 and 0.0.0.0:80 for AP_ENABLE_V4_MAPPED in the parent
+ * won't have taken place in the child, so the child will expect to
+ * read two sockets for "Listen 80" but the parent will send only
+ * one.
+ */
+#ifdef AP_ENABLE_V4_MAPPED
+#error The WinNT MPM does not currently support AP_ENABLE_V4_MAPPED
+#endif
/* scoreboard.c does the heavy lifting; all we do is create the child
* score by moving a handle down the pipe into the child's stdin.
@@ -50,7 +59,7 @@ server_rec *ap_server_conf;
static HANDLE shutdown_event; /* used to signal the parent to shutdown */
static HANDLE restart_event; /* used to signal the parent to restart */
-static char ap_coredump_dir[MAX_STRING_LEN];
+char ap_coredump_dir[MAX_STRING_LEN];
static int one_process = 0;
static char const* signal_arg = NULL;
@@ -93,30 +102,11 @@ extern HANDLE exit_event;
*/
static HANDLE pipe;
-/* Stub functions until this MPM supports the connection status API */
-
-AP_DECLARE(void) ap_update_connection_status(long conn_id, const char *key, \
- const char *value)
-{
- /* NOP */
-}
-
-AP_DECLARE(void) ap_reset_connection_status(long conn_id)
-{
- /* NOP */
-}
-
-AP_DECLARE(apr_array_header_t *) ap_get_status_table(apr_pool_t *p)
-{
- /* NOP */
- return NULL;
-}
-
/*
* Command processors
*/
-static const char *set_threads_per_child (cmd_parms *cmd, void *dummy, char *arg)
+static const char *set_threads_per_child (cmd_parms *cmd, void *dummy, const char *arg)
{
const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY);
if (err != NULL) {
@@ -182,7 +172,7 @@ static const char *set_thread_limit (cmd_parms *cmd, void *dummy, const char *ar
}
return NULL;
}
-static const char *set_disable_acceptex(cmd_parms *cmd, void *dummy, char *arg)
+static const char *set_disable_acceptex(cmd_parms *cmd, void *dummy)
{
const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY);
if (err != NULL) {
@@ -331,9 +321,9 @@ AP_DECLARE(void) ap_signal_parent(ap_signal_parent_e type)
* start mutex [signal from the parent to begin accept()]
* scoreboard shm handle [to recreate the ap_scoreboard]
*/
-void get_handles_from_parent(server_rec *s, HANDLE *child_exit_event,
- apr_proc_mutex_t **child_start_mutex,
- apr_shm_t **scoreboard_shm)
+static void get_handles_from_parent(server_rec *s, HANDLE *child_exit_event,
+ apr_proc_mutex_t **child_start_mutex,
+ apr_shm_t **scoreboard_shm)
{
HANDLE hScore;
HANDLE ready_event;
@@ -349,7 +339,7 @@ void get_handles_from_parent(server_rec *s, HANDLE *child_exit_event,
&BytesRead, (LPOVERLAPPED) NULL)
|| (BytesRead != sizeof(HANDLE))) {
ap_log_error(APLOG_MARK, APLOG_CRIT, apr_get_os_error(), ap_server_conf,
- "Child %d: Unable to retrieve the ready event from the parent", my_pid);
+ "Child %lu: Unable to retrieve the ready event from the parent", my_pid);
exit(APEXIT_CHILDINIT);
}
@@ -360,7 +350,7 @@ void get_handles_from_parent(server_rec *s, HANDLE *child_exit_event,
&BytesRead, (LPOVERLAPPED) NULL)
|| (BytesRead != sizeof(HANDLE))) {
ap_log_error(APLOG_MARK, APLOG_CRIT, apr_get_os_error(), ap_server_conf,
- "Child %d: Unable to retrieve the exit event from the parent", my_pid);
+ "Child %lu: Unable to retrieve the exit event from the parent", my_pid);
exit(APEXIT_CHILDINIT);
}
@@ -368,14 +358,14 @@ void get_handles_from_parent(server_rec *s, HANDLE *child_exit_event,
&BytesRead, (LPOVERLAPPED) NULL)
|| (BytesRead != sizeof(os_start))) {
ap_log_error(APLOG_MARK, APLOG_CRIT, apr_get_os_error(), ap_server_conf,
- "Child %d: Unable to retrieve the start_mutex from the parent", my_pid);
+ "Child %lu: Unable to retrieve the start_mutex from the parent", my_pid);
exit(APEXIT_CHILDINIT);
}
*child_start_mutex = NULL;
if ((rv = apr_os_proc_mutex_put(child_start_mutex, &os_start, s->process->pool))
!= APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_CRIT, rv, ap_server_conf,
- "Child %d: Unable to access the start_mutex from the parent", my_pid);
+ "Child %lu: Unable to access the start_mutex from the parent", my_pid);
exit(APEXIT_CHILDINIT);
}
@@ -383,21 +373,21 @@ void get_handles_from_parent(server_rec *s, HANDLE *child_exit_event,
&BytesRead, (LPOVERLAPPED) NULL)
|| (BytesRead != sizeof(hScore))) {
ap_log_error(APLOG_MARK, APLOG_CRIT, apr_get_os_error(), ap_server_conf,
- "Child %d: Unable to retrieve the scoreboard from the parent", my_pid);
+ "Child %lu: Unable to retrieve the scoreboard from the parent", my_pid);
exit(APEXIT_CHILDINIT);
}
*scoreboard_shm = NULL;
if ((rv = apr_os_shm_put(scoreboard_shm, &hScore, s->process->pool))
!= APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_CRIT, rv, ap_server_conf,
- "Child %d: Unable to access the scoreboard from the parent", my_pid);
+ "Child %lu: Unable to access the scoreboard from the parent", my_pid);
exit(APEXIT_CHILDINIT);
}
rv = ap_reopen_scoreboard(s->process->pool, scoreboard_shm, 1);
if (rv || !(sb_shared = apr_shm_baseaddr_get(*scoreboard_shm))) {
ap_log_error(APLOG_MARK, APLOG_CRIT, rv, NULL,
- "Child %d: Unable to reopen the scoreboard from the parent", my_pid);
+ "Child %lu: Unable to reopen the scoreboard from the parent", my_pid);
exit(APEXIT_CHILDINIT);
}
/* We must 'initialize' the scoreboard to relink all the
@@ -406,7 +396,7 @@ void get_handles_from_parent(server_rec *s, HANDLE *child_exit_event,
ap_init_scoreboard(sb_shared);
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, ap_server_conf,
- "Child %d: Retrieved our scoreboard from the parent.", my_pid);
+ "Child %lu: Retrieved our scoreboard from the parent.", my_pid);
}
@@ -496,7 +486,7 @@ static int send_handles_to_child(apr_pool_t *p,
* exclusively in the child process, receives them from the parent and
* makes them availeble in the child.
*/
-void get_listeners_from_parent(server_rec *s)
+static void get_listeners_from_parent(server_rec *s)
{
WSAPROTOCOL_INFO WSAProtocolInfo;
ap_listen_rec *lr;
@@ -530,7 +520,7 @@ void get_listeners_from_parent(server_rec *s)
&WSAProtocolInfo, 0, 0);
if (nsd == INVALID_SOCKET) {
ap_log_error(APLOG_MARK, APLOG_CRIT, apr_get_netos_error(), ap_server_conf,
- "Child %d: setup_inherited_listeners(), WSASocket failed to open the inherited socket.", my_pid);
+ "Child %lu: setup_inherited_listeners(), WSASocket failed to open the inherited socket.", my_pid);
exit(APEXIT_CHILDINIT);
}
@@ -562,7 +552,7 @@ void get_listeners_from_parent(server_rec *s)
}
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, ap_server_conf,
- "Child %d: retrieved %d listeners from parent", my_pid, lcnt);
+ "Child %lu: retrieved %d listeners from parent", my_pid, lcnt);
}
@@ -582,14 +572,14 @@ static int send_listeners_to_child(apr_pool_t *p, DWORD dwProcessId,
for (lr = ap_listeners; lr; lr = lr->next, ++lcnt) {
apr_os_sock_t nsd;
lpWSAProtocolInfo = apr_pcalloc(p, sizeof(WSAPROTOCOL_INFO));
- apr_os_sock_get(&nsd,lr->sd);
+ apr_os_sock_get(&nsd, lr->sd);
ap_log_error(APLOG_MARK, APLOG_INFO, APR_SUCCESS, ap_server_conf,
- "Parent: Duplicating socket %d and sending it to child process %d",
+ "Parent: Duplicating socket %d and sending it to child process %lu",
nsd, dwProcessId);
if (WSADuplicateSocket(nsd, dwProcessId,
lpWSAProtocolInfo) == SOCKET_ERROR) {
ap_log_error(APLOG_MARK, APLOG_CRIT, apr_get_netos_error(), ap_server_conf,
- "Parent: WSADuplicateSocket failed for socket %d. Check the FAQ.", lr->sd );
+ "Parent: WSADuplicateSocket failed for socket %d. Check the FAQ.", nsd);
return -1;
}
@@ -597,13 +587,13 @@ static int send_listeners_to_child(apr_pool_t *p, DWORD dwProcessId,
sizeof(WSAPROTOCOL_INFO), &BytesWritten))
!= APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_CRIT, rv, ap_server_conf,
- "Parent: Unable to write duplicated socket %d to the child.", lr->sd );
+ "Parent: Unable to write duplicated socket %d to the child.", nsd);
return -1;
}
}
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, ap_server_conf,
- "Parent: Sent %d listeners to child %d", lcnt, dwProcessId);
+ "Parent: Sent %d listeners to child %lu", lcnt, dwProcessId);
return 0;
}
@@ -722,11 +712,12 @@ static int create_process(apr_pool_t *p, HANDLE *child_proc, HANDLE *child_exit_
}
env = apr_palloc(ptemp, (envc + 2) * sizeof (char*));
memcpy(env, _environ, envc * sizeof (char*));
- apr_snprintf(pidbuf, sizeof(pidbuf), "AP_PARENT_PID=%i", parent_pid);
+ apr_snprintf(pidbuf, sizeof(pidbuf), "AP_PARENT_PID=%lu", parent_pid);
env[envc] = pidbuf;
env[envc + 1] = NULL;
- rv = apr_proc_create(&new_child, cmd, args, env, attr, ptemp);
+ rv = apr_proc_create(&new_child, cmd, (const char * const *)args,
+ (const char * const *)env, attr, ptemp);
if (rv != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_CRIT, rv, ap_server_conf,
"Parent: Failed to create the child process.");
@@ -845,13 +836,14 @@ static int create_process(apr_pool_t *p, HANDLE *child_proc, HANDLE *child_exit_
static int master_main(server_rec *s, HANDLE shutdown_event, HANDLE restart_event)
{
int rv, cld;
+ int child_created;
int restart_pending;
int shutdown_pending;
HANDLE child_exit_event;
HANDLE event_handles[NUM_WAIT_HANDLES];
DWORD child_pid;
- restart_pending = shutdown_pending = 0;
+ child_created = restart_pending = shutdown_pending = 0;
event_handles[SHUTDOWN_HANDLE] = shutdown_event;
event_handles[RESTART_HANDLE] = restart_event;
@@ -866,6 +858,9 @@ static int master_main(server_rec *s, HANDLE shutdown_event, HANDLE restart_even
shutdown_pending = 1;
goto die_now;
}
+
+ child_created = 1;
+
if (!strcasecmp(signal_arg, "runservice")) {
mpm_service_started();
}
@@ -915,7 +910,7 @@ static int master_main(server_rec *s, HANDLE shutdown_event, HANDLE restart_even
}
if (SetEvent(child_exit_event) == 0) {
ap_log_error(APLOG_MARK, APLOG_ERR, apr_get_os_error(), s,
- "Parent: SetEvent for child process %d failed.",
+ "Parent: SetEvent for child process %pp failed.",
event_handles[CHILD_HANDLE]);
}
/* Don't wait to verify that the child process really exits,
@@ -935,14 +930,14 @@ static int master_main(server_rec *s, HANDLE shutdown_event, HANDLE restart_even
|| exitcode == APEXIT_CHILDINIT
|| exitcode == APEXIT_INIT) {
ap_log_error(APLOG_MARK, APLOG_CRIT, 0, ap_server_conf,
- "Parent: child process exited with status %u -- Aborting.", exitcode);
+ "Parent: child process exited with status %lu -- Aborting.", exitcode);
shutdown_pending = 1;
}
else {
int i;
restart_pending = 1;
ap_log_error(APLOG_MARK, APLOG_NOTICE, APR_SUCCESS, ap_server_conf,
- "Parent: child process exited with status %u -- Restarting.", exitcode);
+ "Parent: child process exited with status %lu -- Restarting.", exitcode);
for (i = 0; i < ap_threads_per_child; i++) {
ap_update_child_status_from_indexes(0, i, SERVER_DEAD, NULL);
}
@@ -960,6 +955,10 @@ die_now:
int timeout = 30000; /* Timeout is milliseconds */
winnt_mpm_state = AP_MPMQ_STOPPING;
+ if (!child_created) {
+ return 0; /* Tell the caller we do not want to restart */
+ }
+
/* This shutdown is only marginally graceful. We will give the
* child a bit of time to exit gracefully. If the time expires,
* the child will be wacked.
@@ -970,7 +969,8 @@ die_now:
/* Signal the child processes to exit */
if (SetEvent(child_exit_event) == 0) {
ap_log_error(APLOG_MARK,APLOG_ERR, apr_get_os_error(), ap_server_conf,
- "Parent: SetEvent for child process %d failed", event_handles[CHILD_HANDLE]);
+ "Parent: SetEvent for child process %pp failed",
+ event_handles[CHILD_HANDLE]);
}
if (event_handles[CHILD_HANDLE]) {
rv = WaitForSingleObject(event_handles[CHILD_HANDLE], timeout);
@@ -982,7 +982,8 @@ die_now:
}
else {
ap_log_error(APLOG_MARK,APLOG_NOTICE, APR_SUCCESS, ap_server_conf,
- "Parent: Forcing termination of child process %d ", event_handles[CHILD_HANDLE]);
+ "Parent: Forcing termination of child process %pp",
+ event_handles[CHILD_HANDLE]);
TerminateProcess(event_handles[CHILD_HANDLE], 1);
CloseHandle(event_handles[CHILD_HANDLE]);
event_handles[CHILD_HANDLE] = NULL;
@@ -1057,9 +1058,9 @@ static apr_status_t service_set = SERVICE_UNSET;
static apr_status_t service_to_start_success;
static int inst_argc;
static const char * const *inst_argv;
-static char *service_name = NULL;
+static const char *service_name = NULL;
-void winnt_rewrite_args(process_rec *process)
+static void winnt_rewrite_args(process_rec *process)
{
/* Handle the following SCM aspects in this phase:
*
@@ -1199,7 +1200,7 @@ void winnt_rewrite_args(process_rec *process)
optbuf[0] = '-';
optbuf[2] = '\0';
- apr_getopt_init(&opt, process->pool, process->argc, (char**) process->argv);
+ apr_getopt_init(&opt, process->pool, process->argc, process->argv);
opt->errfn = NULL;
while ((rv = apr_getopt(opt, "wn:k:" AP_SERVER_BASEARGS,
optbuf + 1, &optarg)) == APR_SUCCESS) {
@@ -1523,7 +1524,7 @@ static int winnt_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pt
* across a restart
*/
PSECURITY_ATTRIBUTES sa = GetNullACL(); /* returns NULL if invalid (Win95?) */
- setup_signal_names(apr_psprintf(pconf,"ap%d", parent_pid));
+ setup_signal_names(apr_psprintf(pconf,"ap%lu", parent_pid));
ap_log_pid(pconf, ap_pid_fname);
@@ -1635,7 +1636,7 @@ static void winnt_child_init(apr_pool_t *pchild, struct server_rec *s)
{
apr_status_t rv;
- setup_signal_names(apr_psprintf(pchild,"ap%d", parent_pid));
+ setup_signal_names(apr_psprintf(pchild,"ap%lu", parent_pid));
/* This is a child process, not in single process mode */
if (!one_process) {
@@ -1657,7 +1658,7 @@ static void winnt_child_init(apr_pool_t *pchild, struct server_rec *s)
APR_LOCK_DEFAULT, s->process->pool);
if (rv != APR_SUCCESS) {
ap_log_error(APLOG_MARK,APLOG_ERR, rv, ap_server_conf,
- "%s child %d: Unable to init the start_mutex.",
+ "%s child %lu: Unable to init the start_mutex.",
service_name, my_pid);
exit(APEXIT_CHILDINIT);
}
@@ -1700,12 +1701,12 @@ AP_DECLARE(int) ap_mpm_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s )
/* The child process or in one_process (debug) mode
*/
ap_log_error(APLOG_MARK, APLOG_NOTICE, APR_SUCCESS, ap_server_conf,
- "Child %d: Child process is running", my_pid);
+ "Child %lu: Child process is running", my_pid);
child_main(pconf);
ap_log_error(APLOG_MARK, APLOG_NOTICE, APR_SUCCESS, ap_server_conf,
- "Child %d: Child process is exiting", my_pid);
+ "Child %lu: Child process is exiting", my_pid);
return 1;
}
else
diff --git a/server/mpm/winnt/mpm_winnt.h b/server/mpm/winnt/mpm_winnt.h
index dfe0e518..e21a6f43 100644
--- a/server/mpm/winnt/mpm_winnt.h
+++ b/server/mpm/winnt/mpm_winnt.h
@@ -62,7 +62,7 @@ void mpm_start_child_console_handler(void);
/* From nt_eventlog.c: */
-void mpm_nt_eventlog_stderr_open(char *display_name, apr_pool_t *p);
+void mpm_nt_eventlog_stderr_open(const char *display_name, apr_pool_t *p);
void mpm_nt_eventlog_stderr_flush(void);
/* From winnt.c: */
@@ -126,5 +126,9 @@ PCOMP_CONTEXT mpm_get_completion_context(void);
void mpm_recycle_completion_context(PCOMP_CONTEXT pCompContext);
apr_status_t mpm_post_completion_context(PCOMP_CONTEXT pCompContext, io_state_e state);
void hold_console_open_on_error(void);
+
+/* From child.c: */
+void child_main(apr_pool_t *pconf);
+
#endif /* APACHE_MPM_WINNT_H */
/** @} */
diff --git a/server/mpm/winnt/nt_eventlog.c b/server/mpm/winnt/nt_eventlog.c
index baa1a88b..d8d758bb 100644
--- a/server/mpm/winnt/nt_eventlog.c
+++ b/server/mpm/winnt/nt_eventlog.c
@@ -24,7 +24,7 @@
#include "apr_portable.h"
#include "ap_regkey.h"
-static char *display_name = NULL;
+static const char *display_name = NULL;
static HANDLE stderr_thread = NULL;
static HANDLE stderr_ready;
@@ -101,7 +101,7 @@ static DWORD WINAPI service_stderr_thread(LPVOID hPipe)
if ((errres = GetLastError()) != ERROR_BROKEN_PIPE) {
apr_snprintf(errbuf, sizeof(errbuf),
- "Win32 error %d reading stderr pipe stream\r\n",
+ "Win32 error %lu reading stderr pipe stream\r\n",
GetLastError());
ReportEvent(hEventSource, EVENTLOG_ERROR_TYPE, 0,
@@ -131,13 +131,11 @@ void mpm_nt_eventlog_stderr_flush(void)
}
-void mpm_nt_eventlog_stderr_open(char *argv0, apr_pool_t *p)
+void mpm_nt_eventlog_stderr_open(const char *argv0, apr_pool_t *p)
{
SECURITY_ATTRIBUTES sa;
- HANDLE hProc = GetCurrentProcess();
HANDLE hPipeRead = NULL;
HANDLE hPipeWrite = NULL;
- HANDLE hDup = NULL;
DWORD threadid;
apr_file_t *eventlog_file;
apr_file_t *stderr_file;
diff --git a/server/mpm/winnt/service.c b/server/mpm/winnt/service.c
index 6c5d87b4..aa5291d2 100644
--- a/server/mpm/winnt/service.c
+++ b/server/mpm/winnt/service.c
@@ -34,6 +34,7 @@
#endif
#undef _WINUSER_
#include <winuser.h>
+#include <time.h>
static char *mpm_service_name = NULL;
static char *mpm_display_name = NULL;
@@ -52,42 +53,6 @@ static struct
static int ReportStatusToSCMgr(int currentState, int exitCode, int waitHint);
-#define PRODREGKEY "SOFTWARE\\" AP_SERVER_BASEVENDOR "\\" \
- AP_SERVER_BASEPRODUCT "\\" AP_SERVER_BASEREVISION
-
-/*
- * Get the server root from the registry into 'dir' which is
- * size bytes long. Returns 0 if the server root was found
- * or if the serverroot key does not exist (in which case
- * dir will contain an empty string), or -1 if there was
- * an error getting the key.
- */
-apr_status_t ap_registry_get_server_root(apr_pool_t *p, char **buf)
-{
- apr_status_t rv;
- ap_regkey_t *key;
-
- if ((rv = ap_regkey_open(&key, AP_REGKEY_LOCAL_MACHINE, PRODREGKEY,
- APR_READ, p)) == APR_SUCCESS) {
- rv = ap_regkey_value_get(buf, key, "ServerRoot", p);
- ap_regkey_close(key);
- if (rv == APR_SUCCESS)
- return rv;
- }
-
- if ((rv = ap_regkey_open(&key, AP_REGKEY_CURRENT_USER, PRODREGKEY,
- APR_READ, p)) == APR_SUCCESS) {
- rv = ap_regkey_value_get(buf, key, "ServerRoot", p);
- ap_regkey_close(key);
- if (rv == APR_SUCCESS)
- return rv;
- }
-
- *buf = NULL;
- return rv;
-}
-
-
/* The service configuration's is stored under the following trees:
*
* HKLM\System\CurrentControlSet\Services\[service name]
@@ -157,7 +122,8 @@ void hold_console_open_on_error(void)
return;
}
remains = ((start + 30) - time(NULL));
- sprintf (count, "%d...", remains);
+ sprintf(count, "%d...",
+ (int)remains); /* 30 or less, so can't overflow int */
if (!SetConsoleCursorPosition(hConErr, coninfo.dwCursorPosition))
return;
if (!WriteConsole(hConErr, count, (DWORD)strlen(count), &result, NULL)
@@ -427,7 +393,6 @@ static void set_service_description(void)
{
const char *full_description;
SC_HANDLE schSCManager;
- BOOL ret = 0;
/* Nothing to do if we are a console
*/
@@ -565,7 +530,7 @@ static void __stdcall service_nt_main_fn(DWORD argc, LPTSTR *argv)
}
-DWORD WINAPI service_nt_dispatch_thread(LPVOID nada)
+static DWORD WINAPI service_nt_dispatch_thread(LPVOID nada)
{
apr_status_t rv = APR_SUCCESS;
@@ -675,7 +640,7 @@ apr_status_t mpm_merge_service_args(apr_pool_t *p,
}
-void service_stopped(void)
+static void service_stopped(void)
{
/* Still have a thread & window to clean up, so signal now */
if (globdat.service_thread)
@@ -1075,7 +1040,7 @@ apr_status_t mpm_service_start(apr_pool_t *ptemp, int argc,
if (osver.dwPlatformId == VER_PLATFORM_WIN32_NT)
{
- char **start_argv;
+ CHAR **start_argv;
SC_HANDLE schService;
SC_HANDLE schSCManager;
diff --git a/server/mpm_common.c b/server/mpm_common.c
index 1c50d45b..754fc643 100644
--- a/server/mpm_common.c
+++ b/server/mpm_common.c
@@ -561,7 +561,7 @@ int initgroups(const char *name, gid_t basegid)
return setgroups(index, groups);
#endif /* def QNX */
}
-#endif /* def NEED_INITGROUPS */
+#endif /* def HAVE_INITGROUPS */
#ifdef AP_MPM_USES_POD
diff --git a/server/protocol.c b/server/protocol.c
index 570ec2e0..55468fc1 100644
--- a/server/protocol.c
+++ b/server/protocol.c
@@ -608,6 +608,9 @@ static int read_request_line(request_rec *r, apr_bucket_brigade *bb)
r->proto_num = HTTP_VERSION(1,0);
r->protocol = apr_pstrdup(r->pool, "HTTP/1.0");
}
+ else if (APR_STATUS_IS_TIMEUP(rv)) {
+ r->status = HTTP_REQUEST_TIME_OUT;
+ }
return 0;
}
} while ((len <= 0) && (++num_blank_lines < max_blank_lines));
@@ -691,7 +694,12 @@ AP_DECLARE(void) ap_get_mime_headers_core(request_rec *r, apr_bucket_brigade *bb
&len, r, 0, bb);
if (rv != APR_SUCCESS) {
- r->status = HTTP_BAD_REQUEST;
+ if (APR_STATUS_IS_TIMEUP(rv)) {
+ r->status = HTTP_REQUEST_TIME_OUT;
+ }
+ else {
+ r->status = HTTP_BAD_REQUEST;
+ }
/* ap_rgetline returns APR_ENOSPC if it fills up the buffer before
* finding the end-of-line. This is only going to happen if it
@@ -877,7 +885,7 @@ request_rec *ap_read_request(conn_rec *conn)
r->read_length = 0;
r->read_body = REQUEST_NO_BODY;
- r->status = HTTP_REQUEST_TIME_OUT; /* Until we get a request */
+ r->status = HTTP_OK; /* Until further notice */
r->the_request = NULL;
/* Begin by presuming any module can make its own path_info assumptions,
@@ -898,6 +906,14 @@ request_rec *ap_read_request(conn_rec *conn)
apr_brigade_destroy(tmp_bb);
return r;
}
+ else if (r->status == HTTP_REQUEST_TIME_OUT) {
+ ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r);
+ if (!r->connection->keepalives) {
+ ap_run_log_transaction(r);
+ }
+ apr_brigade_destroy(tmp_bb);
+ return r;
+ }
apr_brigade_destroy(tmp_bb);
return NULL;
@@ -916,7 +932,7 @@ request_rec *ap_read_request(conn_rec *conn)
if (!r->assbackwards) {
ap_get_mime_headers_core(r, tmp_bb);
- if (r->status != HTTP_REQUEST_TIME_OUT) {
+ if (r->status != HTTP_OK) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"request failed: error reading the headers");
ap_send_error_response(r, 0);
@@ -957,8 +973,6 @@ request_rec *ap_read_request(conn_rec *conn)
apr_brigade_destroy(tmp_bb);
- r->status = HTTP_OK; /* Until further notice. */
-
/* update what we think the virtual host is based on the headers we've
* now read. may update status.
*/
@@ -1641,6 +1655,7 @@ AP_DECLARE(void) ap_send_interim_response(request_rec *r, int send_headers)
{
hdr_ptr x;
char *status_line = NULL;
+ request_rec *rr;
if (r->proto_num < 1001) {
/* don't send interim response to HTTP/1.0 Client */
@@ -1652,6 +1667,14 @@ AP_DECLARE(void) ap_send_interim_response(request_rec *r, int send_headers)
return;
}
+ /* if we send an interim response, we're no longer in a state of
+ * expecting one. Also, this could feasibly be in a subrequest,
+ * so we need to propagate the fact that we responded.
+ */
+ for (rr = r; rr != NULL; rr = rr->main) {
+ rr->expecting_100 = 0;
+ }
+
status_line = apr_pstrcat(r->pool, AP_SERVER_PROTOCOL, " ", r->status_line, CRLF, NULL);
ap_xlate_proto_to_ascii(status_line, strlen(status_line));
diff --git a/server/request.c b/server/request.c
index 1801cf7b..f076e637 100644
--- a/server/request.c
+++ b/server/request.c
@@ -109,7 +109,7 @@ AP_DECLARE(int) ap_process_request_internal(request_rec *r)
core_dir_config *d;
d = ap_get_module_config(r->per_dir_config, &core_module);
if (d->allow_encoded_slashes) {
- access_status = ap_unescape_url_keep2f(r->parsed_uri.path);
+ access_status = ap_unescape_url_keep2f_ex(r->parsed_uri.path, d->decode_encoded_slashes);
}
else {
access_status = ap_unescape_url(r->parsed_uri.path);
diff --git a/server/util.c b/server/util.c
index ac429c78..d0b90c6a 100644
--- a/server/util.c
+++ b/server/util.c
@@ -1589,7 +1589,7 @@ AP_DECLARE(int) ap_unescape_url(char *url)
return OK;
}
-AP_DECLARE(int) ap_unescape_url_keep2f(char *url)
+AP_DECLARE(int) ap_unescape_url_keep2f_ex(char *url, int decode_2f)
{
register int badesc, badpath;
char *x, *y;
@@ -1617,6 +1617,10 @@ AP_DECLARE(int) ap_unescape_url_keep2f(char *url)
if (decoded == '\0') {
badpath = 1;
}
+ else if (IS_SLASH(decoded) && !decode_2f) {
+ /* do not decode, just let it go by as-is */
+ *x = *y;
+ }
else {
*x = decoded;
y += 2;
@@ -1636,6 +1640,11 @@ AP_DECLARE(int) ap_unescape_url_keep2f(char *url)
}
}
+AP_DECLARE(int) ap_unescape_url_keep2f(char *url)
+{
+ return ap_unescape_url_keep2f_ex(url, 1);
+}
+
AP_DECLARE(char *) ap_construct_server(apr_pool_t *p, const char *hostname,
apr_port_t port, const request_rec *r)
{
diff --git a/server/util_script.c b/server/util_script.c
index 6d6f3f4a..1300951b 100644
--- a/server/util_script.c
+++ b/server/util_script.c
@@ -187,16 +187,16 @@ AP_DECLARE(void) ap_add_common_vars(request_rec *r)
apr_table_addn(e, "PATH", apr_pstrdup(r->pool, env_path));
#ifdef WIN32
- if (env_temp = getenv("SystemRoot")) {
+ if ((env_temp = getenv("SystemRoot")) != NULL) {
apr_table_addn(e, "SystemRoot", env_temp);
}
- if (env_temp = getenv("COMSPEC")) {
+ if ((env_temp = getenv("COMSPEC")) != NULL) {
apr_table_addn(e, "COMSPEC", env_temp);
}
- if (env_temp = getenv("PATHEXT")) {
+ if ((env_temp = getenv("PATHEXT")) != NULL) {
apr_table_addn(e, "PATHEXT", env_temp);
}
- if (env_temp = getenv("WINDIR")) {
+ if ((env_temp = getenv("WINDIR")) != NULL) {
apr_table_addn(e, "WINDIR", env_temp);
}
#endif
diff --git a/srclib/apr-util/CHANGES b/srclib/apr-util/CHANGES
index 226eab5d..cac3354d 100644
--- a/srclib/apr-util/CHANGES
+++ b/srclib/apr-util/CHANGES
@@ -1,4 +1,25 @@
-*- coding: utf-8 -*-
+Changes with APR-util 1.3.12
+
+ *) apr_ldap: Fix crash because of NULL cleanup registered by
+ apr_ldap_rebind_init(). [Rainer Jung]
+
+Changes with APR-util 1.3.11
+
+ *) apr_dbd_oracle: fix endianness issue in prepared statements.
+ PR 50690. [Stefan Ruppert <sr myarm.com>]
+
+ *) apr_ldap: resolve possible hangs or crashes when the pool passed
+ to apr_ldap_rebind_init() is cleaned up and apr_ldap_rebind
+ is re-initted and re-used. PR50918. [Eric Covener]
+
+ *) DBD ODBC support: Fix stack buffer overwrite when an unexpected
+ number of parameters is passed to open. Fix range checking of the
+ APR DBD type enum passed to some of the APIs. [Jeff Trawick]
+
+ *) Add support for Berkeley DB 5.1.
+ [Rainer Jung]
+
Changes with APR-util 1.3.10
*) SECURITY: CVE-2010-1623 (cve.mitre.org)
diff --git a/srclib/apr-util/NOTICE b/srclib/apr-util/NOTICE
index c1dab465..aaf9cd04 100644
--- a/srclib/apr-util/NOTICE
+++ b/srclib/apr-util/NOTICE
@@ -1,5 +1,5 @@
Apache Portable Runtime Utility Library
-Copyright (c) 2009 The Apache Software Foundation.
+Copyright (c) 2011 The Apache Software Foundation.
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
diff --git a/srclib/apr-util/NWGNUmakefile b/srclib/apr-util/NWGNUmakefile
index 8b4680ac..71c2b15b 100644
--- a/srclib/apr-util/NWGNUmakefile
+++ b/srclib/apr-util/NWGNUmakefile
@@ -5,18 +5,18 @@
SUBDIRS = \
ldap \
xml \
- $(EOLIST)
+ $(EOLIST)
ifdef WITH_APR_DBD
SUBDIRS += \
dbd \
- $(EOLIST)
+ $(EOLIST)
endif
ifdef WITH_APR_DBM
SUBDIRS += \
dbm \
- $(EOLIST)
+ $(EOLIST)
endif
#
@@ -24,7 +24,7 @@ endif
# paths to tools
#
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
#
# Make sure all needed macro's are defined
@@ -37,11 +37,11 @@ include $(APR_WORK)\build\NWGNUhead.inc
XINCDIRS += \
$(APR)/include \
$(APR)/include/arch/NetWare \
- $(APRUTIL)/include \
- $(APRUTIL)/uri \
- $(APRUTIL)/dbm/sdbm \
- $(APRUTIL)/include/private \
- $(APRUTIL)/xml/expat/lib \
+ $(APU)/include \
+ $(APU)/uri \
+ $(APU)/dbm/sdbm \
+ $(APU)/include/private \
+ $(APUXML)/expat/lib \
$(LDAPSDK)/inc \
$(EOLIST)
@@ -114,21 +114,21 @@ endif
# This is used by the link 'name' directive to name the nlm. If left blank
# TARGET_nlm (see below) will be used.
#
-NLM_NAME =
+NLM_NAME =
#
-# This is used by the link '-desc ' directive.
+# This is used by the link '-desc ' directive.
# If left blank, NLM_NAME will be used.
#
-NLM_DESCRIPTION =
+NLM_DESCRIPTION =
#
# This is used by the '-threadname' directive. If left blank,
# NLM_NAME Thread will be used.
#
-NLM_THREAD_NAME =
+NLM_THREAD_NAME =
#
-# If this is specified, it will override VERSION value in
+# If this is specified, it will override VERSION value in
# $(APR_WORK)\build\NWGNUenvironment.inc
#
NLM_VERSION =
@@ -136,17 +136,17 @@ NLM_VERSION =
#
# If this is specified, it will override the default of 64K
#
-NLM_STACK_SIZE =
+NLM_STACK_SIZE =
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM =
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM =
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -159,11 +159,11 @@ NLM_CHECK_SYM =
NLM_FLAGS =
#
-# If this is specified it will be linked in with the XDCData option in the def
-# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
+# If this is specified it will be linked in with the XDCData option in the def
+# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
# be disabled by setting APACHE_UNIPROC in the environment
#
-XDCDATA =
+XDCDATA =
#
# Declare all target files (you must add your files here)
@@ -179,7 +179,7 @@ TARGET_nlm = \
# If there is an LIB target, put it here
#
TARGET_lib = \
- $(OBJDIR)/aprutil.lib \
+ $(OBJDIR)/apulib.lib \
$(EOLIST)
#
@@ -207,7 +207,7 @@ FILES_nlm_modules = \
# If the nlm has a msg file, put it's path here
#
FILE_nlm_msg =
-
+
#
# If the nlm has a hlp file put it's path here
#
@@ -223,14 +223,14 @@ FILE_nlm_copyright =
#
FILES_nlm_Ximports = \
$(EOLIST)
-
-#
+
+#
# Any symbols exported to here
#
FILES_nlm_exports = \
$(EOLIST)
-#
+#
# These are the OBJ files needed to create the LIB target above.
# Paths must all use the '/' character
#
@@ -284,8 +284,8 @@ libs :: $(OBJDIR) $(TARGET_lib)
nlms :: libs $(TARGET_nlm)
#
-# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# Updated this target to create necessary directories and copy files to the
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -300,6 +300,6 @@ vpath %.c buckets:crypto:dbd:dbm:dbm/sdbm:encoding:hooks:ldap:memcache:misc:strm
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr-util/build-outputs.mk b/srclib/apr-util/build-outputs.mk
index 9bf081f5..57a7bc1a 100644
--- a/srclib/apr-util/build-outputs.mk
+++ b/srclib/apr-util/build-outputs.mk
@@ -1,48 +1,48 @@
# DO NOT EDIT. AUTOMATICALLY GENERATED.
+buckets/apr_brigade.lo: buckets/apr_brigade.c .make.dirs include/apr_buckets.h
+buckets/apr_buckets.lo: buckets/apr_buckets.c .make.dirs include/apr_buckets.h
+buckets/apr_buckets_alloc.lo: buckets/apr_buckets_alloc.c .make.dirs include/apr_buckets.h
buckets/apr_buckets_eos.lo: buckets/apr_buckets_eos.c .make.dirs include/apr_buckets.h
+buckets/apr_buckets_file.lo: buckets/apr_buckets_file.c .make.dirs include/apr_buckets.h
buckets/apr_buckets_flush.lo: buckets/apr_buckets_flush.c .make.dirs include/apr_buckets.h
-buckets/apr_buckets_pool.lo: buckets/apr_buckets_pool.c .make.dirs include/apr_buckets.h
-buckets/apr_buckets_socket.lo: buckets/apr_buckets_socket.c .make.dirs include/apr_buckets.h
-buckets/apr_buckets_alloc.lo: buckets/apr_buckets_alloc.c .make.dirs include/apr_buckets.h
+buckets/apr_buckets_heap.lo: buckets/apr_buckets_heap.c .make.dirs include/apr_buckets.h
buckets/apr_buckets_mmap.lo: buckets/apr_buckets_mmap.c .make.dirs include/apr_buckets.h
buckets/apr_buckets_pipe.lo: buckets/apr_buckets_pipe.c .make.dirs include/apr_buckets.h
-buckets/apr_buckets_heap.lo: buckets/apr_buckets_heap.c .make.dirs include/apr_buckets.h
+buckets/apr_buckets_pool.lo: buckets/apr_buckets_pool.c .make.dirs include/apr_buckets.h
buckets/apr_buckets_refcount.lo: buckets/apr_buckets_refcount.c .make.dirs include/apr_buckets.h
-buckets/apr_buckets.lo: buckets/apr_buckets.c .make.dirs include/apr_buckets.h
buckets/apr_buckets_simple.lo: buckets/apr_buckets_simple.c .make.dirs include/apr_buckets.h
-buckets/apr_brigade.lo: buckets/apr_brigade.c .make.dirs include/apr_buckets.h
-buckets/apr_buckets_file.lo: buckets/apr_buckets_file.c .make.dirs include/apr_buckets.h
-crypto/getuuid.lo: crypto/getuuid.c .make.dirs include/apr_uuid.h include/apr_md5.h include/apr_xlate.h
-crypto/apr_md5.lo: crypto/apr_md5.c .make.dirs include/apr_xlate.h include/apr_md5.h include/apr_sha1.h
-crypto/apr_sha1.lo: crypto/apr_sha1.c .make.dirs include/apr_xlate.h include/apr_sha1.h include/apr_base64.h
-crypto/uuid.lo: crypto/uuid.c .make.dirs include/apr_uuid.h
+buckets/apr_buckets_socket.lo: buckets/apr_buckets_socket.c .make.dirs include/apr_buckets.h
crypto/apr_md4.lo: crypto/apr_md4.c .make.dirs include/apr_md4.h include/apr_xlate.h
-dbm/apr_dbm_sdbm.lo: dbm/apr_dbm_sdbm.c .make.dirs include/apr_sdbm.h include/apr_dbm.h include/private/apr_dbm_private.h
-dbm/apr_dbm.lo: dbm/apr_dbm.c .make.dirs include/private/apu_internal.h include/apu_version.h include/apr_dbm.h include/private/apr_dbm_private.h
-dbm/sdbm/sdbm_lock.lo: dbm/sdbm/sdbm_lock.c .make.dirs include/apr_sdbm.h
+crypto/apr_md5.lo: crypto/apr_md5.c .make.dirs include/apr_md5.h include/apr_sha1.h include/apr_xlate.h
+crypto/apr_sha1.lo: crypto/apr_sha1.c .make.dirs include/apr_base64.h include/apr_sha1.h include/apr_xlate.h
+crypto/getuuid.lo: crypto/getuuid.c .make.dirs include/apr_md5.h include/apr_uuid.h include/apr_xlate.h
+crypto/uuid.lo: crypto/uuid.c .make.dirs include/apr_uuid.h
+dbd/apr_dbd.lo: dbd/apr_dbd.c .make.dirs include/apr_dbd.h include/apu_version.h include/private/apr_dbd_internal.h include/private/apu_internal.h
+dbm/apr_dbm.lo: dbm/apr_dbm.c .make.dirs include/apr_dbm.h include/apu_version.h include/private/apr_dbm_private.h include/private/apu_internal.h
+dbm/apr_dbm_sdbm.lo: dbm/apr_dbm_sdbm.c .make.dirs include/apr_dbm.h include/apr_sdbm.h include/private/apr_dbm_private.h
dbm/sdbm/sdbm.lo: dbm/sdbm/sdbm.c .make.dirs include/apr_sdbm.h
-dbm/sdbm/sdbm_pair.lo: dbm/sdbm/sdbm_pair.c .make.dirs include/apr_sdbm.h
dbm/sdbm/sdbm_hash.lo: dbm/sdbm/sdbm_hash.c .make.dirs include/apr_sdbm.h
+dbm/sdbm/sdbm_lock.lo: dbm/sdbm/sdbm_lock.c .make.dirs include/apr_sdbm.h
+dbm/sdbm/sdbm_pair.lo: dbm/sdbm/sdbm_pair.c .make.dirs include/apr_sdbm.h
encoding/apr_base64.lo: encoding/apr_base64.c .make.dirs include/apr_base64.h include/apr_xlate.h
-hooks/apr_hooks.lo: hooks/apr_hooks.c .make.dirs include/apr_optional_hooks.h include/apr_optional.h include/apr_hooks.h
-ldap/apr_ldap_stub.lo: ldap/apr_ldap_stub.c .make.dirs include/private/apu_internal.h include/apu_version.h
+hooks/apr_hooks.lo: hooks/apr_hooks.c .make.dirs include/apr_hooks.h include/apr_optional.h include/apr_optional_hooks.h
+ldap/apr_ldap_stub.lo: ldap/apr_ldap_stub.c .make.dirs include/apu_version.h include/private/apu_internal.h
ldap/apr_ldap_url.lo: ldap/apr_ldap_url.c .make.dirs
-misc/apu_dso.lo: misc/apu_dso.c .make.dirs include/private/apu_internal.h include/apu_version.h
-misc/apr_thread_pool.lo: misc/apr_thread_pool.c .make.dirs include/apr_thread_pool.h
+memcache/apr_memcache.lo: memcache/apr_memcache.c .make.dirs include/apr_buckets.h include/apr_memcache.h include/apr_reslist.h
misc/apr_date.lo: misc/apr_date.c .make.dirs include/apr_date.h
misc/apr_queue.lo: misc/apr_queue.c .make.dirs include/apr_queue.h
-misc/apu_version.lo: misc/apu_version.c .make.dirs include/apu_version.h
misc/apr_reslist.lo: misc/apr_reslist.c .make.dirs include/apr_reslist.h
-misc/apr_rmm.lo: misc/apr_rmm.c .make.dirs include/apr_rmm.h include/apr_anylock.h
-memcache/apr_memcache.lo: memcache/apr_memcache.c .make.dirs include/apr_memcache.h include/apr_reslist.h include/apr_buckets.h
-uri/apr_uri.lo: uri/apr_uri.c .make.dirs include/apr_uri.h
-xml/apr_xml.lo: xml/apr_xml.c .make.dirs include/apr_xml.h include/apr_xlate.h
+misc/apr_rmm.lo: misc/apr_rmm.c .make.dirs include/apr_anylock.h include/apr_rmm.h
+misc/apr_thread_pool.lo: misc/apr_thread_pool.c .make.dirs include/apr_thread_pool.h
+misc/apu_dso.lo: misc/apu_dso.c .make.dirs include/apu_version.h include/private/apu_internal.h
+misc/apu_version.lo: misc/apu_version.c .make.dirs include/apu_version.h
strmatch/apr_strmatch.lo: strmatch/apr_strmatch.c .make.dirs include/apr_strmatch.h
+uri/apr_uri.lo: uri/apr_uri.c .make.dirs include/apr_uri.h
xlate/xlate.lo: xlate/xlate.c .make.dirs include/apr_xlate.h
-dbd/apr_dbd.lo: dbd/apr_dbd.c .make.dirs include/private/apu_internal.h include/apu_version.h include/private/apr_dbd_internal.h include/apr_dbd.h
+xml/apr_xml.lo: xml/apr_xml.c .make.dirs include/apr_xlate.h include/apr_xml.h
-OBJECTS_all = buckets/apr_buckets_eos.lo buckets/apr_buckets_flush.lo buckets/apr_buckets_pool.lo buckets/apr_buckets_socket.lo buckets/apr_buckets_alloc.lo buckets/apr_buckets_mmap.lo buckets/apr_buckets_pipe.lo buckets/apr_buckets_heap.lo buckets/apr_buckets_refcount.lo buckets/apr_buckets.lo buckets/apr_buckets_simple.lo buckets/apr_brigade.lo buckets/apr_buckets_file.lo crypto/getuuid.lo crypto/apr_md5.lo crypto/apr_sha1.lo crypto/uuid.lo crypto/apr_md4.lo dbm/apr_dbm_sdbm.lo dbm/apr_dbm.lo dbm/sdbm/sdbm_lock.lo dbm/sdbm/sdbm.lo dbm/sdbm/sdbm_pair.lo dbm/sdbm/sdbm_hash.lo encoding/apr_base64.lo hooks/apr_hooks.lo ldap/apr_ldap_stub.lo ldap/apr_ldap_url.lo misc/apu_dso.lo misc/apr_thread_pool.lo misc/apr_date.lo misc/apr_queue.lo misc/apu_version.lo misc/apr_reslist.lo misc/apr_rmm.lo memcache/apr_memcache.lo uri/apr_uri.lo xml/apr_xml.lo strmatch/apr_strmatch.lo xlate/xlate.lo dbd/apr_dbd.lo
+OBJECTS_all = buckets/apr_brigade.lo buckets/apr_buckets.lo buckets/apr_buckets_alloc.lo buckets/apr_buckets_eos.lo buckets/apr_buckets_file.lo buckets/apr_buckets_flush.lo buckets/apr_buckets_heap.lo buckets/apr_buckets_mmap.lo buckets/apr_buckets_pipe.lo buckets/apr_buckets_pool.lo buckets/apr_buckets_refcount.lo buckets/apr_buckets_simple.lo buckets/apr_buckets_socket.lo crypto/apr_md4.lo crypto/apr_md5.lo crypto/apr_sha1.lo crypto/getuuid.lo crypto/uuid.lo dbd/apr_dbd.lo dbm/apr_dbm.lo dbm/apr_dbm_sdbm.lo dbm/sdbm/sdbm.lo dbm/sdbm/sdbm_hash.lo dbm/sdbm/sdbm_lock.lo dbm/sdbm/sdbm_pair.lo encoding/apr_base64.lo hooks/apr_hooks.lo ldap/apr_ldap_stub.lo ldap/apr_ldap_url.lo memcache/apr_memcache.lo misc/apr_date.lo misc/apr_queue.lo misc/apr_reslist.lo misc/apr_rmm.lo misc/apr_thread_pool.lo misc/apu_dso.lo misc/apu_version.lo strmatch/apr_strmatch.lo uri/apr_uri.lo xlate/xlate.lo xml/apr_xml.lo
OBJECTS_unix = $(OBJECTS_all)
@@ -56,47 +56,47 @@ OBJECTS_os390 = $(OBJECTS_all)
OBJECTS_win32 = $(OBJECTS_all)
-HEADERS = $(top_srcdir)/include/apr_dbm.h $(top_srcdir)/include/apr_dbd.h $(top_srcdir)/include/apr_md4.h $(top_srcdir)/include/apr_optional_hooks.h $(top_srcdir)/include/apr_thread_pool.h $(top_srcdir)/include/apr_md5.h $(top_srcdir)/include/apr_uuid.h $(top_srcdir)/include/apr_memcache.h $(top_srcdir)/include/apr_ldap_url.h $(top_srcdir)/include/apr_rmm.h $(top_srcdir)/include/apr_base64.h $(top_srcdir)/include/apr_xml.h $(top_srcdir)/include/apr_anylock.h $(top_srcdir)/include/apr_buckets.h $(top_srcdir)/include/apu_version.h $(top_srcdir)/include/apr_ldap_option.h $(top_srcdir)/include/apr_date.h $(top_srcdir)/include/apr_xlate.h $(top_srcdir)/include/apr_reslist.h $(top_srcdir)/include/apr_strmatch.h $(top_srcdir)/include/apr_sha1.h $(top_srcdir)/include/apr_ldap_init.h $(top_srcdir)/include/apr_optional.h $(top_srcdir)/include/apr_hooks.h $(top_srcdir)/include/apr_uri.h $(top_srcdir)/include/apr_ldap_rebind.h $(top_srcdir)/include/apr_sdbm.h $(top_srcdir)/include/apr_queue.h $(top_srcdir)/include/private/apu_internal.h $(top_srcdir)/include/private/apr_dbm_private.h $(top_srcdir)/include/private/apr_dbd_odbc_v2.h $(top_srcdir)/include/private/apr_dbd_internal.h
+HEADERS = $(top_srcdir)/include/apr_anylock.h $(top_srcdir)/include/apr_base64.h $(top_srcdir)/include/apr_buckets.h $(top_srcdir)/include/apr_date.h $(top_srcdir)/include/apr_dbd.h $(top_srcdir)/include/apr_dbm.h $(top_srcdir)/include/apr_hooks.h $(top_srcdir)/include/apr_ldap_init.h $(top_srcdir)/include/apr_ldap_option.h $(top_srcdir)/include/apr_ldap_rebind.h $(top_srcdir)/include/apr_ldap_url.h $(top_srcdir)/include/apr_md4.h $(top_srcdir)/include/apr_md5.h $(top_srcdir)/include/apr_memcache.h $(top_srcdir)/include/apr_optional.h $(top_srcdir)/include/apr_optional_hooks.h $(top_srcdir)/include/apr_queue.h $(top_srcdir)/include/apr_reslist.h $(top_srcdir)/include/apr_rmm.h $(top_srcdir)/include/apr_sdbm.h $(top_srcdir)/include/apr_sha1.h $(top_srcdir)/include/apr_strmatch.h $(top_srcdir)/include/apr_thread_pool.h $(top_srcdir)/include/apr_uri.h $(top_srcdir)/include/apr_uuid.h $(top_srcdir)/include/apr_xlate.h $(top_srcdir)/include/apr_xml.h $(top_srcdir)/include/apu_version.h $(top_srcdir)/include/private/apr_dbd_internal.h $(top_srcdir)/include/private/apr_dbd_odbc_v2.h $(top_srcdir)/include/private/apr_dbm_private.h $(top_srcdir)/include/private/apu_internal.h
-SOURCE_DIRS = xml dbd dbm encoding hooks buckets misc crypto uri strmatch memcache dbm/sdbm ldap xlate $(EXTRA_SOURCE_DIRS)
+SOURCE_DIRS = xml dbm encoding hooks buckets uri misc crypto dbd strmatch memcache dbm/sdbm ldap xlate $(EXTRA_SOURCE_DIRS)
-dbd/apr_dbd_pgsql.lo: dbd/apr_dbd_pgsql.c .make.dirs include/private/apr_dbd_internal.h include/apr_buckets.h include/apr_dbd.h
+dbd/apr_dbd_pgsql.lo: dbd/apr_dbd_pgsql.c .make.dirs include/apr_buckets.h include/apr_dbd.h include/private/apr_dbd_internal.h
OBJECTS_dbd_pgsql = dbd/apr_dbd_pgsql.lo
MODULE_dbd_pgsql = dbd/apr_dbd_pgsql.la
dbd/apr_dbd_pgsql.la: dbd/apr_dbd_pgsql.lo
$(LINK_MODULE) -o $@ $(OBJECTS_dbd_pgsql) $(LDADD_dbd_pgsql)
-dbd/apr_dbd_sqlite2.lo: dbd/apr_dbd_sqlite2.c .make.dirs include/private/apr_dbd_internal.h include/apr_buckets.h include/apr_dbd.h
+dbd/apr_dbd_sqlite2.lo: dbd/apr_dbd_sqlite2.c .make.dirs include/apr_buckets.h include/apr_dbd.h include/private/apr_dbd_internal.h
OBJECTS_dbd_sqlite2 = dbd/apr_dbd_sqlite2.lo
MODULE_dbd_sqlite2 = dbd/apr_dbd_sqlite2.la
dbd/apr_dbd_sqlite2.la: dbd/apr_dbd_sqlite2.lo
$(LINK_MODULE) -o $@ $(OBJECTS_dbd_sqlite2) $(LDADD_dbd_sqlite2)
-dbd/apr_dbd_sqlite3.lo: dbd/apr_dbd_sqlite3.c .make.dirs include/private/apr_dbd_internal.h include/apr_buckets.h include/apr_dbd.h
+dbd/apr_dbd_sqlite3.lo: dbd/apr_dbd_sqlite3.c .make.dirs include/apr_buckets.h include/apr_dbd.h include/private/apr_dbd_internal.h
OBJECTS_dbd_sqlite3 = dbd/apr_dbd_sqlite3.lo
MODULE_dbd_sqlite3 = dbd/apr_dbd_sqlite3.la
dbd/apr_dbd_sqlite3.la: dbd/apr_dbd_sqlite3.lo
$(LINK_MODULE) -o $@ $(OBJECTS_dbd_sqlite3) $(LDADD_dbd_sqlite3)
-dbd/apr_dbd_oracle.lo: dbd/apr_dbd_oracle.c .make.dirs include/private/apr_dbd_internal.h include/apr_buckets.h include/apr_dbd.h
+dbd/apr_dbd_oracle.lo: dbd/apr_dbd_oracle.c .make.dirs include/apr_buckets.h include/apr_dbd.h include/private/apr_dbd_internal.h
OBJECTS_dbd_oracle = dbd/apr_dbd_oracle.lo
MODULE_dbd_oracle = dbd/apr_dbd_oracle.la
dbd/apr_dbd_oracle.la: dbd/apr_dbd_oracle.lo
$(LINK_MODULE) -o $@ $(OBJECTS_dbd_oracle) $(LDADD_dbd_oracle)
-dbd/apr_dbd_mysql.lo: dbd/apr_dbd_mysql.c .make.dirs include/private/apr_dbd_internal.h include/apu_version.h include/apr_buckets.h include/apr_dbd.h
+dbd/apr_dbd_mysql.lo: dbd/apr_dbd_mysql.c .make.dirs include/apr_buckets.h include/apr_dbd.h include/apu_version.h include/private/apr_dbd_internal.h
OBJECTS_dbd_mysql = dbd/apr_dbd_mysql.lo
MODULE_dbd_mysql = dbd/apr_dbd_mysql.la
dbd/apr_dbd_mysql.la: dbd/apr_dbd_mysql.lo
$(LINK_MODULE) -o $@ $(OBJECTS_dbd_mysql) $(LDADD_dbd_mysql)
-dbd/apr_dbd_freetds.lo: dbd/apr_dbd_freetds.c .make.dirs include/private/apr_dbd_internal.h include/apr_dbd.h
+dbd/apr_dbd_freetds.lo: dbd/apr_dbd_freetds.c .make.dirs include/apr_dbd.h include/private/apr_dbd_internal.h
OBJECTS_dbd_freetds = dbd/apr_dbd_freetds.lo
MODULE_dbd_freetds = dbd/apr_dbd_freetds.la
dbd/apr_dbd_freetds.la: dbd/apr_dbd_freetds.lo
$(LINK_MODULE) -o $@ $(OBJECTS_dbd_freetds) $(LDADD_dbd_freetds)
-dbd/apr_dbd_odbc.lo: dbd/apr_dbd_odbc.c .make.dirs include/private/apr_dbd_internal.h include/apu_version.h include/apr_buckets.h include/private/apr_dbd_odbc_v2.h include/apr_dbd.h
+dbd/apr_dbd_odbc.lo: dbd/apr_dbd_odbc.c .make.dirs include/apr_buckets.h include/apr_dbd.h include/apu_version.h include/private/apr_dbd_internal.h include/private/apr_dbd_odbc_v2.h
OBJECTS_dbd_odbc = dbd/apr_dbd_odbc.lo
MODULE_dbd_odbc = dbd/apr_dbd_odbc.la
dbd/apr_dbd_odbc.la: dbd/apr_dbd_odbc.lo
diff --git a/srclib/apr-util/build.conf b/srclib/apr-util/build.conf
index 96696980..eab2e718 100644
--- a/srclib/apr-util/build.conf
+++ b/srclib/apr-util/build.conf
@@ -80,8 +80,8 @@ paths = dbm/apr_dbm_ndbm.c
target = dbm/apr_dbm_ndbm.la
[ldap]
-paths = ldap/apr_ldap_init.c \
- ldap/apr_ldap_option.c \
+paths = ldap/apr_ldap_init.c
+ ldap/apr_ldap_option.c
ldap/apr_ldap_rebind.c
target = ldap/apr_ldap.la
diff --git a/srclib/apr-util/build/apu-conf.m4 b/srclib/apr-util/build/apu-conf.m4
index 21450b80..a6f835fe 100644
--- a/srclib/apr-util/build/apu-conf.m4
+++ b/srclib/apr-util/build/apu-conf.m4
@@ -164,7 +164,7 @@ if test "${apu_has_expat}${apu_try_builtin_expat}" = "01"; then
dnl we are working with the bundled version of the software.
bundled_subdir="xml/expat"
APR_SUBDIR_CONFIG($bundled_subdir, [--prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir])
- APR_ADDTO(APRUTIL_INCLUDES, [-I$top_builddir/$bundled_subdir/lib])
+ APR_ADDTO(APRUTIL_INCLUDES, [-I$abs_srcdir/$bundled_subdir/lib])
APR_ADDTO(LDFLAGS, [-L$top_builddir/$bundled_subdir/lib])
apu_expat_libs="$top_builddir/$bundled_subdir/libexpat.la"
fi
diff --git a/srclib/apr-util/build/dbd.m4 b/srclib/apr-util/build/dbd.m4
index bb0e424f..d418d8b1 100644
--- a/srclib/apr-util/build/dbd.m4
+++ b/srclib/apr-util/build/dbd.m4
@@ -505,8 +505,14 @@ AC_DEFUN([APU_CHECK_DBD_ODBC], [
odbc_LDFLAGS="-L`$ODBC_CONFIG --lib-prefix`"
odbc_LIBS="`$ODBC_CONFIG --libs`"
else
- odbc_CPPFLAGS="-I$withval/include"
- odbc_LDFLAGS="-L$withval/lib "
+ if test -f "$withval" && test -x "$withval"; then
+ odbc_CPPFLAGS="-I`$withval --include-prefix`"
+ odbc_LDFLAGS="-L`$withval --lib-prefix`"
+ odbc_LIBS="`$withval --libs`"
+ else
+ odbc_CPPFLAGS="-I$withval/include"
+ odbc_LDFLAGS="-L$withval/lib "
+ fi
fi
APR_ADDTO(CPPFLAGS, [$odbc_CPPFLAGS])
diff --git a/srclib/apr-util/build/dbm.m4 b/srclib/apr-util/build/dbm.m4
index 0700684a..1b229f46 100644
--- a/srclib/apr-util/build/dbm.m4
+++ b/srclib/apr-util/build/dbm.m4
@@ -560,6 +560,25 @@ AC_DEFUN([APU_CHECK_DB50], [
apu_db_version=5
fi
])
+dnl
+dnl APU_CHECK_DB51: is DB5.1 present?
+dnl
+dnl if present: sets apu_db_header, apu_db_lib, and apu_db_version
+dnl
+AC_DEFUN([APU_CHECK_DB51], [
+ places=$1
+ if test -z "$places"; then
+ places="std /usr/local/BerkeleyDB.5.1 /boot/home/config"
+ fi
+ APU_CHECK_BERKELEY_DB("5", "1", "-1",
+ "$places",
+ "db51/db.h db5/db.h db.h",
+ "db-5.1 db5-5.1 db51 db5 db"
+ )
+ if test "$apu_have_db" = "1"; then
+ apu_db_version=5
+ fi
+])
AC_DEFUN([APU_CHECK_DB], [
requested=$1
@@ -656,6 +675,12 @@ AC_DEFUN([APU_CHECK_DB], [
AC_MSG_ERROR(Berkeley db5 not found)
fi
;;
+ db51)
+ APU_CHECK_DB51("$check_places")
+ if test "$apu_db_version" != "5"; then
+ AC_MSG_ERROR(Berkeley db5 not found)
+ fi
+ ;;
default)
APU_CHECK_DB_ALL("$check_places")
;;
@@ -663,38 +688,41 @@ AC_DEFUN([APU_CHECK_DB], [
])
dnl
-dnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 5.0 to 1.
+dnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 5.1 to 1.
dnl
AC_DEFUN([APU_CHECK_DB_ALL], [
all_places=$1
- APU_CHECK_DB50("$all_places")
+ APU_CHECK_DB51("$all_places")
if test "$apu_db_version" != "5"; then
- APU_CHECK_DB48("$all_places")
- if test "$apu_db_version" != "4"; then
- APU_CHECK_DB47("$all_places")
+ APU_CHECK_DB50("$all_places")
+ if test "$apu_db_version" != "5"; then
+ APU_CHECK_DB48("$all_places")
if test "$apu_db_version" != "4"; then
- APU_CHECK_DB46("$all_places")
+ APU_CHECK_DB47("$all_places")
if test "$apu_db_version" != "4"; then
- APU_CHECK_DB45("$all_places")
+ APU_CHECK_DB46("$all_places")
if test "$apu_db_version" != "4"; then
- APU_CHECK_DB44("$all_places")
+ APU_CHECK_DB45("$all_places")
if test "$apu_db_version" != "4"; then
- APU_CHECK_DB43("$all_places")
+ APU_CHECK_DB44("$all_places")
if test "$apu_db_version" != "4"; then
- APU_CHECK_DB42("$all_places")
+ APU_CHECK_DB43("$all_places")
if test "$apu_db_version" != "4"; then
- APU_CHECK_DB41("$all_places")
+ APU_CHECK_DB42("$all_places")
if test "$apu_db_version" != "4"; then
- APU_CHECK_DB4("$all_places")
+ APU_CHECK_DB41("$all_places")
if test "$apu_db_version" != "4"; then
- APU_CHECK_DB3("$all_places")
- if test "$apu_db_version" != "3"; then
- APU_CHECK_DB2("$all_places")
- if test "$apu_db_version" != "2"; then
- APU_CHECK_DB1("$all_places")
- if test "$apu_db_version" != "1"; then
- APU_CHECK_DB185("$all_places")
+ APU_CHECK_DB4("$all_places")
+ if test "$apu_db_version" != "4"; then
+ APU_CHECK_DB3("$all_places")
+ if test "$apu_db_version" != "3"; then
+ APU_CHECK_DB2("$all_places")
+ if test "$apu_db_version" != "2"; then
+ APU_CHECK_DB1("$all_places")
+ if test "$apu_db_version" != "1"; then
+ APU_CHECK_DB185("$all_places")
+ fi
fi
fi
fi
@@ -735,11 +763,11 @@ AC_DEFUN([APU_CHECK_DBM], [
apu_db_version=0
AC_ARG_WITH(dbm, [APR_HELP_STRING([--with-dbm=DBM], [choose the DBM type to use.
- DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44,db45,db46,db47,db48,db50}])],
+ DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44,db45,db46,db47,db48,db50,db51}])],
[
if test "$withval" = "yes"; then
AC_MSG_ERROR([--with-dbm needs to specify a DBM type to use.
- One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50])
+ One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50, db51])
fi
requested="$withval"
], [
@@ -946,6 +974,10 @@ AC_DEFUN([APU_CHECK_DBM], [
apu_use_db=1
apu_default_dbm=db5
;;
+ db51)
+ apu_use_db=1
+ apu_default_dbm=db5
+ ;;
default)
dnl ### use more sophisticated DBMs for the default?
apu_default_dbm="sdbm (default)"
@@ -953,7 +985,7 @@ AC_DEFUN([APU_CHECK_DBM], [
;;
*)
AC_MSG_ERROR([--with-dbm=$look_for is an unknown DBM type.
- Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50])
+ Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50, db51])
;;
esac
diff --git a/srclib/apr-util/build/find_apr.m4 b/srclib/apr-util/build/find_apr.m4
index 88f64a7e..925e523f 100644
--- a/srclib/apr-util/build/find_apr.m4
+++ b/srclib/apr-util/build/find_apr.m4
@@ -176,7 +176,7 @@ AC_DEFUN([APR_FIND_APR], [
fi
dnl if we have not found anything yet and have bundled source, use that
if test "$apr_found" = "no" && test -d "$1"; then
- apr_temp_abs_srcdir="`cd $1 && pwd`"
+ apr_temp_abs_srcdir="`cd \"$1\" && pwd`"
apr_found="reconfig"
apr_bundled_major="`sed -n '/#define.*APR_MAJOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p' \"$1/include/apr_version.h\"`"
case $apr_bundled_major in
diff --git a/srclib/apr-util/build/nw_apu_export.inc b/srclib/apr-util/build/nw_apu_export.inc
index 218ecd9d..4f2c56ef 100644
--- a/srclib/apr-util/build/nw_apu_export.inc
+++ b/srclib/apr-util/build/nw_apu_export.inc
@@ -15,6 +15,7 @@
#include "apr_date.h"
#include "apr_dbd.h"
#include "apr_dbm.h"
+#include "apr_dbm_private.h"
#include "apr_hooks.h"
#include "apr_ldap.h"
#include "apr_ldap_init.h"
diff --git a/srclib/apr-util/configure b/srclib/apr-util/configure
index 0d2c36bf..778df1a0 100755
--- a/srclib/apr-util/configure
+++ b/srclib/apr-util/configure
@@ -1455,7 +1455,7 @@ Optional Packages:
--with-ldap-lib=path path to ldap lib file
--with-ldap=library ldap library to use
--with-dbm=DBM choose the DBM type to use.
- DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44,db45,db46,db47,db48,db50}
+ DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44,db45,db46,db47,db48,db50,db51}
--with-gdbm=DIR enable GDBM support
--with-ndbm=PATH Find the NDBM header and library in `PATH/include'
and `PATH/lib'. If PATH is of the form `HEADER:LIB',
@@ -2144,6 +2144,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
rm -f config.nice
cat >config.nice<<EOF
#! /bin/sh
@@ -3875,7 +3876,7 @@ else
done
fi
if test "$apr_found" = "no" && test -d ""; then
- apr_temp_abs_srcdir="`cd && pwd`"
+ apr_temp_abs_srcdir="`cd \"\" && pwd`"
apr_found="reconfig"
apr_bundled_major="`sed -n '/#define.*APR_MAJOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p' \"/include/apr_version.h\"`"
case $apr_bundled_major in
@@ -14729,9 +14730,9 @@ if test "${with_dbm+set}" = set; then
withval=$with_dbm;
if test "$withval" = "yes"; then
{ { $as_echo "$as_me:$LINENO: error: --with-dbm needs to specify a DBM type to use.
- One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50" >&5
+ One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50, db51" >&5
$as_echo "$as_me: error: --with-dbm needs to specify a DBM type to use.
- One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50" >&2;}
+ One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50, db51" >&2;}
{ (exit 1); exit 1; }; }
fi
requested="$withval"
@@ -15754,6 +15755,630 @@ if test "${with_berkeley_db+set}" = set; then
places="$all_places"
if test -z "$places"; then
+ places="std /usr/local/BerkeleyDB.5.1 /boot/home/config"
+ fi
+
+ bdb_version="5"
+ if test ""1"" != "-1"; then
+ bdb_version="$bdb_version."1""
+ if test ""-1"" != "-1"; then
+ bdb_version="$bdb_version."-1""
+ fi
+ fi
+ bdb_places="$places"
+ bdb_default_search_headers="db51/db.h db5/db.h db.h"
+ bdb_default_search_lib_names="db-5.1 db5-5.1 db51 db5 db"
+
+
+ apu_have_db=0
+
+ # Save the original values of the flags we tweak.
+ apu_check_lib_save_libs="$LIBS"
+ apu_check_lib_save_ldflags="$LDFLAGS"
+ apu_check_lib_save_cppflags="$CPPFLAGS"
+
+ # The variable `found' is the prefix under which we've found
+ # Berkeley DB, or `not' if we haven't found it anywhere yet.
+ found=not
+ for bdb_place in $bdb_places; do
+
+ LDFLAGS="$apu_check_lib_save_ldflags"
+ CPPFLAGS="$apu_check_lib_save_cppflags"
+ case "$bdb_place" in
+ "std" )
+ description="the standard places"
+ ;;
+ *":"* )
+ header="`echo $bdb_place | sed -e 's/:.*$//'`"
+ lib="`echo $bdb_place | sed -e 's/^.*://'`"
+ CPPFLAGS="$CPPFLAGS -I$header"
+ LDFLAGS="$LDFLAGS -L$lib"
+ description="$header and $lib"
+ ;;
+ * )
+ if test -d $bdb_place; then
+ LDFLAGS="$LDFLAGS -L$bdb_place/lib"
+ CPPFLAGS="$CPPFLAGS -I$bdb_place/include"
+ else
+ { $as_echo "$as_me:$LINENO: checking for Berkeley DB $bdb_version in $bdb_place" >&5
+$as_echo_n "checking for Berkeley DB $bdb_version in $bdb_place... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: directory not found" >&5
+$as_echo "directory not found" >&6; }
+ continue
+ fi
+ description="$bdb_place"
+ ;;
+ esac
+
+ # Since there is no AC_MSG_NOTICE in autoconf 2.13, we use this
+ # trick to display a message instead.
+ { $as_echo "$as_me:$LINENO: checking for Berkeley DB $bdb_version in $description" >&5
+$as_echo_n "checking for Berkeley DB $bdb_version in $description... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: " >&5
+$as_echo "" >&6; }
+
+ for bdb_libname in $bdb_default_search_lib_names; do
+ for bdb_header in $bdb_default_search_headers; do
+ # Clear the header cache variable for each location
+
+ cache_id="`echo ac_cv_header_${bdb_header} \
+ | sed -e 's/[^a-zA-Z0-9_]/_/g'`"
+
+ unset $cache_id
+ as_ac_Header=`$as_echo "ac_cv_header_$bdb_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $bdb_header" >&5
+$as_echo_n "checking for $bdb_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $bdb_header usability" >&5
+$as_echo_n "checking $bdb_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$bdb_header>
+_ACEOF
+rm -f conftest.$ac_objext
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $bdb_header presence" >&5
+$as_echo_n "checking $bdb_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$bdb_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$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:$LINENO: WARNING: $bdb_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $bdb_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $bdb_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $bdb_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $bdb_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $bdb_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $bdb_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $bdb_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $bdb_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $bdb_header" >&5
+$as_echo_n "checking for $bdb_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+
+ if test ""5"" = "3" -o ""5"" = "4" -o ""5"" = "5"; then
+ # We generate a separate cache variable for each prefix and libname
+ # we search under. That way, we avoid caching information that
+ # changes if the user runs `configure' with a different set of
+ # switches.
+
+ cache_id="`echo apu_cv_check_berkeley_db_"5"_"1"_"-1"_${bdb_header}_${bdb_libname}_in_${bdb_place} \
+ | sed -e 's/[^a-zA-Z0-9_]/_/g'`"
+
+
+ { $as_echo "$as_me:$LINENO: checking for -l$bdb_libname" >&5
+$as_echo_n "checking for -l$bdb_libname... " >&6; }
+ if { as_var=$cache_id; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ apu_try_berkeley_db_save_libs="$LIBS"
+
+ apu_check_berkeley_db_major="5"
+ apu_check_berkeley_db_minor="1"
+ apu_check_berkeley_db_patch="-1"
+ apu_try_berkeley_db_header=$bdb_header
+ apu_try_berkeley_db_libname=$bdb_libname
+
+ LIBS="$LIBS -l$apu_try_berkeley_db_libname"
+ if test "$cross_compiling" = yes; then
+ apu_try_berkeley_db=yes
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <$apu_try_berkeley_db_header>
+main ()
+{
+ int major, minor, patch;
+
+ db_version(&major, &minor, &patch);
+
+ /* Sanity check: ensure that db.h constants actually match the db library */
+ if (major != DB_VERSION_MAJOR
+ || minor != DB_VERSION_MINOR
+ || patch != DB_VERSION_PATCH)
+ exit (1);
+
+ /* Run-time check: ensure the library claims to be the correct version. */
+
+ if ($apu_check_berkeley_db_major != -1) {
+ if (major < $apu_check_berkeley_db_major)
+ exit (1);
+ if (major > $apu_check_berkeley_db_major)
+ exit (0);
+ }
+
+ if ($apu_check_berkeley_db_minor != -1) {
+ if (minor < $apu_check_berkeley_db_minor)
+ exit (1);
+ if (minor > $apu_check_berkeley_db_minor)
+ exit (0);
+ }
+
+ if ($apu_check_berkeley_db_patch == -1
+ || patch >= $apu_check_berkeley_db_patch)
+ exit (0);
+ else
+ exit (1);
+}
+
+_ACEOF
+rm -f 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ apu_try_berkeley_db=yes
+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
+
+( exit $ac_status )
+apu_try_berkeley_db=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+ LIBS="$apu_try_berkeley_db_save_libs"
+
+
+ eval "$cache_id=$apu_try_berkeley_db"
+
+fi
+
+ result="`eval echo '$'$cache_id`"
+ { $as_echo "$as_me:$LINENO: result: $result" >&5
+$as_echo "$result" >&6; }
+ elif test ""5"" = "1"; then
+ as_ac_Lib=`$as_echo "ac_cv_lib_$bdb_libname''_dbopen" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for dbopen in -l$bdb_libname" >&5
+$as_echo_n "checking for dbopen in -l$bdb_libname... " >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$bdb_libname $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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 dbopen ();
+int
+main ()
+{
+return dbopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_Lib=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ result=yes
+else
+ result=no
+
+fi
+
+ elif test ""5"" = "2"; then
+ as_ac_Lib=`$as_echo "ac_cv_lib_$bdb_libname''_db_open" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for db_open in -l$bdb_libname" >&5
+$as_echo_n "checking for db_open in -l$bdb_libname... " >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$bdb_libname $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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 db_open ();
+int
+main ()
+{
+return db_open ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_Lib=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ result=yes
+else
+ result=no
+
+fi
+
+ fi
+
+else
+ result="no"
+fi
+
+
+
+ # If we found it, no need to search any more.
+ if test "$result" = "yes"; then
+ found="$bdb_place"
+ break
+ fi
+ done
+ test "$found" != "not" && break
+ done
+ test "$found" != "not" && break
+ done
+
+ # Restore the original values of the flags we tweak.
+ LDFLAGS="$apu_check_lib_save_ldflags"
+ CPPFLAGS="$apu_check_lib_save_cppflags"
+
+ case "$found" in
+ "not")
+ apu_have_db=0
+ ;;
+ "std")
+ apu_db_header=$bdb_header
+ apu_db_lib=$bdb_libname
+ apu_have_db=1
+ ;;
+ *":"*)
+ header="`echo $found | sed -e 's/:.*$//'`"
+ lib="`echo $found | sed -e 's/^.*://'`"
+
+
+ if test "x$APRUTIL_INCLUDES" = "x"; then
+ test "x$silent" != "xyes" && echo " setting APRUTIL_INCLUDES to \"-I$header\""
+ APRUTIL_INCLUDES="-I$header"
+ else
+ apr_addto_bugger="-I$header"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $APRUTIL_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 APRUTIL_INCLUDES"
+ APRUTIL_INCLUDES="$APRUTIL_INCLUDES $i"
+ fi
+ done
+ fi
+
+
+ if test "x$APRUTIL_LDFLAGS" = "x"; then
+ test "x$silent" != "xyes" && echo " setting APRUTIL_LDFLAGS to \"-L$lib\""
+ APRUTIL_LDFLAGS="-L$lib"
+ else
+ apr_addto_bugger="-L$lib"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $APRUTIL_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 APRUTIL_LDFLAGS"
+ APRUTIL_LDFLAGS="$APRUTIL_LDFLAGS $i"
+ fi
+ done
+ fi
+
+ apu_db_header=$bdb_header
+ apu_db_lib=$bdb_libname
+ apu_have_db=1
+ ;;
+ *)
+
+ if test "x$APRUTIL_INCLUDES" = "x"; then
+ test "x$silent" != "xyes" && echo " setting APRUTIL_INCLUDES to \"-I$found/include\""
+ APRUTIL_INCLUDES="-I$found/include"
+ else
+ apr_addto_bugger="-I$found/include"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $APRUTIL_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 APRUTIL_INCLUDES"
+ APRUTIL_INCLUDES="$APRUTIL_INCLUDES $i"
+ fi
+ done
+ fi
+
+
+ if test "x$APRUTIL_LDFLAGS" = "x"; then
+ test "x$silent" != "xyes" && echo " setting APRUTIL_LDFLAGS to \"-L$found/lib\""
+ APRUTIL_LDFLAGS="-L$found/lib"
+ else
+ apr_addto_bugger="-L$found/lib"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $APRUTIL_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 APRUTIL_LDFLAGS"
+ APRUTIL_LDFLAGS="$APRUTIL_LDFLAGS $i"
+ fi
+ done
+ fi
+
+ apu_db_header=$bdb_header
+ apu_db_lib=$bdb_libname
+ apu_have_db=1
+ ;;
+ esac
+
+ if test "$apu_have_db" = "1"; then
+ apu_db_version=5
+ fi
+
+ if test "$apu_db_version" != "5"; then
+
+ places="$all_places"
+ if test -z "$places"; then
places="std /usr/local/BerkeleyDB.5.0 /boot/home/config"
fi
@@ -16374,7 +16999,7 @@ fi
apu_db_version=5
fi
- if test "$apu_db_version" != "5"; then
+ if test "$apu_db_version" != "5"; then
places="$all_places"
if test -z "$places"; then
@@ -16998,7 +17623,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -17622,7 +18247,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -18246,7 +18871,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -18870,7 +19495,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -19494,7 +20119,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -20118,7 +20743,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -20742,7 +21367,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -21366,7 +21991,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -21990,7 +22615,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -22614,7 +23239,7 @@ fi
apu_db_version=3
fi
- if test "$apu_db_version" != "3"; then
+ if test "$apu_db_version" != "3"; then
places="$all_places"
if test -z "$places"; then
@@ -23238,7 +23863,7 @@ fi
apu_db_version=2
fi
- if test "$apu_db_version" != "2"; then
+ if test "$apu_db_version" != "2"; then
places="$all_places"
if test -z "$places"; then
@@ -23862,7 +24487,7 @@ fi
apu_db_version=1
fi
- if test "$apu_db_version" != "1"; then
+ if test "$apu_db_version" != "1"; then
places="$all_places"
if test -z "$places"; then
@@ -24486,6 +25111,7 @@ fi
apu_db_version=185
fi
+ fi
fi
fi
fi
@@ -33335,6 +33961,636 @@ $as_echo "$as_me: error: Berkeley db5 not found" >&2;}
{ (exit 1); exit 1; }; }
fi
;;
+ db51)
+
+ places="$check_places"
+ if test -z "$places"; then
+ places="std /usr/local/BerkeleyDB.5.1 /boot/home/config"
+ fi
+
+ bdb_version="5"
+ if test ""1"" != "-1"; then
+ bdb_version="$bdb_version."1""
+ if test ""-1"" != "-1"; then
+ bdb_version="$bdb_version."-1""
+ fi
+ fi
+ bdb_places="$places"
+ bdb_default_search_headers="db51/db.h db5/db.h db.h"
+ bdb_default_search_lib_names="db-5.1 db5-5.1 db51 db5 db"
+
+
+ apu_have_db=0
+
+ # Save the original values of the flags we tweak.
+ apu_check_lib_save_libs="$LIBS"
+ apu_check_lib_save_ldflags="$LDFLAGS"
+ apu_check_lib_save_cppflags="$CPPFLAGS"
+
+ # The variable `found' is the prefix under which we've found
+ # Berkeley DB, or `not' if we haven't found it anywhere yet.
+ found=not
+ for bdb_place in $bdb_places; do
+
+ LDFLAGS="$apu_check_lib_save_ldflags"
+ CPPFLAGS="$apu_check_lib_save_cppflags"
+ case "$bdb_place" in
+ "std" )
+ description="the standard places"
+ ;;
+ *":"* )
+ header="`echo $bdb_place | sed -e 's/:.*$//'`"
+ lib="`echo $bdb_place | sed -e 's/^.*://'`"
+ CPPFLAGS="$CPPFLAGS -I$header"
+ LDFLAGS="$LDFLAGS -L$lib"
+ description="$header and $lib"
+ ;;
+ * )
+ if test -d $bdb_place; then
+ LDFLAGS="$LDFLAGS -L$bdb_place/lib"
+ CPPFLAGS="$CPPFLAGS -I$bdb_place/include"
+ else
+ { $as_echo "$as_me:$LINENO: checking for Berkeley DB $bdb_version in $bdb_place" >&5
+$as_echo_n "checking for Berkeley DB $bdb_version in $bdb_place... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: directory not found" >&5
+$as_echo "directory not found" >&6; }
+ continue
+ fi
+ description="$bdb_place"
+ ;;
+ esac
+
+ # Since there is no AC_MSG_NOTICE in autoconf 2.13, we use this
+ # trick to display a message instead.
+ { $as_echo "$as_me:$LINENO: checking for Berkeley DB $bdb_version in $description" >&5
+$as_echo_n "checking for Berkeley DB $bdb_version in $description... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: " >&5
+$as_echo "" >&6; }
+
+ for bdb_libname in $bdb_default_search_lib_names; do
+ for bdb_header in $bdb_default_search_headers; do
+ # Clear the header cache variable for each location
+
+ cache_id="`echo ac_cv_header_${bdb_header} \
+ | sed -e 's/[^a-zA-Z0-9_]/_/g'`"
+
+ unset $cache_id
+ as_ac_Header=`$as_echo "ac_cv_header_$bdb_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $bdb_header" >&5
+$as_echo_n "checking for $bdb_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $bdb_header usability" >&5
+$as_echo_n "checking $bdb_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$bdb_header>
+_ACEOF
+rm -f conftest.$ac_objext
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $bdb_header presence" >&5
+$as_echo_n "checking $bdb_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$bdb_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$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:$LINENO: WARNING: $bdb_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $bdb_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $bdb_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $bdb_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $bdb_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $bdb_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $bdb_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $bdb_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $bdb_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $bdb_header" >&5
+$as_echo_n "checking for $bdb_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+
+ if test ""5"" = "3" -o ""5"" = "4" -o ""5"" = "5"; then
+ # We generate a separate cache variable for each prefix and libname
+ # we search under. That way, we avoid caching information that
+ # changes if the user runs `configure' with a different set of
+ # switches.
+
+ cache_id="`echo apu_cv_check_berkeley_db_"5"_"1"_"-1"_${bdb_header}_${bdb_libname}_in_${bdb_place} \
+ | sed -e 's/[^a-zA-Z0-9_]/_/g'`"
+
+
+ { $as_echo "$as_me:$LINENO: checking for -l$bdb_libname" >&5
+$as_echo_n "checking for -l$bdb_libname... " >&6; }
+ if { as_var=$cache_id; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ apu_try_berkeley_db_save_libs="$LIBS"
+
+ apu_check_berkeley_db_major="5"
+ apu_check_berkeley_db_minor="1"
+ apu_check_berkeley_db_patch="-1"
+ apu_try_berkeley_db_header=$bdb_header
+ apu_try_berkeley_db_libname=$bdb_libname
+
+ LIBS="$LIBS -l$apu_try_berkeley_db_libname"
+ if test "$cross_compiling" = yes; then
+ apu_try_berkeley_db=yes
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <$apu_try_berkeley_db_header>
+main ()
+{
+ int major, minor, patch;
+
+ db_version(&major, &minor, &patch);
+
+ /* Sanity check: ensure that db.h constants actually match the db library */
+ if (major != DB_VERSION_MAJOR
+ || minor != DB_VERSION_MINOR
+ || patch != DB_VERSION_PATCH)
+ exit (1);
+
+ /* Run-time check: ensure the library claims to be the correct version. */
+
+ if ($apu_check_berkeley_db_major != -1) {
+ if (major < $apu_check_berkeley_db_major)
+ exit (1);
+ if (major > $apu_check_berkeley_db_major)
+ exit (0);
+ }
+
+ if ($apu_check_berkeley_db_minor != -1) {
+ if (minor < $apu_check_berkeley_db_minor)
+ exit (1);
+ if (minor > $apu_check_berkeley_db_minor)
+ exit (0);
+ }
+
+ if ($apu_check_berkeley_db_patch == -1
+ || patch >= $apu_check_berkeley_db_patch)
+ exit (0);
+ else
+ exit (1);
+}
+
+_ACEOF
+rm -f 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ apu_try_berkeley_db=yes
+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
+
+( exit $ac_status )
+apu_try_berkeley_db=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+ LIBS="$apu_try_berkeley_db_save_libs"
+
+
+ eval "$cache_id=$apu_try_berkeley_db"
+
+fi
+
+ result="`eval echo '$'$cache_id`"
+ { $as_echo "$as_me:$LINENO: result: $result" >&5
+$as_echo "$result" >&6; }
+ elif test ""5"" = "1"; then
+ as_ac_Lib=`$as_echo "ac_cv_lib_$bdb_libname''_dbopen" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for dbopen in -l$bdb_libname" >&5
+$as_echo_n "checking for dbopen in -l$bdb_libname... " >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$bdb_libname $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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 dbopen ();
+int
+main ()
+{
+return dbopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_Lib=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ result=yes
+else
+ result=no
+
+fi
+
+ elif test ""5"" = "2"; then
+ as_ac_Lib=`$as_echo "ac_cv_lib_$bdb_libname''_db_open" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for db_open in -l$bdb_libname" >&5
+$as_echo_n "checking for db_open in -l$bdb_libname... " >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$bdb_libname $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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 db_open ();
+int
+main ()
+{
+return db_open ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_Lib=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ result=yes
+else
+ result=no
+
+fi
+
+ fi
+
+else
+ result="no"
+fi
+
+
+
+ # If we found it, no need to search any more.
+ if test "$result" = "yes"; then
+ found="$bdb_place"
+ break
+ fi
+ done
+ test "$found" != "not" && break
+ done
+ test "$found" != "not" && break
+ done
+
+ # Restore the original values of the flags we tweak.
+ LDFLAGS="$apu_check_lib_save_ldflags"
+ CPPFLAGS="$apu_check_lib_save_cppflags"
+
+ case "$found" in
+ "not")
+ apu_have_db=0
+ ;;
+ "std")
+ apu_db_header=$bdb_header
+ apu_db_lib=$bdb_libname
+ apu_have_db=1
+ ;;
+ *":"*)
+ header="`echo $found | sed -e 's/:.*$//'`"
+ lib="`echo $found | sed -e 's/^.*://'`"
+
+
+ if test "x$APRUTIL_INCLUDES" = "x"; then
+ test "x$silent" != "xyes" && echo " setting APRUTIL_INCLUDES to \"-I$header\""
+ APRUTIL_INCLUDES="-I$header"
+ else
+ apr_addto_bugger="-I$header"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $APRUTIL_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 APRUTIL_INCLUDES"
+ APRUTIL_INCLUDES="$APRUTIL_INCLUDES $i"
+ fi
+ done
+ fi
+
+
+ if test "x$APRUTIL_LDFLAGS" = "x"; then
+ test "x$silent" != "xyes" && echo " setting APRUTIL_LDFLAGS to \"-L$lib\""
+ APRUTIL_LDFLAGS="-L$lib"
+ else
+ apr_addto_bugger="-L$lib"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $APRUTIL_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 APRUTIL_LDFLAGS"
+ APRUTIL_LDFLAGS="$APRUTIL_LDFLAGS $i"
+ fi
+ done
+ fi
+
+ apu_db_header=$bdb_header
+ apu_db_lib=$bdb_libname
+ apu_have_db=1
+ ;;
+ *)
+
+ if test "x$APRUTIL_INCLUDES" = "x"; then
+ test "x$silent" != "xyes" && echo " setting APRUTIL_INCLUDES to \"-I$found/include\""
+ APRUTIL_INCLUDES="-I$found/include"
+ else
+ apr_addto_bugger="-I$found/include"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $APRUTIL_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 APRUTIL_INCLUDES"
+ APRUTIL_INCLUDES="$APRUTIL_INCLUDES $i"
+ fi
+ done
+ fi
+
+
+ if test "x$APRUTIL_LDFLAGS" = "x"; then
+ test "x$silent" != "xyes" && echo " setting APRUTIL_LDFLAGS to \"-L$found/lib\""
+ APRUTIL_LDFLAGS="-L$found/lib"
+ else
+ apr_addto_bugger="-L$found/lib"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $APRUTIL_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 APRUTIL_LDFLAGS"
+ APRUTIL_LDFLAGS="$APRUTIL_LDFLAGS $i"
+ fi
+ done
+ fi
+
+ apu_db_header=$bdb_header
+ apu_db_lib=$bdb_libname
+ apu_have_db=1
+ ;;
+ esac
+
+ if test "$apu_have_db" = "1"; then
+ apu_db_version=5
+ fi
+
+ if test "$apu_db_version" != "5"; then
+ { { $as_echo "$as_me:$LINENO: error: Berkeley db5 not found" >&5
+$as_echo "$as_me: error: Berkeley db5 not found" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ ;;
default)
all_places="$check_places"
@@ -33342,6 +34598,630 @@ $as_echo "$as_me: error: Berkeley db5 not found" >&2;}
places="$all_places"
if test -z "$places"; then
+ places="std /usr/local/BerkeleyDB.5.1 /boot/home/config"
+ fi
+
+ bdb_version="5"
+ if test ""1"" != "-1"; then
+ bdb_version="$bdb_version."1""
+ if test ""-1"" != "-1"; then
+ bdb_version="$bdb_version."-1""
+ fi
+ fi
+ bdb_places="$places"
+ bdb_default_search_headers="db51/db.h db5/db.h db.h"
+ bdb_default_search_lib_names="db-5.1 db5-5.1 db51 db5 db"
+
+
+ apu_have_db=0
+
+ # Save the original values of the flags we tweak.
+ apu_check_lib_save_libs="$LIBS"
+ apu_check_lib_save_ldflags="$LDFLAGS"
+ apu_check_lib_save_cppflags="$CPPFLAGS"
+
+ # The variable `found' is the prefix under which we've found
+ # Berkeley DB, or `not' if we haven't found it anywhere yet.
+ found=not
+ for bdb_place in $bdb_places; do
+
+ LDFLAGS="$apu_check_lib_save_ldflags"
+ CPPFLAGS="$apu_check_lib_save_cppflags"
+ case "$bdb_place" in
+ "std" )
+ description="the standard places"
+ ;;
+ *":"* )
+ header="`echo $bdb_place | sed -e 's/:.*$//'`"
+ lib="`echo $bdb_place | sed -e 's/^.*://'`"
+ CPPFLAGS="$CPPFLAGS -I$header"
+ LDFLAGS="$LDFLAGS -L$lib"
+ description="$header and $lib"
+ ;;
+ * )
+ if test -d $bdb_place; then
+ LDFLAGS="$LDFLAGS -L$bdb_place/lib"
+ CPPFLAGS="$CPPFLAGS -I$bdb_place/include"
+ else
+ { $as_echo "$as_me:$LINENO: checking for Berkeley DB $bdb_version in $bdb_place" >&5
+$as_echo_n "checking for Berkeley DB $bdb_version in $bdb_place... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: directory not found" >&5
+$as_echo "directory not found" >&6; }
+ continue
+ fi
+ description="$bdb_place"
+ ;;
+ esac
+
+ # Since there is no AC_MSG_NOTICE in autoconf 2.13, we use this
+ # trick to display a message instead.
+ { $as_echo "$as_me:$LINENO: checking for Berkeley DB $bdb_version in $description" >&5
+$as_echo_n "checking for Berkeley DB $bdb_version in $description... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: " >&5
+$as_echo "" >&6; }
+
+ for bdb_libname in $bdb_default_search_lib_names; do
+ for bdb_header in $bdb_default_search_headers; do
+ # Clear the header cache variable for each location
+
+ cache_id="`echo ac_cv_header_${bdb_header} \
+ | sed -e 's/[^a-zA-Z0-9_]/_/g'`"
+
+ unset $cache_id
+ as_ac_Header=`$as_echo "ac_cv_header_$bdb_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $bdb_header" >&5
+$as_echo_n "checking for $bdb_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $bdb_header usability" >&5
+$as_echo_n "checking $bdb_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$bdb_header>
+_ACEOF
+rm -f conftest.$ac_objext
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $bdb_header presence" >&5
+$as_echo_n "checking $bdb_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$bdb_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$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:$LINENO: WARNING: $bdb_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $bdb_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $bdb_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $bdb_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $bdb_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $bdb_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $bdb_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $bdb_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $bdb_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $bdb_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $bdb_header" >&5
+$as_echo_n "checking for $bdb_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+
+ if test ""5"" = "3" -o ""5"" = "4" -o ""5"" = "5"; then
+ # We generate a separate cache variable for each prefix and libname
+ # we search under. That way, we avoid caching information that
+ # changes if the user runs `configure' with a different set of
+ # switches.
+
+ cache_id="`echo apu_cv_check_berkeley_db_"5"_"1"_"-1"_${bdb_header}_${bdb_libname}_in_${bdb_place} \
+ | sed -e 's/[^a-zA-Z0-9_]/_/g'`"
+
+
+ { $as_echo "$as_me:$LINENO: checking for -l$bdb_libname" >&5
+$as_echo_n "checking for -l$bdb_libname... " >&6; }
+ if { as_var=$cache_id; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ apu_try_berkeley_db_save_libs="$LIBS"
+
+ apu_check_berkeley_db_major="5"
+ apu_check_berkeley_db_minor="1"
+ apu_check_berkeley_db_patch="-1"
+ apu_try_berkeley_db_header=$bdb_header
+ apu_try_berkeley_db_libname=$bdb_libname
+
+ LIBS="$LIBS -l$apu_try_berkeley_db_libname"
+ if test "$cross_compiling" = yes; then
+ apu_try_berkeley_db=yes
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <$apu_try_berkeley_db_header>
+main ()
+{
+ int major, minor, patch;
+
+ db_version(&major, &minor, &patch);
+
+ /* Sanity check: ensure that db.h constants actually match the db library */
+ if (major != DB_VERSION_MAJOR
+ || minor != DB_VERSION_MINOR
+ || patch != DB_VERSION_PATCH)
+ exit (1);
+
+ /* Run-time check: ensure the library claims to be the correct version. */
+
+ if ($apu_check_berkeley_db_major != -1) {
+ if (major < $apu_check_berkeley_db_major)
+ exit (1);
+ if (major > $apu_check_berkeley_db_major)
+ exit (0);
+ }
+
+ if ($apu_check_berkeley_db_minor != -1) {
+ if (minor < $apu_check_berkeley_db_minor)
+ exit (1);
+ if (minor > $apu_check_berkeley_db_minor)
+ exit (0);
+ }
+
+ if ($apu_check_berkeley_db_patch == -1
+ || patch >= $apu_check_berkeley_db_patch)
+ exit (0);
+ else
+ exit (1);
+}
+
+_ACEOF
+rm -f 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ apu_try_berkeley_db=yes
+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
+
+( exit $ac_status )
+apu_try_berkeley_db=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+ LIBS="$apu_try_berkeley_db_save_libs"
+
+
+ eval "$cache_id=$apu_try_berkeley_db"
+
+fi
+
+ result="`eval echo '$'$cache_id`"
+ { $as_echo "$as_me:$LINENO: result: $result" >&5
+$as_echo "$result" >&6; }
+ elif test ""5"" = "1"; then
+ as_ac_Lib=`$as_echo "ac_cv_lib_$bdb_libname''_dbopen" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for dbopen in -l$bdb_libname" >&5
+$as_echo_n "checking for dbopen in -l$bdb_libname... " >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$bdb_libname $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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 dbopen ();
+int
+main ()
+{
+return dbopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_Lib=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ result=yes
+else
+ result=no
+
+fi
+
+ elif test ""5"" = "2"; then
+ as_ac_Lib=`$as_echo "ac_cv_lib_$bdb_libname''_db_open" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for db_open in -l$bdb_libname" >&5
+$as_echo_n "checking for db_open in -l$bdb_libname... " >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$bdb_libname $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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 db_open ();
+int
+main ()
+{
+return db_open ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_Lib=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ result=yes
+else
+ result=no
+
+fi
+
+ fi
+
+else
+ result="no"
+fi
+
+
+
+ # If we found it, no need to search any more.
+ if test "$result" = "yes"; then
+ found="$bdb_place"
+ break
+ fi
+ done
+ test "$found" != "not" && break
+ done
+ test "$found" != "not" && break
+ done
+
+ # Restore the original values of the flags we tweak.
+ LDFLAGS="$apu_check_lib_save_ldflags"
+ CPPFLAGS="$apu_check_lib_save_cppflags"
+
+ case "$found" in
+ "not")
+ apu_have_db=0
+ ;;
+ "std")
+ apu_db_header=$bdb_header
+ apu_db_lib=$bdb_libname
+ apu_have_db=1
+ ;;
+ *":"*)
+ header="`echo $found | sed -e 's/:.*$//'`"
+ lib="`echo $found | sed -e 's/^.*://'`"
+
+
+ if test "x$APRUTIL_INCLUDES" = "x"; then
+ test "x$silent" != "xyes" && echo " setting APRUTIL_INCLUDES to \"-I$header\""
+ APRUTIL_INCLUDES="-I$header"
+ else
+ apr_addto_bugger="-I$header"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $APRUTIL_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 APRUTIL_INCLUDES"
+ APRUTIL_INCLUDES="$APRUTIL_INCLUDES $i"
+ fi
+ done
+ fi
+
+
+ if test "x$APRUTIL_LDFLAGS" = "x"; then
+ test "x$silent" != "xyes" && echo " setting APRUTIL_LDFLAGS to \"-L$lib\""
+ APRUTIL_LDFLAGS="-L$lib"
+ else
+ apr_addto_bugger="-L$lib"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $APRUTIL_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 APRUTIL_LDFLAGS"
+ APRUTIL_LDFLAGS="$APRUTIL_LDFLAGS $i"
+ fi
+ done
+ fi
+
+ apu_db_header=$bdb_header
+ apu_db_lib=$bdb_libname
+ apu_have_db=1
+ ;;
+ *)
+
+ if test "x$APRUTIL_INCLUDES" = "x"; then
+ test "x$silent" != "xyes" && echo " setting APRUTIL_INCLUDES to \"-I$found/include\""
+ APRUTIL_INCLUDES="-I$found/include"
+ else
+ apr_addto_bugger="-I$found/include"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $APRUTIL_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 APRUTIL_INCLUDES"
+ APRUTIL_INCLUDES="$APRUTIL_INCLUDES $i"
+ fi
+ done
+ fi
+
+
+ if test "x$APRUTIL_LDFLAGS" = "x"; then
+ test "x$silent" != "xyes" && echo " setting APRUTIL_LDFLAGS to \"-L$found/lib\""
+ APRUTIL_LDFLAGS="-L$found/lib"
+ else
+ apr_addto_bugger="-L$found/lib"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $APRUTIL_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 APRUTIL_LDFLAGS"
+ APRUTIL_LDFLAGS="$APRUTIL_LDFLAGS $i"
+ fi
+ done
+ fi
+
+ apu_db_header=$bdb_header
+ apu_db_lib=$bdb_libname
+ apu_have_db=1
+ ;;
+ esac
+
+ if test "$apu_have_db" = "1"; then
+ apu_db_version=5
+ fi
+
+ if test "$apu_db_version" != "5"; then
+
+ places="$all_places"
+ if test -z "$places"; then
places="std /usr/local/BerkeleyDB.5.0 /boot/home/config"
fi
@@ -33962,7 +35842,7 @@ fi
apu_db_version=5
fi
- if test "$apu_db_version" != "5"; then
+ if test "$apu_db_version" != "5"; then
places="$all_places"
if test -z "$places"; then
@@ -34586,7 +36466,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -35210,7 +37090,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -35834,7 +37714,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -36458,7 +38338,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -37082,7 +38962,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -37706,7 +39586,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -38330,7 +40210,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -38954,7 +40834,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -39578,7 +41458,7 @@ fi
apu_db_version=4
fi
- if test "$apu_db_version" != "4"; then
+ if test "$apu_db_version" != "4"; then
places="$all_places"
if test -z "$places"; then
@@ -40202,7 +42082,7 @@ fi
apu_db_version=3
fi
- if test "$apu_db_version" != "3"; then
+ if test "$apu_db_version" != "3"; then
places="$all_places"
if test -z "$places"; then
@@ -40826,7 +42706,7 @@ fi
apu_db_version=2
fi
- if test "$apu_db_version" != "2"; then
+ if test "$apu_db_version" != "2"; then
places="$all_places"
if test -z "$places"; then
@@ -41450,7 +43330,7 @@ fi
apu_db_version=1
fi
- if test "$apu_db_version" != "1"; then
+ if test "$apu_db_version" != "1"; then
places="$all_places"
if test -z "$places"; then
@@ -42074,6 +43954,7 @@ fi
apu_db_version=185
fi
+ fi
fi
fi
fi
@@ -42187,15 +44068,19 @@ fi
apu_use_db=1
apu_default_dbm=db5
;;
+ db51)
+ apu_use_db=1
+ apu_default_dbm=db5
+ ;;
default)
apu_default_dbm="sdbm (default)"
apu_use_sdbm=1
;;
*)
{ { $as_echo "$as_me:$LINENO: error: --with-dbm=$look_for is an unknown DBM type.
- Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50" >&5
+ Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50, db51" >&5
$as_echo "$as_me: error: --with-dbm=$look_for is an unknown DBM type.
- Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50" >&2;}
+ Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50, db51" >&2;}
{ (exit 1); exit 1; }; }
;;
esac
@@ -49876,8 +51761,14 @@ fi
odbc_LDFLAGS="-L`$ODBC_CONFIG --lib-prefix`"
odbc_LIBS="`$ODBC_CONFIG --libs`"
else
- odbc_CPPFLAGS="-I$withval/include"
- odbc_LDFLAGS="-L$withval/lib "
+ if test -f "$withval" && test -x "$withval"; then
+ odbc_CPPFLAGS="-I`$withval --include-prefix`"
+ odbc_LDFLAGS="-L`$withval --lib-prefix`"
+ odbc_LIBS="`$withval --libs`"
+ else
+ odbc_CPPFLAGS="-I$withval/include"
+ odbc_LDFLAGS="-L$withval/lib "
+ fi
fi
@@ -51773,10 +53664,10 @@ fi
if test "x$APRUTIL_INCLUDES" = "x"; then
- test "x$silent" != "xyes" && echo " setting APRUTIL_INCLUDES to \"-I$top_builddir/$bundled_subdir/lib\""
- APRUTIL_INCLUDES="-I$top_builddir/$bundled_subdir/lib"
+ test "x$silent" != "xyes" && echo " setting APRUTIL_INCLUDES to \"-I$abs_srcdir/$bundled_subdir/lib\""
+ APRUTIL_INCLUDES="-I$abs_srcdir/$bundled_subdir/lib"
else
- apr_addto_bugger="-I$top_builddir/$bundled_subdir/lib"
+ apr_addto_bugger="-I$abs_srcdir/$bundled_subdir/lib"
for i in $apr_addto_bugger; do
apr_addto_duplicate="0"
for j in $APRUTIL_INCLUDES; do
diff --git a/srclib/apr-util/dbd/NWGNUdbdfreetds b/srclib/apr-util/dbd/NWGNUdbdfreetds
index 6fe0639f..fcac2271 100644
--- a/srclib/apr-util/dbd/NWGNUdbdfreetds
+++ b/srclib/apr-util/dbd/NWGNUdbdfreetds
@@ -11,7 +11,7 @@ SUBDIRS = \
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
#include $(APR)\build\NWGNUcustom.inc
@@ -38,8 +38,8 @@ FREETDS_NLM = libfreetds
XINCDIRS += \
$(APR)/include/arch/netware \
$(APR)/include \
- $(APRUTIL)/include \
- $(APRUTIL)/include/private \
+ $(APU)/include \
+ $(APU)/include/private \
$(APR) \
$(FREETDS_INC) \
$(EOLIST)
@@ -150,12 +150,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -165,7 +165,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -200,7 +200,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
ifeq ($(LINK_STATIC),1)
@@ -290,7 +290,7 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr-util/dbd/NWGNUdbdmysql b/srclib/apr-util/dbd/NWGNUdbdmysql
index e6ea9b5b..f52d3261 100644
--- a/srclib/apr-util/dbd/NWGNUdbdmysql
+++ b/srclib/apr-util/dbd/NWGNUdbdmysql
@@ -11,7 +11,7 @@ SUBDIRS = \
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
#include $(APR)\build\NWGNUcustom.inc
@@ -27,8 +27,8 @@ endif
# for now defined here - should finally go into build/NWGNUenvironment.inc
MYSQL_INC = $(MYSQLSDK)/include
-MYSQL_IMP = $(MYSQLSDK)/lib/libmysql.imp
-MYSQL_LIB = $(MYSQLSDK)/lib/libmysqlclient_r.lib $(MYSQLSDK)/lib/libz.lib
+MYSQL_IMP = libmysql.imp
+MYSQL_LIB = libmysqlclient_r.lib libz.lib
MYSQL_NLM = libmysql
ifneq "$(wildcard $(MYSQL_INC)/mysql.h)" "$(MYSQL_INC)/mysql.h"
$(error MYSQLSDK does not point to a valid MySQL SDK)
@@ -41,8 +41,8 @@ endif
XINCDIRS += \
$(APR)/include/arch/netware \
$(APR)/include \
- $(APRUTIL)/include \
- $(APRUTIL)/include/private \
+ $(APU)/include \
+ $(APU)/include/private \
$(APR) \
$(MYSQL_INC) \
$(EOLIST)
@@ -66,13 +66,8 @@ XDEFINES += \
# These flags will be added to the link.opt file
#
XLFLAGS += \
- $(EOLIST)
-
-ifdef LINK_STATIC
-XLFLAGS += \
-l $(MYSQLSDK)/lib \
$(EOLIST)
-endif
#
# These values will be appended to the correct variables based on the value of
@@ -154,12 +149,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -169,7 +164,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -182,7 +177,7 @@ XDCDATA =
# If there is an NLM target, put it here
#
TARGET_nlm = \
- $(OBJDIR)\$(NLM_NAME).nlm \
+ $(OBJDIR)/$(NLM_NAME).nlm \
$(EOLIST)
#
@@ -204,7 +199,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
ifeq ($(LINK_STATIC),1)
@@ -247,7 +242,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -294,7 +289,7 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr-util/dbd/NWGNUdbdpgsql b/srclib/apr-util/dbd/NWGNUdbdpgsql
index 8e48529f..32ac7757 100644
--- a/srclib/apr-util/dbd/NWGNUdbdpgsql
+++ b/srclib/apr-util/dbd/NWGNUdbdpgsql
@@ -11,7 +11,7 @@ SUBDIRS = \
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
#include $(APR)\build\NWGNUcustom.inc
@@ -27,8 +27,8 @@ endif
# for now defined here - should finally go into build/NWGNUenvironment.inc
PGSQL_INC = $(PGSQLSDK)/inc
-PGSQL_IMP = $(PGSQLSDK)/imp/libpq.imp
-PGSQL_LIB = $(PGSQLSDK)/lib/libpq.lib
+PGSQL_IMP = libpq.imp
+PGSQL_LIB = libpq.lib
PGSQL_NLM = libpq
#
@@ -38,8 +38,8 @@ PGSQL_NLM = libpq
XINCDIRS += \
$(APR)/include/arch/netware \
$(APR)/include \
- $(APRUTIL)/include \
- $(APRUTIL)/include/private \
+ $(APU)/include \
+ $(APU)/include/private \
$(APR) \
$(PGSQL_INC) \
$(EOLIST)
@@ -69,6 +69,10 @@ ifdef LINK_STATIC
XLFLAGS += \
-l $(PGSQLSDK)/lib \
$(EOLIST)
+else
+XLFLAGS += \
+ -l $(PGSQLSDK)/imp \
+ $(EOLIST)
endif
#
@@ -151,12 +155,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -166,7 +170,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -179,7 +183,7 @@ XDCDATA =
# If there is an NLM target, put it here
#
TARGET_nlm = \
- $(OBJDIR)\$(NLM_NAME).nlm \
+ $(OBJDIR)/$(NLM_NAME).nlm \
$(EOLIST)
#
@@ -201,7 +205,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
ifeq ($(LINK_STATIC),1)
@@ -244,7 +248,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -291,7 +295,7 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr-util/dbd/NWGNUdbdsqli2 b/srclib/apr-util/dbd/NWGNUdbdsqli2
index b9dff276..f7288bec 100644
--- a/srclib/apr-util/dbd/NWGNUdbdsqli2
+++ b/srclib/apr-util/dbd/NWGNUdbdsqli2
@@ -11,7 +11,7 @@ SUBDIRS = \
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
#include $(APR)\build\NWGNUcustom.inc
@@ -38,8 +38,8 @@ SQLITE2_NLM = lsqlite2
XINCDIRS += \
$(APR)/include/arch/netware \
$(APR)/include \
- $(APRUTIL)/include \
- $(APRUTIL)/include/private \
+ $(APU)/include \
+ $(APU)/include/private \
$(APR) \
$(SQLITE2_INC) \
$(EOLIST)
@@ -150,12 +150,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -165,7 +165,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -200,7 +200,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
ifeq ($(LINK_STATIC),1)
@@ -290,7 +290,7 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr-util/dbd/NWGNUdbdsqli3 b/srclib/apr-util/dbd/NWGNUdbdsqli3
index 7a948586..19a52042 100644
--- a/srclib/apr-util/dbd/NWGNUdbdsqli3
+++ b/srclib/apr-util/dbd/NWGNUdbdsqli3
@@ -11,7 +11,7 @@ SUBDIRS = \
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
#include $(APR)\build\NWGNUcustom.inc
@@ -38,8 +38,8 @@ SQLITE3_NLM = lsqlite3
XINCDIRS += \
$(APR)/include/arch/netware \
$(APR)/include \
- $(APRUTIL)/include \
- $(APRUTIL)/include/private \
+ $(APU)/include \
+ $(APU)/include/private \
$(APR) \
$(SQLITE3_INC) \
$(EOLIST)
@@ -150,12 +150,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -165,7 +165,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -200,7 +200,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
ifeq ($(LINK_STATIC),1)
@@ -292,7 +292,7 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr-util/dbd/NWGNUmakefile b/srclib/apr-util/dbd/NWGNUmakefile
index fb4b9ad7..b1e3e532 100644
--- a/srclib/apr-util/dbd/NWGNUmakefile
+++ b/srclib/apr-util/dbd/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -246,7 +246,7 @@ nlms :: libs $(TARGET_nlm)
# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
#
install :: nlms $(INSTDIRS) FORCE
- copy $(OBJDIR)\*.nlm $(INSTALLBASE)
+ $(call COPY,$(OBJDIR)/*.nlm,$(INSTALLBASE))
#
# Any specialized rules here
@@ -257,6 +257,6 @@ install :: nlms $(INSTDIRS) FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr-util/dbd/apr_dbd_freetds.mak b/srclib/apr-util/dbd/apr_dbd_freetds.mak
index d55bca03..c8fb2596 100644
--- a/srclib/apr-util/dbd/apr_dbd_freetds.mak
+++ b/srclib/apr-util/dbd/apr_dbd_freetds.mak
@@ -563,28 +563,28 @@ SOURCE=..\libaprutil.rc
"$(INTDIR)\apr_dbd_freetds-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_freetds-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_freetds" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_freetds-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_freetds" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_freetds - Win32 Debug"
"$(INTDIR)\apr_dbd_freetds-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_freetds-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_freetds" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_freetds-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_freetds" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_freetds - x64 Release"
"$(INTDIR)\apr_dbd_freetds-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_freetds-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_freetds" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_freetds-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_freetds" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_freetds - x64 Debug"
"$(INTDIR)\apr_dbd_freetds-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_freetds-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_freetds" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_freetds-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_freetds" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ENDIF
diff --git a/srclib/apr-util/dbd/apr_dbd_mysql.mak b/srclib/apr-util/dbd/apr_dbd_mysql.mak
index b40d88cb..52858a01 100644
--- a/srclib/apr-util/dbd/apr_dbd_mysql.mak
+++ b/srclib/apr-util/dbd/apr_dbd_mysql.mak
@@ -563,28 +563,28 @@ SOURCE=..\libaprutil.rc
"$(INTDIR)\apr_dbd_mysql-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_mysql-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_mysql" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_mysql-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_mysql" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_mysql - Win32 Debug"
"$(INTDIR)\apr_dbd_mysql-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_mysql-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_mysql" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_mysql-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_mysql" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_mysql - x64 Release"
"$(INTDIR)\apr_dbd_mysql-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_mysql-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_mysql" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_mysql-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_mysql" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_mysql - x64 Debug"
"$(INTDIR)\apr_dbd_mysql-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_mysql-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_mysql" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_mysql-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_mysql" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ENDIF
diff --git a/srclib/apr-util/dbd/apr_dbd_odbc.c b/srclib/apr-util/dbd/apr_dbd_odbc.c
index b66dcf83..2db0b8b9 100644
--- a/srclib/apr-util/dbd/apr_dbd_odbc.c
+++ b/srclib/apr-util/dbd/apr_dbd_odbc.c
@@ -47,7 +47,7 @@
#include <odbc/sqlext.h>
#endif
- /* Driver name is "odbc" and the entry point is 'apr_dbd_odbc_driver'
+/* Driver name is "odbc" and the entry point is 'apr_dbd_odbc_driver'
* unless ODBC_DRIVER_NAME is defined and it is linked with another db library which
* is ODBC source-compatible. e.g. DB2, Informix, TimesTen, mysql.
*/
@@ -64,11 +64,11 @@
#define DRIVER_APU_VERSION_MAJOR APU_MAJOR_VERSION
#define DRIVER_APU_VERSION_MINOR APU_MINOR_VERSION
-
static SQLHANDLE henv = NULL; /* ODBC ENV handle is process-wide */
/* Use a CHECK_ERROR macro so we can grab the source line numbers
- * for error reports */
+ * for error reports
+ */
static void check_error(apr_dbd_t *a, const char *step, SQLRETURN rc,
SQLSMALLINT type, SQLHANDLE h, int line);
#define CHECK_ERROR(a,s,r,t,h) check_error(a,s,r,t,h, __LINE__)
@@ -87,12 +87,15 @@ static void check_error(apr_dbd_t *a, const char *step, SQLRETURN rc,
#define BINARYMODE 0 /* used for binary (APR 1.3+) mode params */
/* Identify datatypes which are LOBs
- * - DB2 DRDA driver uses undefined types -98 and -99 for CLOB & BLOB */
+ * - DB2 DRDA driver uses undefined types -98 and -99 for CLOB & BLOB
+ */
#define IS_LOB(t) (t == SQL_LONGVARCHAR \
|| t == SQL_LONGVARBINARY || t == SQL_VARBINARY \
|| t == -98 || t == -99)
+
/* These types are CLOBs
- * - DB2 DRDA driver uses undefined type -98 for CLOB */
+ * - DB2 DRDA driver uses undefined type -98 for CLOB
+ */
#define IS_CLOB(t) \
(t == SQL_LONGVARCHAR || t == -98)
@@ -138,7 +141,8 @@ struct apr_dbd_results_t
int *all_data_fetched; /* flags data as all fetched, for LOBs */
void *data; /* buffer for all data for one row */
};
-enum /* results column states */
+
+enum /* results column states */
{
COL_AVAIL, /* data may be retrieved with SQLGetData */
COL_PRESENT, /* data has been retrieved with SQLGetData */
@@ -147,7 +151,8 @@ enum /* results column states */
COL_UNAVAIL /* column is unavailable because ODBC driver
* requires that columns be retrieved
* in ascending order and a higher col
- * was accessed */
+ * was accessed
+ */
};
struct apr_dbd_row_t {
@@ -169,7 +174,6 @@ struct apr_dbd_prepared_t {
int nargs;
int nvals;
int *types; /* array of DBD data types */
-
};
static void odbc_lob_bucket_destroy(void *data);
@@ -187,7 +191,6 @@ static const apr_bucket_type_t odbc_bucket_type = {
apr_bucket_shared_copy
};
-
/* ODBC LOB bucket data */
typedef struct {
/** Ref count for shared bucket */
@@ -197,10 +200,9 @@ typedef struct {
SQLSMALLINT type;
} odbc_bucket;
-
/* SQL datatype mappings to DBD datatypes
* These tables must correspond *exactly* to the apr_dbd_type_e enum
- * in apr_dbd_internal.h
+ * in apr_dbd.h
*/
/* ODBC "C" types to DBD datatypes */
@@ -229,6 +231,7 @@ static SQLSMALLINT const sqlCtype[] = {
SQL_LONGVARCHAR, /* APR_DBD_TYPE_CLOB, \%pDc */
SQL_TYPE_NULL /* APR_DBD_TYPE_NULL \%pDn */
};
+#define NUM_APR_DBD_TYPES (sizeof(sqlCtype) / sizeof(sqlCtype[0]))
/* ODBC Base types to DBD datatypes */
static SQLSMALLINT const sqlBaseType[] = {
@@ -285,17 +288,18 @@ static int const sqlSizes[] = {
};
/*
-* local functions
-*/
+ * local functions
+ */
/* close any open results for the connection */
static apr_status_t odbc_close_results(void *d)
-{ apr_dbd_results_t *dbr = (apr_dbd_results_t *) d;
+{
+ apr_dbd_results_t *dbr = (apr_dbd_results_t *)d;
SQLRETURN rc = SQL_SUCCESS;
if (dbr && dbr->apr_dbd && dbr->apr_dbd->dbc) {
- if (!dbr->isclosed)
- rc = SQLCloseCursor(dbr->stmt);
+ if (!dbr->isclosed)
+ rc = SQLCloseCursor(dbr->stmt);
dbr->isclosed = 1;
}
return APR_FROM_SQL_RESULT(rc);
@@ -306,6 +310,7 @@ static apr_status_t odbc_close_pstmt(void *s)
{
SQLRETURN rc = APR_SUCCESS;
apr_dbd_prepared_t *statement = s;
+
/* stmt is closed if connection has already been closed */
if (statement) {
SQLHANDLE hstmt = statement->stmt;
@@ -336,7 +341,7 @@ static apr_status_t odbc_close(apr_dbd_t *handle)
/* odbc_close re-defined for passing to pool cleanup */
static apr_status_t odbc_close_cleanup(void *handle)
{
- return odbc_close( (apr_dbd_t *) handle);
+ return odbc_close((apr_dbd_t *)handle);
}
/* close the ODBC environment handle at process termination */
@@ -350,26 +355,29 @@ static apr_status_t odbc_close_env(SQLHANDLE henv)
}
/* setup the arrays in results for all the returned columns */
-static SQLRETURN odbc_set_result_column(int icol, apr_dbd_results_t * res,
- SQLHANDLE stmt)
+static SQLRETURN odbc_set_result_column(int icol, apr_dbd_results_t *res,
+ SQLHANDLE stmt)
{
SQLRETURN rc;
int maxsize, textsize, realsize, type, isunsigned = 1;
- /* discover the sql type */
+ /* discover the sql type */
rc = SQLColAttribute(stmt, icol + 1, SQL_DESC_UNSIGNED, NULL, 0, NULL,
- (SQLPOINTER) &isunsigned);
+ (SQLPOINTER)&isunsigned);
isunsigned = (isunsigned == SQL_TRUE);
rc = SQLColAttribute(stmt, icol + 1, SQL_DESC_TYPE, NULL, 0, NULL,
- (SQLPOINTER) &type);
- if (!SQL_SUCCEEDED(rc) || type == SQL_UNKNOWN_TYPE)
+ (SQLPOINTER)&type);
+ if (!SQL_SUCCEEDED(rc) || type == SQL_UNKNOWN_TYPE) {
/* MANY ODBC v2 datasources only supply CONCISE_TYPE */
rc = SQLColAttribute(stmt, icol + 1, SQL_DESC_CONCISE_TYPE, NULL,
- 0, NULL, (SQLPOINTER) &type);
- if (!SQL_SUCCEEDED(rc))
+ 0, NULL, (SQLPOINTER)&type);
+ }
+
+ if (!SQL_SUCCEEDED(rc)) {
/* if still unknown make it CHAR */
type = SQL_C_CHAR;
+ }
switch (type) {
case SQL_INTEGER:
@@ -405,28 +413,31 @@ static SQLRETURN odbc_set_result_column(int icol, apr_dbd_results_t * res,
/* size if retrieved as text */
rc = SQLColAttribute(stmt, icol + 1, SQL_DESC_DISPLAY_SIZE, NULL, 0,
- NULL, (SQLPOINTER) & textsize);
- if (!SQL_SUCCEEDED(rc) || textsize < 0)
+ NULL, (SQLPOINTER)&textsize);
+ if (!SQL_SUCCEEDED(rc) || textsize < 0) {
textsize = res->apr_dbd->defaultBufferSize;
+ }
/* for null-term, which sometimes isn't included */
textsize++;
/* real size */
rc = SQLColAttribute(stmt, icol + 1, SQL_DESC_OCTET_LENGTH, NULL, 0,
- NULL, (SQLPOINTER) & realsize);
- if (!SQL_SUCCEEDED(rc))
+ NULL, (SQLPOINTER)&realsize);
+ if (!SQL_SUCCEEDED(rc)) {
realsize = textsize;
+ }
maxsize = (textsize > realsize) ? textsize : realsize;
- if ( IS_LOB(type) || maxsize <= 0) {
+ if (IS_LOB(type) || maxsize <= 0) {
/* LOB types are never bound and have a NULL colptr for binary.
* Ingore their real (1-2gb) length & use a default - the larger
* of defaultBufferSize or APR_BUCKET_BUFF_SIZE.
* If not a LOB, but simply unknown length - always use defaultBufferSize.
*/
maxsize = res->apr_dbd->defaultBufferSize;
- if ( IS_LOB(type) && maxsize < APR_BUCKET_BUFF_SIZE )
+ if (IS_LOB(type) && maxsize < APR_BUCKET_BUFF_SIZE) {
maxsize = APR_BUCKET_BUFF_SIZE;
+ }
res->colptrs[icol] = NULL;
res->colstate[icol] = COL_AVAIL;
@@ -440,14 +451,15 @@ static SQLRETURN odbc_set_result_column(int icol, apr_dbd_results_t * res,
/* we are allowed to call SQLGetData if we need to */
rc = SQLBindCol(stmt, icol + 1, res->coltypes[icol],
res->colptrs[icol], maxsize,
- &(res->colinds[icol]) );
+ &(res->colinds[icol]));
CHECK_ERROR(res->apr_dbd, "SQLBindCol", rc, SQL_HANDLE_STMT,
stmt);
res->colstate[icol] = SQL_SUCCEEDED(rc) ? COL_BOUND : COL_AVAIL;
}
else {
/* this driver won't allow us to call SQLGetData on bound
- * columns - so don't bind any */
+ * columns - so don't bind any
+ */
res->colstate[icol] = COL_AVAIL;
rc = SQL_SUCCESS;
}
@@ -456,9 +468,9 @@ static SQLRETURN odbc_set_result_column(int icol, apr_dbd_results_t * res,
}
/* create and populate an apr_dbd_results_t for a select */
-static SQLRETURN odbc_create_results(apr_dbd_t * handle, SQLHANDLE hstmt,
- apr_pool_t * pool, const int random,
- apr_dbd_results_t ** res)
+static SQLRETURN odbc_create_results(apr_dbd_t *handle, SQLHANDLE hstmt,
+ apr_pool_t *pool, const int random,
+ apr_dbd_results_t **res)
{
SQLRETURN rc;
SQLSMALLINT ncols;
@@ -473,7 +485,7 @@ static SQLRETURN odbc_create_results(apr_dbd_t * handle, SQLHANDLE hstmt,
CHECK_ERROR(handle, "SQLNumResultCols", rc, SQL_HANDLE_STMT, hstmt);
(*res)->ncols = ncols;
- if SQL_SUCCEEDED(rc) {
+ if (SQL_SUCCEEDED(rc)) {
int i;
(*res)->colnames = apr_pcalloc(pool, ncols * sizeof(char *));
@@ -484,16 +496,17 @@ static SQLRETURN odbc_create_results(apr_dbd_t * handle, SQLHANDLE hstmt,
(*res)->colstate = apr_pcalloc(pool, ncols * sizeof(int));
(*res)->ncols = ncols;
- for (i = 0 ; i < ncols ; i++)
+ for (i = 0; i < ncols; i++) {
odbc_set_result_column(i, (*res), hstmt);
}
+ }
return rc;
}
/* bind a parameter - input params only, does not support output parameters */
-static SQLRETURN odbc_bind_param(apr_pool_t * pool,
- apr_dbd_prepared_t * statement, const int narg,
+static SQLRETURN odbc_bind_param(apr_pool_t *pool,
+ apr_dbd_prepared_t *statement, const int narg,
const SQLSMALLINT type, int *argp,
const void **args, const int textmode)
{
@@ -516,13 +529,17 @@ static SQLRETURN odbc_bind_param(apr_pool_t * pool,
}
/* bind a non-NULL data value */
else {
+ if (type < 0 || type >= NUM_APR_DBD_TYPES) {
+ return APR_EGENERAL;
+ }
+
baseType = sqlBaseType[type];
cType = sqlCtype[type];
indicator = NULL;
/* LOBs */
if (IS_LOB(cType)) {
- ptr = (void *) args[*argp];
- len = (SQLULEN) * (apr_size_t *) args[*argp + 1];
+ ptr = (void *)args[*argp];
+ len = (SQLULEN) * (apr_size_t *)args[*argp + 1];
cType = (IS_CLOB(cType)) ? SQL_C_CHAR : SQL_C_DEFAULT;
(*argp) += 4; /* LOBs consume 4 args (last two are unused) */
}
@@ -533,48 +550,48 @@ static SQLRETURN odbc_bind_param(apr_pool_t * pool,
case SQL_DATE:
case SQL_TIME:
case SQL_TIMESTAMP:
- ptr = (void *) args[*argp];
- len = (SQLULEN) strlen(ptr);
+ ptr = (void *)args[*argp];
+ len = (SQLULEN)strlen(ptr);
break;
case SQL_TINYINT:
ptr = apr_palloc(pool, sizeof(unsigned char));
len = sizeof(unsigned char);
- *(unsigned char *) ptr =
+ *(unsigned char *)ptr =
(textmode ?
- atoi(args[*argp]) : *(unsigned char *) args[*argp]);
+ atoi(args[*argp]) : *(unsigned char *)args[*argp]);
break;
case SQL_SMALLINT:
ptr = apr_palloc(pool, sizeof(short));
len = sizeof(short);
- *(short *) ptr =
- (textmode ? atoi(args[*argp]) : *(short *) args[*argp]);
+ *(short *)ptr =
+ (textmode ? atoi(args[*argp]) : *(short *)args[*argp]);
break;
case SQL_INTEGER:
ptr = apr_palloc(pool, sizeof(int));
len = sizeof(int);
- *(long *) ptr =
- (textmode ? atol(args[*argp]) : *(long *) args[*argp]);
+ *(long *)ptr =
+ (textmode ? atol(args[*argp]) : *(long *)args[*argp]);
break;
case SQL_FLOAT:
ptr = apr_palloc(pool, sizeof(float));
len = sizeof(float);
- *(float *) ptr =
+ *(float *)ptr =
(textmode ?
- (float) atof(args[*argp]) : *(float *) args[*argp]);
+ (float)atof(args[*argp]) : *(float *)args[*argp]);
break;
case SQL_DOUBLE:
ptr = apr_palloc(pool, sizeof(double));
len = sizeof(double);
- *(double *) ptr =
+ *(double *)ptr =
(textmode ? atof(args[*argp]) : *(double *)
args[*argp]);
break;
case SQL_BIGINT:
ptr = apr_palloc(pool, sizeof(apr_int64_t));
len = sizeof(apr_int64_t);
- *(apr_int64_t *) ptr =
+ *(apr_int64_t *)ptr =
(textmode ?
- apr_atoi64(args[*argp]) : *(apr_int64_t *) args[*argp]);
+ apr_atoi64(args[*argp]) : *(apr_int64_t *)args[*argp]);
break;
default:
return APR_EGENERAL;
@@ -591,8 +608,6 @@ static SQLRETURN odbc_bind_param(apr_pool_t * pool,
/* LOB / Bucket Brigade functions */
-
-
/* bucket type specific destroy */
static void odbc_lob_bucket_destroy(void *data)
{
@@ -605,7 +620,7 @@ static void odbc_lob_bucket_destroy(void *data)
/* set aside a bucket if possible */
static apr_status_t odbc_lob_bucket_setaside(apr_bucket *e, apr_pool_t *pool)
{
- odbc_bucket *bd = (odbc_bucket *) e->data;
+ odbc_bucket *bd = (odbc_bucket *)e->data;
/* Unlikely - but if the row pool is ancestor of this pool then it is OK */
if (apr_pool_is_ancestor(bd->row->pool, pool))
@@ -621,7 +636,7 @@ static apr_status_t odbc_lob_bucket_read(apr_bucket *e, const char **str,
SQLRETURN rc;
SQLLEN len_indicator;
SQLSMALLINT type;
- odbc_bucket *bd = (odbc_bucket *) e->data;
+ odbc_bucket *bd = (odbc_bucket *)e->data;
apr_bucket *nxt;
void *buf;
int bufsize = bd->row->res->apr_dbd->defaultBufferSize;
@@ -633,9 +648,9 @@ static apr_status_t odbc_lob_bucket_read(apr_bucket *e, const char **str,
/* LOB buffers are always at least APR_BUCKET_BUFF_SIZE,
* but they may be much bigger per the BUFSIZE parameter.
- */
+ */
if (bufsize < APR_BUCKET_BUFF_SIZE)
- bufsize = APR_BUCKET_BUFF_SIZE;
+ bufsize = APR_BUCKET_BUFF_SIZE;
buf = apr_bucket_alloc(bufsize, e->list);
*str = NULL;
@@ -654,7 +669,7 @@ static apr_status_t odbc_lob_bucket_read(apr_bucket *e, const char **str,
if (SQL_SUCCEEDED(rc) || rc == SQL_NO_DATA) {
if (rc == SQL_SUCCESS_WITH_INFO
- && ( len_indicator == SQL_NO_TOTAL || len_indicator >= bufsize) ) {
+ && (len_indicator == SQL_NO_TOTAL || len_indicator >= bufsize)) {
/* not the last read = a full buffer. CLOBs have a null terminator */
*len = bufsize - (IS_CLOB(bd->type) ? 1 : 0 );
@@ -666,8 +681,8 @@ static apr_status_t odbc_lob_bucket_read(apr_bucket *e, const char **str,
* We try to handle both interpretations.
*/
*len = (len_indicator > bufsize
- && len_indicator >= (SQLLEN) e->start)
- ? (len_indicator - (SQLLEN) e->start) : len_indicator;
+ && len_indicator >= (SQLLEN)e->start)
+ ? (len_indicator - (SQLLEN)e->start) : len_indicator;
eos = 1;
}
@@ -706,12 +721,10 @@ static apr_status_t odbc_create_bucket(const apr_dbd_row_t *row, const int col,
odbc_bucket *bd = apr_bucket_alloc(sizeof(odbc_bucket), list);
apr_bucket *eos = apr_bucket_eos_create(list);
-
bd->row = row;
bd->col = col;
bd->type = type;
-
APR_BUCKET_INIT(b);
b->type = &odbc_bucket_type;
b->free = apr_bucket_free;
@@ -726,7 +739,8 @@ static apr_status_t odbc_create_bucket(const apr_dbd_row_t *row, const int col,
}
/* returns a data pointer for a column, returns NULL for NULL value,
- * return -1 if data not available */
+ * return -1 if data not available
+ */
static void *odbc_get(const apr_dbd_row_t *row, const int col,
const SQLSMALLINT sqltype)
{
@@ -736,11 +750,13 @@ static void *odbc_get(const apr_dbd_row_t *row, const int col,
int options = row->res->apr_dbd->dboptions;
switch (state) {
- case (COL_UNAVAIL) : return (void *) -1;
- case (COL_RETRIEVED) : return NULL;
+ case (COL_UNAVAIL):
+ return (void *)-1;
+ case (COL_RETRIEVED):
+ return NULL;
- case (COL_BOUND) :
- case (COL_PRESENT) :
+ case (COL_BOUND):
+ case (COL_PRESENT):
if (sqltype == row->res->coltypes[col]) {
/* same type and we already have the data */
row->res->colstate[col] = COL_RETRIEVED;
@@ -752,7 +768,8 @@ static void *odbc_get(const apr_dbd_row_t *row, const int col,
/* we need to get the data now */
if (!(options & SQL_GD_ANY_ORDER)) {
/* this ODBC driver requires columns to be retrieved in order,
- * so we attempt to get every prior un-gotten non-LOB column */
+ * so we attempt to get every prior un-gotten non-LOB column
+ */
int i;
for (i = 0; i < col; i++) {
if (row->res->colstate[i] == COL_AVAIL) {
@@ -768,7 +785,7 @@ static void *odbc_get(const apr_dbd_row_t *row, const int col,
if ((state == COL_BOUND && !(options & SQL_GD_BOUND)))
/* this driver won't let us re-get bound columns */
- return (void *) -1;
+ return (void *)-1;
/* a LOB might not have a buffer allocated yet - so create one */
if (!row->res->colptrs[col])
@@ -785,12 +802,14 @@ static void *odbc_get(const apr_dbd_row_t *row, const int col,
/* whatever it was originally, it is now this sqltype */
row->res->coltypes[col] = sqltype;
/* this allows getting CLOBs in text mode by calling get_entry
- * until it returns NULL */
+ * until it returns NULL
+ */
row->res->colstate[col] =
(rc == SQL_SUCCESS_WITH_INFO) ? COL_AVAIL : COL_RETRIEVED;
return row->res->colptrs[col];
}
- else return (void *) -1;
+ else
+ return (void *)-1;
}
/* Parse the parameter string for open */
@@ -800,8 +819,8 @@ static apr_status_t odbc_parse_params(apr_pool_t *pool, const char *params,
int *defaultBufferSize, int *nattrs,
int **attrs, int **attrvals)
{
- char *seps, *last, *name[MAX_PARAMS], *val[MAX_PARAMS];
- int nparams=0, i, j;
+ char *seps, *last, *next, *name[MAX_PARAMS], *val[MAX_PARAMS];
+ int nparams = 0, i, j;
*attrs = apr_pcalloc(pool, MAX_PARAMS * sizeof(char *));
*attrvals = apr_pcalloc(pool, MAX_PARAMS * sizeof(int));
@@ -821,42 +840,56 @@ static apr_status_t odbc_parse_params(apr_pool_t *pool, const char *params,
}
val[nparams] = apr_strtok(NULL, seps, &last);
seps = DEFAULTSEPS;
- name[++nparams] = apr_strtok(NULL, seps, &last);
- } while ( nparams <= MAX_PARAMS && name[nparams] != NULL);
- for(j=i=0 ; i< nparams ; i++)
- { if (!apr_strnatcasecmp(name[i], "CONNECT"))
- { *datasource = (SQLCHAR *)apr_pstrdup(pool, val[i]);
- *connect=1;
+ ++nparams;
+ next = apr_strtok(NULL, seps, &last);
+ if (!next) {
+ break;
+ }
+ if (nparams >= MAX_PARAMS) {
+ /* too many parameters, no place to store */
+ return APR_EGENERAL;
+ }
+ name[nparams] = next;
+ } while (1);
+
+ for (j = i = 0; i < nparams; i++) {
+ if (!apr_strnatcasecmp(name[i], "CONNECT")) {
+ *datasource = (SQLCHAR *)apr_pstrdup(pool, val[i]);
+ *connect = 1;
}
- else if (!apr_strnatcasecmp(name[i], "DATASOURCE"))
- { *datasource = (SQLCHAR *)apr_pstrdup(pool, val[i]);
- *connect=0;
+ else if (!apr_strnatcasecmp(name[i], "DATASOURCE")) {
+ *datasource = (SQLCHAR *)apr_pstrdup(pool, val[i]);
+ *connect = 0;
}
- else if (!apr_strnatcasecmp(name[i], "USER"))
+ else if (!apr_strnatcasecmp(name[i], "USER")) {
*user = (SQLCHAR *)apr_pstrdup(pool, val[i]);
- else if (!apr_strnatcasecmp(name[i], "PASSWORD"))
+ }
+ else if (!apr_strnatcasecmp(name[i], "PASSWORD")) {
*password = (SQLCHAR *)apr_pstrdup(pool, val[i]);
- else if (!apr_strnatcasecmp(name[i], "BUFSIZE"))
+ }
+ else if (!apr_strnatcasecmp(name[i], "BUFSIZE")) {
*defaultBufferSize = atoi(val[i]);
- else if (!apr_strnatcasecmp(name[i], "ACCESS"))
- { if (!apr_strnatcasecmp(val[i], "READ_ONLY"))
+ }
+ else if (!apr_strnatcasecmp(name[i], "ACCESS")) {
+ if (!apr_strnatcasecmp(val[i], "READ_ONLY"))
(*attrvals)[j] = SQL_MODE_READ_ONLY;
else if (!apr_strnatcasecmp(val[i], "READ_WRITE"))
(*attrvals)[j] = SQL_MODE_READ_WRITE;
- else return SQL_ERROR;
+ else
+ return SQL_ERROR;
(*attrs)[j++] = SQL_ATTR_ACCESS_MODE;
}
- else if (!apr_strnatcasecmp(name[i], "CTIMEOUT"))
- { (*attrvals)[j] = atoi(val[i]);
+ else if (!apr_strnatcasecmp(name[i], "CTIMEOUT")) {
+ (*attrvals)[j] = atoi(val[i]);
(*attrs)[j++] = SQL_ATTR_LOGIN_TIMEOUT;
}
- else if (!apr_strnatcasecmp(name[i], "STIMEOUT"))
- { (*attrvals)[j] = atoi(val[i]);
+ else if (!apr_strnatcasecmp(name[i], "STIMEOUT")) {
+ (*attrvals)[j] = atoi(val[i]);
(*attrs)[j++] = SQL_ATTR_CONNECTION_TIMEOUT;
}
- else if (!apr_strnatcasecmp(name[i], "TXMODE"))
- { if (!apr_strnatcasecmp(val[i], "READ_UNCOMMITTED"))
+ else if (!apr_strnatcasecmp(name[i], "TXMODE")) {
+ if (!apr_strnatcasecmp(val[i], "READ_UNCOMMITTED"))
(*attrvals)[j] = SQL_TXN_READ_UNCOMMITTED;
else if (!apr_strnatcasecmp(val[i], "READ_COMMITTED"))
(*attrvals)[j] = SQL_TXN_READ_COMMITTED;
@@ -866,10 +899,12 @@ static apr_status_t odbc_parse_params(apr_pool_t *pool, const char *params,
(*attrvals)[j] = SQL_TXN_SERIALIZABLE;
else if (!apr_strnatcasecmp(val[i], "DEFAULT"))
continue;
- else return SQL_ERROR;
+ else
+ return SQL_ERROR;
(*attrs)[j++] = SQL_ATTR_TXN_ISOLATION;
}
- else return SQL_ERROR;
+ else
+ return SQL_ERROR;
}
*nattrs = j;
return (*datasource && *defaultBufferSize) ? APR_SUCCESS : SQL_ERROR;
@@ -883,48 +918,63 @@ static void check_error(apr_dbd_t *dbc, const char *step, SQLRETURN rc,
SQLCHAR sqlstate[128];
SQLINTEGER native;
SQLSMALLINT reslength;
- char *res, *p, *end, *logval=NULL;
+ char *res, *p, *end, *logval = NULL;
int i;
- apr_status_t r;
/* set info about last error in dbc - fast return for SQL_SUCCESS */
if (rc == SQL_SUCCESS) {
char successMsg[] = "[dbd_odbc] SQL_SUCCESS ";
+ apr_size_t successMsgLen = sizeof successMsg - 1;
+
dbc->lasterrorcode = SQL_SUCCESS;
- strcpy(dbc->lastError, successMsg);
- strcpy(dbc->lastError+sizeof(successMsg)-1, step);
+ apr_cpystrn(dbc->lastError, successMsg, sizeof dbc->lastError);
+ apr_cpystrn(dbc->lastError + successMsgLen, step,
+ sizeof dbc->lastError - successMsgLen);
return;
}
switch (rc) {
- case SQL_INVALID_HANDLE : { res = "SQL_INVALID_HANDLE"; break; }
- case SQL_ERROR : { res = "SQL_ERROR"; break; }
- case SQL_SUCCESS_WITH_INFO : { res = "SQL_SUCCESS_WITH_INFO"; break; }
- case SQL_STILL_EXECUTING : { res = "SQL_STILL_EXECUTING"; break; }
- case SQL_NEED_DATA : { res = "SQL_NEED_DATA"; break; }
- case SQL_NO_DATA : { res = "SQL_NO_DATA"; break; }
- default : { res = "unrecognized SQL return code"; }
+ case SQL_INVALID_HANDLE:
+ res = "SQL_INVALID_HANDLE";
+ break;
+ case SQL_ERROR:
+ res = "SQL_ERROR";
+ break;
+ case SQL_SUCCESS_WITH_INFO:
+ res = "SQL_SUCCESS_WITH_INFO";
+ break;
+ case SQL_STILL_EXECUTING:
+ res = "SQL_STILL_EXECUTING";
+ break;
+ case SQL_NEED_DATA:
+ res = "SQL_NEED_DATA";
+ break;
+ case SQL_NO_DATA:
+ res = "SQL_NO_DATA";
+ break;
+ default:
+ res = "unrecognized SQL return code";
}
/* these two returns are expected during normal execution */
if (rc != SQL_SUCCESS_WITH_INFO && rc != SQL_NO_DATA
- && dbc->can_commit != APR_DBD_TRANSACTION_IGNORE_ERRORS)
- {
+ && dbc->can_commit != APR_DBD_TRANSACTION_IGNORE_ERRORS) {
dbc->can_commit = APR_DBD_TRANSACTION_ROLLBACK;
}
p = dbc->lastError;
end = p + sizeof(dbc->lastError);
dbc->lasterrorcode = rc;
p += sprintf(p, "[dbd_odbc] %.64s returned %.30s (%d) at %.24s:%d ",
- step, res, rc, SOURCE_FILE, line-1);
- for (i=1, rc=0 ; rc==0 ; i++) {
+ step, res, rc, SOURCE_FILE, line - 1);
+ for (i = 1, rc = 0; rc == 0; i++) {
rc = SQLGetDiagRec(type, h, i, sqlstate, &native, buffer,
sizeof(buffer), &reslength);
- if (SQL_SUCCEEDED(rc) && (p < (end-280)))
+ if (SQL_SUCCEEDED(rc) && (p < (end - 280)))
p += sprintf(p, "%.256s %.20s ", buffer, sqlstate);
}
- r = apr_env_get(&logval, "apr_dbd_odbc_log", dbc->pool);
+ apr_env_get(&logval, "apr_dbd_odbc_log", dbc->pool);
/* if env var was set or call was init/open (no dbname) - log to stderr */
if (logval || !dbc->dbname ) {
char timestamp[APR_CTIME_LEN];
+
apr_file_t *se;
apr_ctime(timestamp, apr_time_now());
apr_file_open_stderr(&se, dbc->pool);
@@ -936,14 +986,16 @@ static APR_INLINE int odbc_check_rollback(apr_dbd_t *handle)
{
if (handle->can_commit == APR_DBD_TRANSACTION_ROLLBACK) {
handle->lasterrorcode = SQL_ERROR;
- strcpy(handle->lastError, "[dbd_odbc] Rollback pending ");
+ apr_cpystrn(handle->lastError, "[dbd_odbc] Rollback pending ",
+ sizeof handle->lastError);
return 1;
}
return 0;
}
+
/*
-* public functions per DBD driver API
-*/
+ * public functions per DBD driver API
+ */
/** init: allow driver to perform once-only initialisation. **/
static void odbc_init(apr_pool_t *pool)
@@ -971,13 +1023,13 @@ static void odbc_init(apr_pool_t *pool)
step = "SQLAllocHandle (SQL_HANDLE_ENV)";
rc = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
apr_pool_cleanup_register(pool, henv, odbc_close_env, apr_pool_cleanup_null);
- if (SQL_SUCCEEDED(rc))
- { step = "SQLSetEnvAttr";
+ if (SQL_SUCCEEDED(rc)) {
+ step = "SQLSetEnvAttr";
rc = SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,
- (SQLPOINTER) SQL_OV_ODBC3, 0);
+ (SQLPOINTER)SQL_OV_ODBC3, 0);
}
- else
- { apr_dbd_t tmp_dbc;
+ else {
+ apr_dbd_t tmp_dbc;
SQLHANDLE err_h = henv;
tmp_dbc.pool = pool;
@@ -987,37 +1039,38 @@ static void odbc_init(apr_pool_t *pool)
}
/** native_handle: return the native database handle of the underlying db **/
-static void* odbc_native_handle(apr_dbd_t *handle)
-{ return handle->dbc;
+static void *odbc_native_handle(apr_dbd_t *handle)
+{
+ return handle->dbc;
}
/** open: obtain a database connection from the server rec. **/
/* It would be more efficient to allocate a single statement handle
- here - but SQL_ATTR_CURSOR_SCROLLABLE must be set before
- SQLPrepare, and we don't know whether random-access is
- specified until SQLExecute so we cannot.
-*/
+ * here - but SQL_ATTR_CURSOR_SCROLLABLE must be set before
+ * SQLPrepare, and we don't know whether random-access is
+ * specified until SQLExecute so we cannot.
+ */
-static apr_dbd_t* odbc_open(apr_pool_t *pool, const char *params, const char **error)
+static apr_dbd_t *odbc_open(apr_pool_t *pool, const char *params, const char **error)
{
- SQLRETURN rc;
- SQLHANDLE hdbc = NULL;
- apr_dbd_t *handle;
+ SQLRETURN rc;
+ SQLHANDLE hdbc = NULL;
+ apr_dbd_t *handle;
char *err_step;
int err_htype, i;
- int defaultBufferSize=DEFAULT_BUFFER_SIZE;
+ int defaultBufferSize = DEFAULT_BUFFER_SIZE;
SQLHANDLE err_h = NULL;
- SQLCHAR *datasource=(SQLCHAR *)"", *user=(SQLCHAR *)"",
- *password=(SQLCHAR *)"";
- int nattrs=0, *attrs=NULL, *attrvals=NULL, connect=0;
+ SQLCHAR *datasource = (SQLCHAR *)"", *user = (SQLCHAR *)"",
+ *password = (SQLCHAR *)"";
+ int nattrs = 0, *attrs = NULL, *attrvals = NULL, connect = 0;
- err_step="SQLAllocHandle (SQL_HANDLE_DBC)";
+ err_step = "SQLAllocHandle (SQL_HANDLE_DBC)";
err_htype = SQL_HANDLE_ENV;
err_h = henv;
rc = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
if (SQL_SUCCEEDED(rc)) {
- err_step="Invalid DBD Parameters - open";
+ err_step = "Invalid DBD Parameters - open";
err_htype = SQL_HANDLE_DBC;
err_h = hdbc;
rc = odbc_parse_params(pool, params, &connect, &datasource, &user,
@@ -1025,32 +1078,33 @@ static apr_dbd_t* odbc_open(apr_pool_t *pool, const char *params, const char **e
&attrvals);
}
if (SQL_SUCCEEDED(rc)) {
- for (i=0 ; i < nattrs && SQL_SUCCEEDED(rc); i++) {
- err_step="SQLSetConnectAttr (from DBD Parameters)";
+ for (i = 0; i < nattrs && SQL_SUCCEEDED(rc); i++) {
+ err_step = "SQLSetConnectAttr (from DBD Parameters)";
err_htype = SQL_HANDLE_DBC;
err_h = hdbc;
- rc = SQLSetConnectAttr(hdbc, attrs[i], (SQLPOINTER) attrvals[i], 0);
+ rc = SQLSetConnectAttr(hdbc, attrs[i], (SQLPOINTER)attrvals[i], 0);
}
}
if (SQL_SUCCEEDED(rc)) {
if (connect) {
SQLCHAR out[1024];
SQLSMALLINT outlen;
- err_step="SQLDriverConnect";
+
+ err_step = "SQLDriverConnect";
err_htype = SQL_HANDLE_DBC;
err_h = hdbc;
rc = SQLDriverConnect(hdbc, NULL, datasource,
- (SQLSMALLINT) strlen((char *)datasource),
+ (SQLSMALLINT)strlen((char *)datasource),
out, sizeof(out), &outlen, SQL_DRIVER_NOPROMPT);
}
else {
- err_step="SQLConnect";
+ err_step = "SQLConnect";
err_htype = SQL_HANDLE_DBC;
err_h = hdbc;
rc = SQLConnect(hdbc, datasource,
- (SQLSMALLINT) strlen((char *)datasource),
- user, (SQLSMALLINT) strlen((char *)user),
- password, (SQLSMALLINT) strlen((char *)password));
+ (SQLSMALLINT)strlen((char *)datasource),
+ user, (SQLSMALLINT)strlen((char *)user),
+ password, (SQLSMALLINT)strlen((char *)password));
}
}
if (SQL_SUCCEEDED(rc)) {
@@ -1072,6 +1126,7 @@ static apr_dbd_t* odbc_open(apr_pool_t *pool, const char *params, const char **e
}
else {
apr_dbd_t tmp_dbc;
+
tmp_dbc.pool = pool;
tmp_dbc.dbname = NULL;
CHECK_ERROR(&tmp_dbc, err_step, rc, err_htype, err_h);
@@ -1100,9 +1155,8 @@ static apr_status_t odbc_check_conn(apr_pool_t *pool, apr_dbd_t *handle)
return (isDead == SQL_CD_FALSE) ? APR_SUCCESS : APR_EGENERAL;
}
-
/** set_dbname: select database name. May be a no-op if not supported. **/
-static int odbc_set_dbname(apr_pool_t* pool, apr_dbd_t *handle,
+static int odbc_set_dbname(apr_pool_t*pool, apr_dbd_t *handle,
const char *name)
{
if (apr_strnatcmp(name, handle->dbname)) {
@@ -1121,18 +1175,18 @@ static int odbc_start_transaction(apr_pool_t *pool, apr_dbd_t *handle,
if (handle->transaction_mode) {
rc = SQLSetConnectAttr(handle->dbc, SQL_ATTR_TXN_ISOLATION,
- (SQLPOINTER) handle->transaction_mode, 0);
+ (SQLPOINTER)handle->transaction_mode, 0);
CHECK_ERROR(handle, "SQLSetConnectAttr (SQL_ATTR_TXN_ISOLATION)", rc,
SQL_HANDLE_DBC, handle->dbc);
}
- if SQL_SUCCEEDED(rc) {
+ if (SQL_SUCCEEDED(rc)) {
/* turn off autocommit for transactions */
rc = SQLSetConnectAttr(handle->dbc, SQL_ATTR_AUTOCOMMIT,
SQL_AUTOCOMMIT_OFF, 0);
CHECK_ERROR(handle, "SQLSetConnectAttr (SQL_ATTR_AUTOCOMMIT)", rc,
SQL_HANDLE_DBC, handle->dbc);
}
- if SQL_SUCCEEDED(rc) {
+ if (SQL_SUCCEEDED(rc)) {
*trans = apr_palloc(pool, sizeof(apr_dbd_transaction_t));
(*trans)->dbc = handle->dbc;
(*trans)->apr_dbd = handle;
@@ -1141,7 +1195,6 @@ static int odbc_start_transaction(apr_pool_t *pool, apr_dbd_t *handle,
return APR_FROM_SQL_RESULT(rc);
}
-
/** end_transaction: end a transaction **/
static int odbc_end_transaction(apr_dbd_transaction_t *trans)
{
@@ -1151,9 +1204,9 @@ static int odbc_end_transaction(apr_dbd_transaction_t *trans)
rc = SQLEndTran(SQL_HANDLE_DBC, trans->dbc, action);
CHECK_ERROR(trans->apr_dbd, "SQLEndTran", rc, SQL_HANDLE_DBC, trans->dbc);
- if SQL_SUCCEEDED(rc) {
+ if (SQL_SUCCEEDED(rc)) {
rc = SQLSetConnectAttr(trans->dbc, SQL_ATTR_AUTOCOMMIT,
- (SQLPOINTER) SQL_AUTOCOMMIT_ON, 0);
+ (SQLPOINTER)SQL_AUTOCOMMIT_ON, 0);
CHECK_ERROR(trans->apr_dbd, "SQLSetConnectAttr (SQL_ATTR_AUTOCOMMIT)",
rc, SQL_HANDLE_DBC, trans->dbc);
}
@@ -1177,14 +1230,14 @@ static int odbc_query(apr_dbd_t *handle, int *nrows, const char *statement)
if (!SQL_SUCCEEDED(rc))
return APR_FROM_SQL_RESULT(rc);
- rc = SQLExecDirect(hstmt, (SQLCHAR *) statement, (SQLINTEGER) len);
+ rc = SQLExecDirect(hstmt, (SQLCHAR *)statement, (SQLINTEGER)len);
CHECK_ERROR(handle, "SQLExecDirect", rc, SQL_HANDLE_STMT, hstmt);
- if SQL_SUCCEEDED(rc) {
+ if (SQL_SUCCEEDED(rc)) {
SQLLEN rowcount;
rc = SQLRowCount(hstmt, &rowcount);
- *nrows = (int) rowcount;
+ *nrows = (int)rowcount;
CHECK_ERROR(handle, "SQLRowCount", rc, SQL_HANDLE_STMT, hstmt);
}
@@ -1211,8 +1264,8 @@ static int odbc_select(apr_pool_t *pool, apr_dbd_t *handle,
if (!SQL_SUCCEEDED(rc))
return APR_FROM_SQL_RESULT(rc);
/* Prepare an apr_dbd_prepared_t for pool cleanup, even though this
- * is not a prepared statement. We want the same cleanup mechanism.
- */
+ * is not a prepared statement. We want the same cleanup mechanism.
+ */
stmt = apr_pcalloc(pool, sizeof(apr_dbd_prepared_t));
stmt->apr_dbd = handle;
stmt->dbc = handle->dbc;
@@ -1220,15 +1273,15 @@ static int odbc_select(apr_pool_t *pool, apr_dbd_t *handle,
apr_pool_cleanup_register(pool, stmt, odbc_close_pstmt, apr_pool_cleanup_null);
if (random) {
rc = SQLSetStmtAttr(hstmt, SQL_ATTR_CURSOR_SCROLLABLE,
- (SQLPOINTER) SQL_SCROLLABLE, 0);
+ (SQLPOINTER)SQL_SCROLLABLE, 0);
CHECK_ERROR(handle, "SQLSetStmtAttr (SQL_ATTR_CURSOR_SCROLLABLE)", rc,
SQL_HANDLE_STMT, hstmt);
}
- if SQL_SUCCEEDED(rc) {
- rc = SQLExecDirect(hstmt, (SQLCHAR *) statement, (SQLINTEGER) len);
+ if (SQL_SUCCEEDED(rc)) {
+ rc = SQLExecDirect(hstmt, (SQLCHAR *)statement, (SQLINTEGER)len);
CHECK_ERROR(handle, "SQLExecDirect", rc, SQL_HANDLE_STMT, hstmt);
}
- if SQL_SUCCEEDED(rc) {
+ if (SQL_SUCCEEDED(rc)) {
rc = odbc_create_results(handle, hstmt, pool, random, res);
apr_pool_cleanup_register(pool, *res,
odbc_close_results, apr_pool_cleanup_null);
@@ -1250,12 +1303,12 @@ static int odbc_num_tuples(apr_dbd_results_t *res)
rc = SQLRowCount(res->stmt, &nrows);
CHECK_ERROR(res->apr_dbd, "SQLRowCount", rc, SQL_HANDLE_STMT, res->stmt);
- return SQL_SUCCEEDED(rc) ? (int) nrows : -1;
+ return SQL_SUCCEEDED(rc) ? (int)nrows : -1;
}
/** get_row: get a row from a result set **/
-static int odbc_get_row(apr_pool_t * pool, apr_dbd_results_t * res,
- apr_dbd_row_t ** row, int rownum)
+static int odbc_get_row(apr_pool_t *pool, apr_dbd_results_t *res,
+ apr_dbd_row_t **row, int rownum)
{
SQLRETURN rc;
char *fetchtype;
@@ -1269,11 +1322,12 @@ static int odbc_get_row(apr_pool_t * pool, apr_dbd_results_t * res,
/* mark all the columns as needing SQLGetData unless they are bound */
for (c = 0; c < res->ncols; c++) {
- if (res->colstate[c] != COL_BOUND)
+ if (res->colstate[c] != COL_BOUND) {
res->colstate[c] = COL_AVAIL;
- /* some drivers do not null-term zero-len CHAR data */
- if (res->colptrs[c] )
- * (char *) res->colptrs[c] = 0;
+ }
+ /* some drivers do not null-term zero-len CHAR data */
+ if (res->colptrs[c])
+ *(char *)res->colptrs[c] = 0;
}
if (res->random && (rownum > 0)) {
@@ -1288,7 +1342,8 @@ static int odbc_get_row(apr_pool_t * pool, apr_dbd_results_t * res,
(*row)->stmt = res->stmt;
if (!SQL_SUCCEEDED(rc) && !res->random) {
/* early close on any error (usually SQL_NO_DATA) if fetching
- * sequentially to release resources ASAP */
+ * sequentially to release resources ASAP
+ */
odbc_close_results(res);
return -1;
}
@@ -1296,20 +1351,22 @@ static int odbc_get_row(apr_pool_t * pool, apr_dbd_results_t * res,
}
/** datum_get: get a binary entry from a row **/
-static apr_status_t odbc_datum_get(const apr_dbd_row_t * row, int col,
+static apr_status_t odbc_datum_get(const apr_dbd_row_t *row, int col,
apr_dbd_type_e dbdtype, void *data)
{
SQLSMALLINT sqltype;
void *p;
- int len = sqlSizes[dbdtype];
+ int len;
if (col >= row->res->ncols)
return APR_EGENERAL;
- if (dbdtype < 0 || dbdtype >= sizeof(sqlCtype)) {
+ if (dbdtype < 0 || dbdtype >= NUM_APR_DBD_TYPES) {
data = NULL; /* invalid type */
return APR_EGENERAL;
}
+
+ len = sqlSizes[dbdtype];
sqltype = sqlCtype[dbdtype];
/* must not memcpy a brigade, sentinals are relative to orig loc */
@@ -1317,7 +1374,7 @@ static apr_status_t odbc_datum_get(const apr_dbd_row_t * row, int col,
return odbc_create_bucket(row, col, sqltype, data);
p = odbc_get(row, col, sqltype);
- if (p == (void *) -1)
+ if (p == (void *)-1)
return APR_EGENERAL;
if (p == NULL)
@@ -1333,7 +1390,7 @@ static apr_status_t odbc_datum_get(const apr_dbd_row_t * row, int col,
}
/** get_entry: get an entry from a row (string data) **/
-static const char *odbc_get_entry(const apr_dbd_row_t * row, int col)
+static const char *odbc_get_entry(const apr_dbd_row_t *row, int col)
{
void *p;
@@ -1343,47 +1400,48 @@ static const char *odbc_get_entry(const apr_dbd_row_t * row, int col)
p = odbc_get(row, col, SQL_C_CHAR);
/* NULL or invalid (-1) */
- if (p == NULL || p == (void *) -1)
+ if (p == NULL || p == (void *)-1)
return p;
else
return apr_pstrdup(row->pool, p);
}
/** error: get current error message (if any) **/
-static const char* odbc_error(apr_dbd_t *handle, int errnum)
+static const char *odbc_error(apr_dbd_t *handle, int errnum)
{
return (handle) ? handle->lastError : "[dbd_odbc]No error message available";
}
/** escape: escape a string so it is safe for use in query/select **/
-static const char* odbc_escape(apr_pool_t *pool, const char *s,
- apr_dbd_t *handle)
+static const char *odbc_escape(apr_pool_t *pool, const char *s,
+ apr_dbd_t *handle)
{
char *newstr, *src, *dst, *sq;
int qcount;
/* return the original if there are no single-quotes */
if (!(sq = strchr(s, '\'')))
- return (char *) s;
+ return (char *)s;
/* count the single-quotes and allocate a new buffer */
for (qcount = 1; (sq = strchr(sq + 1, '\'')); )
qcount++;
newstr = apr_palloc(pool, strlen(s) + qcount + 1);
/* move chars, doubling all single-quotes */
- src = (char *) s;
- for (dst = newstr ; *src ; src++) {
+ src = (char *)s;
+ for (dst = newstr; *src; src++) {
if ((*dst++ = *src) == '\'')
*dst++ = '\'';
}
*dst = 0;
return newstr;
}
+
/** prepare: prepare a statement **/
-static int odbc_prepare(apr_pool_t * pool, apr_dbd_t * handle,
+static int odbc_prepare(apr_pool_t *pool, apr_dbd_t *handle,
const char *query, const char *label, int nargs,
- int nvals, apr_dbd_type_e * types,
- apr_dbd_prepared_t ** statement)
+ int nvals, apr_dbd_type_e *types,
+ apr_dbd_prepared_t **statement)
{
SQLRETURN rc;
size_t len = strlen(query);
@@ -1403,15 +1461,15 @@ static int odbc_prepare(apr_pool_t * pool, apr_dbd_t * handle,
odbc_close_pstmt, apr_pool_cleanup_null);
CHECK_ERROR(handle, "SQLAllocHandle (STMT)", rc,
SQL_HANDLE_DBC, handle->dbc);
- rc = SQLPrepare((*statement)->stmt, (SQLCHAR *) query, (SQLINTEGER) len);
+ rc = SQLPrepare((*statement)->stmt, (SQLCHAR *)query, (SQLINTEGER)len);
CHECK_ERROR(handle, "SQLPrepare", rc, SQL_HANDLE_STMT,
(*statement)->stmt);
return APR_FROM_SQL_RESULT(rc);
}
/** pquery: query using a prepared statement + args **/
-static int odbc_pquery(apr_pool_t * pool, apr_dbd_t * handle, int *nrows,
- apr_dbd_prepared_t * statement, const char **args)
+static int odbc_pquery(apr_pool_t *pool, apr_dbd_t *handle, int *nrows,
+ apr_dbd_prepared_t *statement, const char **args)
{
SQLRETURN rc = SQL_SUCCESS;
int i, argp;
@@ -1421,30 +1479,31 @@ static int odbc_pquery(apr_pool_t * pool, apr_dbd_t * handle, int *nrows,
for (i = argp = 0; i < statement->nargs && SQL_SUCCEEDED(rc); i++) {
rc = odbc_bind_param(pool, statement, i + 1, statement->types[i],
- &argp, (const void **) args, TEXTMODE);
+ &argp, (const void **)args, TEXTMODE);
}
if (SQL_SUCCEEDED(rc)) {
rc = SQLExecute(statement->stmt);
CHECK_ERROR(handle, "SQLExecute", rc, SQL_HANDLE_STMT,
statement->stmt);
- }
+ }
if (SQL_SUCCEEDED(rc)) {
SQLLEN rowcount;
rc = SQLRowCount(statement->stmt, &rowcount);
- *nrows = (int) rowcount;
+ *nrows = (int)rowcount;
CHECK_ERROR(handle, "SQLRowCount", rc, SQL_HANDLE_STMT,
statement->stmt);
- }
+ }
return APR_FROM_SQL_RESULT(rc);
}
/** pvquery: query using a prepared statement + args **/
-static int odbc_pvquery(apr_pool_t * pool, apr_dbd_t * handle, int *nrows,
- apr_dbd_prepared_t * statement, va_list args)
+static int odbc_pvquery(apr_pool_t *pool, apr_dbd_t *handle, int *nrows,
+ apr_dbd_prepared_t *statement, va_list args)
{
const char **values;
int i;
+
values = apr_palloc(pool, sizeof(*values) * statement->nvals);
for (i = 0; i < statement->nvals; i++)
values[i] = va_arg(args, const char *);
@@ -1452,8 +1511,8 @@ static int odbc_pvquery(apr_pool_t * pool, apr_dbd_t * handle, int *nrows,
}
/** pselect: select using a prepared statement + args **/
-static int odbc_pselect(apr_pool_t * pool, apr_dbd_t * handle,
- apr_dbd_results_t ** res, apr_dbd_prepared_t * statement,
+static int odbc_pselect(apr_pool_t *pool, apr_dbd_t *handle,
+ apr_dbd_results_t **res, apr_dbd_prepared_t *statement,
int random, const char **args)
{
SQLRETURN rc = SQL_SUCCESS;
@@ -1464,32 +1523,33 @@ static int odbc_pselect(apr_pool_t * pool, apr_dbd_t * handle,
if (random) {
rc = SQLSetStmtAttr(statement->stmt, SQL_ATTR_CURSOR_SCROLLABLE,
- (SQLPOINTER) SQL_SCROLLABLE, 0);
+ (SQLPOINTER)SQL_SCROLLABLE, 0);
CHECK_ERROR(handle, "SQLSetStmtAttr (SQL_ATTR_CURSOR_SCROLLABLE)",
rc, SQL_HANDLE_STMT, statement->stmt);
}
if (SQL_SUCCEEDED(rc)) {
- for (i = argp = 0; i < statement->nargs && SQL_SUCCEEDED(rc); i++)
+ for (i = argp = 0; i < statement->nargs && SQL_SUCCEEDED(rc); i++) {
rc = odbc_bind_param(pool, statement, i + 1, statement->types[i],
- &argp, (const void **) args, TEXTMODE);
+ &argp, (const void **)args, TEXTMODE);
}
+ }
if (SQL_SUCCEEDED(rc)) {
rc = SQLExecute(statement->stmt);
CHECK_ERROR(handle, "SQLExecute", rc, SQL_HANDLE_STMT,
statement->stmt);
- }
+ }
if (SQL_SUCCEEDED(rc)) {
rc = odbc_create_results(handle, statement->stmt, pool, random, res);
apr_pool_cleanup_register(pool, *res,
odbc_close_results, apr_pool_cleanup_null);
- }
+ }
return APR_FROM_SQL_RESULT(rc);
}
/** pvselect: select using a prepared statement + args **/
-static int odbc_pvselect(apr_pool_t * pool, apr_dbd_t * handle,
- apr_dbd_results_t ** res,
- apr_dbd_prepared_t * statement, int random,
+static int odbc_pvselect(apr_pool_t *pool, apr_dbd_t *handle,
+ apr_dbd_results_t **res,
+ apr_dbd_prepared_t *statement, int random,
va_list args)
{
const char **values;
@@ -1502,7 +1562,7 @@ static int odbc_pvselect(apr_pool_t * pool, apr_dbd_t * handle,
}
/** get_name: get a column title from a result set **/
-static const char *odbc_get_name(const apr_dbd_results_t * res, int col)
+static const char *odbc_get_name(const apr_dbd_results_t *res, int col)
{
SQLRETURN rc;
char buffer[MAX_COLUMN_NAME];
@@ -1523,13 +1583,13 @@ static const char *odbc_get_name(const apr_dbd_results_t * res, int col)
}
/** transaction_mode_get: get the mode of transaction **/
-static int odbc_transaction_mode_get(apr_dbd_transaction_t * trans)
+static int odbc_transaction_mode_get(apr_dbd_transaction_t *trans)
{
- return (int) trans->apr_dbd->can_commit;
+ return (int)trans->apr_dbd->can_commit;
}
/** transaction_mode_set: set the mode of transaction **/
-static int odbc_transaction_mode_set(apr_dbd_transaction_t * trans, int mode)
+static int odbc_transaction_mode_set(apr_dbd_transaction_t *trans, int mode)
{
int legal = ( APR_DBD_TRANSACTION_IGNORE_ERRORS
| APR_DBD_TRANSACTION_COMMIT
@@ -1543,8 +1603,8 @@ static int odbc_transaction_mode_set(apr_dbd_transaction_t * trans, int mode)
}
/** pbquery: query using a prepared statement + binary args **/
-static int odbc_pbquery(apr_pool_t * pool, apr_dbd_t * handle, int *nrows,
- apr_dbd_prepared_t * statement, const void **args)
+static int odbc_pbquery(apr_pool_t *pool, apr_dbd_t *handle, int *nrows,
+ apr_dbd_prepared_t *statement, const void **args)
{
SQLRETURN rc = SQL_SUCCESS;
int i, argp;
@@ -1560,22 +1620,22 @@ static int odbc_pbquery(apr_pool_t * pool, apr_dbd_t * handle, int *nrows,
rc = SQLExecute(statement->stmt);
CHECK_ERROR(handle, "SQLExecute", rc, SQL_HANDLE_STMT,
statement->stmt);
- }
+ }
if (SQL_SUCCEEDED(rc)) {
SQLLEN rowcount;
rc = SQLRowCount(statement->stmt, &rowcount);
- *nrows = (int) rowcount;
+ *nrows = (int)rowcount;
CHECK_ERROR(handle, "SQLRowCount", rc, SQL_HANDLE_STMT,
statement->stmt);
- }
+ }
return APR_FROM_SQL_RESULT(rc);
}
/** pbselect: select using a prepared statement + binary args **/
-static int odbc_pbselect(apr_pool_t * pool, apr_dbd_t * handle,
- apr_dbd_results_t ** res,
- apr_dbd_prepared_t * statement,
+static int odbc_pbselect(apr_pool_t *pool, apr_dbd_t *handle,
+ apr_dbd_results_t **res,
+ apr_dbd_prepared_t *statement,
int random, const void **args)
{
SQLRETURN rc = SQL_SUCCESS;
@@ -1586,7 +1646,7 @@ static int odbc_pbselect(apr_pool_t * pool, apr_dbd_t * handle,
if (random) {
rc = SQLSetStmtAttr(statement->stmt, SQL_ATTR_CURSOR_SCROLLABLE,
- (SQLPOINTER) SQL_SCROLLABLE, 0);
+ (SQLPOINTER)SQL_SCROLLABLE, 0);
CHECK_ERROR(handle, "SQLSetStmtAttr (SQL_ATTR_CURSOR_SCROLLABLE)",
rc, SQL_HANDLE_STMT, statement->stmt);
}
@@ -1595,24 +1655,24 @@ static int odbc_pbselect(apr_pool_t * pool, apr_dbd_t * handle,
rc = odbc_bind_param(pool, statement, i + 1, statement->types[i],
&argp, args, BINARYMODE);
}
- }
+ }
if (SQL_SUCCEEDED(rc)) {
rc = SQLExecute(statement->stmt);
CHECK_ERROR(handle, "SQLExecute", rc, SQL_HANDLE_STMT,
statement->stmt);
- }
+ }
if (SQL_SUCCEEDED(rc)) {
rc = odbc_create_results(handle, statement->stmt, pool, random, res);
apr_pool_cleanup_register(pool, *res,
odbc_close_results, apr_pool_cleanup_null);
- }
+ }
return APR_FROM_SQL_RESULT(rc);
}
/** pvbquery: query using a prepared statement + binary args **/
-static int odbc_pvbquery(apr_pool_t * pool, apr_dbd_t * handle, int *nrows,
- apr_dbd_prepared_t * statement, va_list args)
+static int odbc_pvbquery(apr_pool_t *pool, apr_dbd_t *handle, int *nrows,
+ apr_dbd_prepared_t *statement, va_list args)
{
const char **values;
int i;
@@ -1620,13 +1680,13 @@ static int odbc_pvbquery(apr_pool_t * pool, apr_dbd_t * handle, int *nrows,
values = apr_palloc(pool, sizeof(*values) * statement->nvals);
for (i = 0; i < statement->nvals; i++)
values[i] = va_arg(args, const char *);
- return odbc_pbquery(pool, handle, nrows, statement, (const void **) values);
+ return odbc_pbquery(pool, handle, nrows, statement, (const void **)values);
}
/** pvbselect: select using a prepared statement + binary args **/
-static int odbc_pvbselect(apr_pool_t * pool, apr_dbd_t * handle,
- apr_dbd_results_t ** res,
- apr_dbd_prepared_t * statement,
+static int odbc_pvbselect(apr_pool_t *pool, apr_dbd_t *handle,
+ apr_dbd_results_t **res,
+ apr_dbd_prepared_t *statement,
int random, va_list args)
{
const char **values;
@@ -1635,10 +1695,10 @@ static int odbc_pvbselect(apr_pool_t * pool, apr_dbd_t * handle,
values = apr_palloc(pool, sizeof(*values) * statement->nvals);
for (i = 0; i < statement->nvals; i++)
values[i] = va_arg(args, const char *);
- return odbc_pbselect(pool, handle, res, statement, random, (const void **) values);
+ return odbc_pbselect(pool, handle, res, statement, random, (const void **)values);
}
-APU_MODULE_DECLARE_DATA const apr_dbd_driver_t ODBC_DRIVER_ENTRY = {
+APU_MODULE_DECLARE_DATA const apr_dbd_driver_t ODBC_DRIVER_ENTRY = {
ODBC_DRIVER_STRING,
odbc_init,
odbc_native_handle,
diff --git a/srclib/apr-util/dbd/apr_dbd_oracle.c b/srclib/apr-util/dbd/apr_dbd_oracle.c
index 7ef05f96..e2e2e7ea 100644
--- a/srclib/apr-util/dbd/apr_dbd_oracle.c
+++ b/srclib/apr-util/dbd/apr_dbd_oracle.c
@@ -177,7 +177,7 @@ struct apr_dbd_prepared_t {
define_arg *out;
apr_dbd_t *handle;
apr_pool_t *pool;
- int type;
+ ub2 type;
};
/* AFAICT from the docs, the OCIEnv thingey can be used async
diff --git a/srclib/apr-util/dbd/apr_dbd_oracle.mak b/srclib/apr-util/dbd/apr_dbd_oracle.mak
index 28873941..bee344c6 100644
--- a/srclib/apr-util/dbd/apr_dbd_oracle.mak
+++ b/srclib/apr-util/dbd/apr_dbd_oracle.mak
@@ -563,28 +563,28 @@ SOURCE=..\libaprutil.rc
"$(INTDIR)\apr_dbd_oracle-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_oracle-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_oracle" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_oracle-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_oracle" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_oracle - Win32 Debug"
"$(INTDIR)\apr_dbd_oracle-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_oracle-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_oracle" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_oracle-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_oracle" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_oracle - x64 Release"
"$(INTDIR)\apr_dbd_oracle-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_oracle-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_oracle" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_oracle-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_oracle" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_oracle - x64 Debug"
"$(INTDIR)\apr_dbd_oracle-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_oracle-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_oracle" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_oracle-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_oracle" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ENDIF
diff --git a/srclib/apr-util/dbd/apr_dbd_pgsql.mak b/srclib/apr-util/dbd/apr_dbd_pgsql.mak
index 6a395631..7eb0e179 100644
--- a/srclib/apr-util/dbd/apr_dbd_pgsql.mak
+++ b/srclib/apr-util/dbd/apr_dbd_pgsql.mak
@@ -563,28 +563,28 @@ SOURCE=..\libaprutil.rc
"$(INTDIR)\apr_dbd_pgsql-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_pgsql-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_pgsql" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_pgsql-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_pgsql" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_pgsql - Win32 Debug"
"$(INTDIR)\apr_dbd_pgsql-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_pgsql-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_pgsql" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_pgsql-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_pgsql" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_pgsql - x64 Release"
"$(INTDIR)\apr_dbd_pgsql-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_pgsql-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_pgsql" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_pgsql-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_pgsql" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_pgsql - x64 Debug"
"$(INTDIR)\apr_dbd_pgsql-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_pgsql-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_pgsql" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_pgsql-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_pgsql" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ENDIF
diff --git a/srclib/apr-util/dbd/apr_dbd_sqlite2.mak b/srclib/apr-util/dbd/apr_dbd_sqlite2.mak
index 1661098c..dd9de1f8 100644
--- a/srclib/apr-util/dbd/apr_dbd_sqlite2.mak
+++ b/srclib/apr-util/dbd/apr_dbd_sqlite2.mak
@@ -563,28 +563,28 @@ SOURCE=..\libaprutil.rc
"$(INTDIR)\apr_dbd_sqlite2-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite2-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_sqlite2" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite2-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_sqlite2" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_sqlite2 - Win32 Debug"
"$(INTDIR)\apr_dbd_sqlite2-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite2-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_sqlite2" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite2-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_sqlite2" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_sqlite2 - x64 Release"
"$(INTDIR)\apr_dbd_sqlite2-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite2-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_sqlite2" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite2-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_sqlite2" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_sqlite2 - x64 Debug"
"$(INTDIR)\apr_dbd_sqlite2-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite2-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_sqlite2" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite2-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_sqlite2" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ENDIF
diff --git a/srclib/apr-util/dbd/apr_dbd_sqlite3.mak b/srclib/apr-util/dbd/apr_dbd_sqlite3.mak
index 6d78fad9..b7e063fa 100644
--- a/srclib/apr-util/dbd/apr_dbd_sqlite3.mak
+++ b/srclib/apr-util/dbd/apr_dbd_sqlite3.mak
@@ -563,28 +563,28 @@ SOURCE=..\libaprutil.rc
"$(INTDIR)\apr_dbd_sqlite3-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite3-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_sqlite3" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite3-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_sqlite3" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_sqlite3 - Win32 Debug"
"$(INTDIR)\apr_dbd_sqlite3-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite3-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_sqlite3" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite3-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_sqlite3" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_sqlite3 - x64 Release"
"$(INTDIR)\apr_dbd_sqlite3-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite3-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_sqlite3" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite3-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_sqlite3" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbd_sqlite3 - x64 Debug"
"$(INTDIR)\apr_dbd_sqlite3-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite3-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbd_sqlite3" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbd_sqlite3-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbd_sqlite3" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ENDIF
diff --git a/srclib/apr-util/dbm/NWGNUdbmdb b/srclib/apr-util/dbm/NWGNUdbmdb
index e60e108d..748c32f5 100644
--- a/srclib/apr-util/dbm/NWGNUdbmdb
+++ b/srclib/apr-util/dbm/NWGNUdbmdb
@@ -11,11 +11,9 @@ SUBDIRS = \
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
-#include $(APR)\build\NWGNUcustom.inc
-
#
# build this level's files
@@ -27,8 +25,8 @@ endif
# for now defined here - should finally go into build/NWGNUenvironment.inc
DB_INC = $(DBSDK)/inc
-DB_IMP = $(DBSDK)/imp/libdb47.imp
-DB_LIB = $(DBSDK)/lib/libdb47.lib
+DB_IMP = libdb47.imp
+DB_LIB = libdb47.lib
DB_NLM = libdb47
#
@@ -38,8 +36,8 @@ DB_NLM = libdb47
XINCDIRS += \
$(APR)/include/arch/netware \
$(APR)/include \
- $(APRUTIL)/include \
- $(APRUTIL)/include/private \
+ $(APU)/include \
+ $(APU)/include/private \
$(APR) \
$(DB_INC) \
$(EOLIST)
@@ -69,6 +67,10 @@ ifdef LINK_STATIC
XLFLAGS += \
-l $(DBSDK)/lib \
$(EOLIST)
+else
+XLFLAGS += \
+ -l $(DBSDK)/imp \
+ $(EOLIST)
endif
#
@@ -151,12 +153,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -166,7 +168,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -201,7 +203,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
ifeq ($(LINK_STATIC),1)
@@ -244,7 +246,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -291,7 +293,7 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr-util/dbm/NWGNUdbmgdbm b/srclib/apr-util/dbm/NWGNUdbmgdbm
index 048f6fc7..ce61306f 100644
--- a/srclib/apr-util/dbm/NWGNUdbmgdbm
+++ b/srclib/apr-util/dbm/NWGNUdbmgdbm
@@ -11,11 +11,9 @@ SUBDIRS = \
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
-#include $(APR)\build\NWGNUcustom.inc
-
#
# build this level's files
@@ -27,8 +25,8 @@ endif
# for now defined here - should finally go into build/NWGNUenvironment.inc
GDBM_INC = $(GDBMSDK)/inc
-GDBM_IMP = $(GDBMSDK)/imp/libgdbm.imp
-GDBM_LIB = $(GDBMSDK)/lib/libgdbm.lib
+GDBM_IMP = libgdbm.imp
+GDBM_LIB = libgdbm.lib
GDBM_NLM = libgdbm
#
@@ -38,8 +36,8 @@ GDBM_NLM = libgdbm
XINCDIRS += \
$(APR)/include/arch/netware \
$(APR)/include \
- $(APRUTIL)/include \
- $(APRUTIL)/include/private \
+ $(APU)/include \
+ $(APU)/include/private \
$(APR) \
$(GDBM_INC) \
$(EOLIST)
@@ -68,6 +66,10 @@ ifdef LINK_STATIC
XLFLAGS += \
-l $(GDBMSDK)/lib \
$(EOLIST)
+else
+XLFLAGS += \
+ -l $(GDBMSDK)/imp \
+ $(EOLIST)
endif
#
@@ -150,12 +152,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -165,7 +167,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -200,7 +202,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
ifeq ($(LINK_STATIC),1)
@@ -243,7 +245,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -290,7 +292,7 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr-util/dbm/NWGNUmakefile b/srclib/apr-util/dbm/NWGNUmakefile
index e30372fa..9307b845 100644
--- a/srclib/apr-util/dbm/NWGNUmakefile
+++ b/srclib/apr-util/dbm/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -246,6 +246,6 @@ install :: nlms $(INSTDIRS) FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr-util/dbm/apr_dbm_db.mak b/srclib/apr-util/dbm/apr_dbm_db.mak
index baf7a3d1..17bc342e 100644
--- a/srclib/apr-util/dbm/apr_dbm_db.mak
+++ b/srclib/apr-util/dbm/apr_dbm_db.mak
@@ -563,28 +563,28 @@ SOURCE=..\libaprutil.rc
"$(INTDIR)\apr_dbm_db-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_db-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbm_db" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_db-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbm_db" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbm_db - Win32 Debug"
"$(INTDIR)\apr_dbm_db-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_db-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbm_db" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_db-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbm_db" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbm_db - x64 Release"
"$(INTDIR)\apr_dbm_db-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_db-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbm_db" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_db-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbm_db" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbm_db - x64 Debug"
"$(INTDIR)\apr_dbm_db-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_db-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbm_db" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_db-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbm_db" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ENDIF
diff --git a/srclib/apr-util/dbm/apr_dbm_gdbm.mak b/srclib/apr-util/dbm/apr_dbm_gdbm.mak
index 26a4a4c5..970d6253 100644
--- a/srclib/apr-util/dbm/apr_dbm_gdbm.mak
+++ b/srclib/apr-util/dbm/apr_dbm_gdbm.mak
@@ -563,28 +563,28 @@ SOURCE=..\libaprutil.rc
"$(INTDIR)\apr_dbm_gdbm-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_gdbm-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbm_gdbm" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_gdbm-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbm_gdbm" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbm_gdbm - Win32 Debug"
"$(INTDIR)\apr_dbm_gdbm-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_gdbm-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbm_gdbm" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_gdbm-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbm_gdbm" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbm_gdbm - x64 Release"
"$(INTDIR)\apr_dbm_gdbm-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_gdbm-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbm_gdbm" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_gdbm-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbm_gdbm" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_dbm_gdbm - x64 Debug"
"$(INTDIR)\apr_dbm_gdbm-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_gdbm-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_dbm_gdbm" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_dbm_gdbm-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_dbm_gdbm" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ENDIF
diff --git a/srclib/apr-util/include/apu_version.h b/srclib/apr-util/include/apu_version.h
index 607c4ae2..a11b8130 100644
--- a/srclib/apr-util/include/apu_version.h
+++ b/srclib/apr-util/include/apu_version.h
@@ -59,7 +59,7 @@
* The Patch Level never includes API changes, simply bug fixes.
* Reset to 0 when upgrading APR_MINOR_VERSION
*/
-#define APU_PATCH_VERSION 10
+#define APU_PATCH_VERSION 12
/**
* The symbol APU_IS_DEV_VERSION is only defined for internal,
diff --git a/srclib/apr-util/include/private/apr_dbd_odbc_v2.h b/srclib/apr-util/include/private/apr_dbd_odbc_v2.h
index dc7bc9c9..b8da7b18 100644
--- a/srclib/apr-util/include/private/apr_dbd_odbc_v2.h
+++ b/srclib/apr-util/include/private/apr_dbd_odbc_v2.h
@@ -17,13 +17,13 @@
/* ONLY USED FOR ODBC Version 2 -DODBCV2
*
-* Re-define everything to work (more-or-less) in an ODBC V2 environment
+* Re-define everything to work (more-or-less) in an ODBC V2 environment
* Random access to retrieved rows is not supported - i.e. calls to apr_dbd_select() cannot
* have a 'random' argument of 1. apr_dbd_get_row() must always pass rownum as 0 (get next row)
*
*/
-#define SQLHANDLE SQLHENV // Presumes that ENV, DBC, and STMT handles are all the same datatype
+#define SQLHANDLE SQLHENV /* Presumes that ENV, DBC, and STMT handles are all the same datatype */
#define SQL_NULL_HANDLE 0
#define SQL_HANDLE_STMT 1
#define SQL_HANDLE_DBC 2
@@ -87,32 +87,32 @@
#undef SQLColAttribute
#define SQLColAttribute(s, c, f, a, l, m, n) SQLColAttributes(s, c, f, a, l, m, n)
-#define SQL_ATTR_ACCESS_MODE SQL_ACCESS_MODE
-#define SQL_ATTR_AUTOCOMMIT SQL_AUTOCOMMIT
-#define SQL_ATTR_CONNECTION_TIMEOUT 113
-#define SQL_ATTR_CURRENT_CATALOG SQL_CURRENT_QUALIFIER
-#define SQL_ATTR_DISCONNECT_BEHAVIOR 114
-#define SQL_ATTR_ENLIST_IN_DTC 1207
-#define SQL_ATTR_ENLIST_IN_XA 1208
-
-#define SQL_ATTR_CONNECTION_DEAD 1209
-#define SQL_CD_TRUE 1L /* Connection is closed/dead */
-#define SQL_CD_FALSE 0L /* Connection is open/available */
-
-#define SQL_ATTR_LOGIN_TIMEOUT SQL_LOGIN_TIMEOUT
-#define SQL_ATTR_ODBC_CURSORS SQL_ODBC_CURSORS
-#define SQL_ATTR_PACKET_SIZE SQL_PACKET_SIZE
-#define SQL_ATTR_QUIET_MODE SQL_QUIET_MODE
-#define SQL_ATTR_TRACE SQL_OPT_TRACE
-#define SQL_ATTR_TRACEFILE SQL_OPT_TRACEFILE
-#define SQL_ATTR_TRANSLATE_LIB SQL_TRANSLATE_DLL
-#define SQL_ATTR_TRANSLATE_OPTION SQL_TRANSLATE_OPTION
-#define SQL_ATTR_TXN_ISOLATION SQL_TXN_ISOLATION
+#define SQL_ATTR_ACCESS_MODE SQL_ACCESS_MODE
+#define SQL_ATTR_AUTOCOMMIT SQL_AUTOCOMMIT
+#define SQL_ATTR_CONNECTION_TIMEOUT 113
+#define SQL_ATTR_CURRENT_CATALOG SQL_CURRENT_QUALIFIER
+#define SQL_ATTR_DISCONNECT_BEHAVIOR 114
+#define SQL_ATTR_ENLIST_IN_DTC 1207
+#define SQL_ATTR_ENLIST_IN_XA 1208
+
+#define SQL_ATTR_CONNECTION_DEAD 1209
+#define SQL_CD_TRUE 1L /* Connection is closed/dead */
+#define SQL_CD_FALSE 0L /* Connection is open/available */
+
+#define SQL_ATTR_LOGIN_TIMEOUT SQL_LOGIN_TIMEOUT
+#define SQL_ATTR_ODBC_CURSORS SQL_ODBC_CURSORS
+#define SQL_ATTR_PACKET_SIZE SQL_PACKET_SIZE
+#define SQL_ATTR_QUIET_MODE SQL_QUIET_MODE
+#define SQL_ATTR_TRACE SQL_OPT_TRACE
+#define SQL_ATTR_TRACEFILE SQL_OPT_TRACEFILE
+#define SQL_ATTR_TRANSLATE_LIB SQL_TRANSLATE_DLL
+#define SQL_ATTR_TRANSLATE_OPTION SQL_TRANSLATE_OPTION
+#define SQL_ATTR_TXN_ISOLATION SQL_TXN_ISOLATION
#define SQL_ATTR_CURSOR_SCROLLABLE -1
-#define SQL_C_SBIGINT (SQL_BIGINT+SQL_SIGNED_OFFSET) /* SIGNED BIGINT */
-#define SQL_C_UBIGINT (SQL_BIGINT+SQL_UNSIGNED_OFFSET) /* UNSIGNED BIGINT */
+#define SQL_C_SBIGINT (SQL_BIGINT+SQL_SIGNED_OFFSET) /* SIGNED BIGINT */
+#define SQL_C_UBIGINT (SQL_BIGINT+SQL_UNSIGNED_OFFSET) /* UNSIGNED BIGINT */
#define SQL_FALSE 0
#define SQL_TRUE 1
diff --git a/srclib/apr-util/ldap/NWGNUmakefile b/srclib/apr-util/ldap/NWGNUmakefile
index 967a9f1f..06260d1f 100644
--- a/srclib/apr-util/ldap/NWGNUmakefile
+++ b/srclib/apr-util/ldap/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -26,8 +26,8 @@ include $(APR_WORK)\build\NWGNUhead.inc
XINCDIRS += \
$(APR)/include \
$(APR)/include/arch/NetWare \
- $(APRUTIL)/include \
- $(APRUTIL)/include/private \
+ $(APU)/include \
+ $(APU)/include/private \
$(LDAPSDK)/inc \
$(EOLIST)
@@ -123,7 +123,7 @@ NLM_DESCRIPTION =
NLM_THREAD_NAME =
#
# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
+# $(APR_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -135,12 +135,12 @@ NLM_STACK_SIZE =
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM =
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM =
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -246,7 +246,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -259,5 +259,5 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr-util/ldap/apr_ldap.mak b/srclib/apr-util/ldap/apr_ldap.mak
index decf955e..142da4d4 100644
--- a/srclib/apr-util/ldap/apr_ldap.mak
+++ b/srclib/apr-util/ldap/apr_ldap.mak
@@ -589,28 +589,28 @@ SOURCE=..\libaprutil.rc
"$(INTDIR)\apr_ldap-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_ldap-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_ldap" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_ldap-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_ldap" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_ldap - Win32 Debug"
"$(INTDIR)\apr_ldap-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_ldap-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_ldap" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_ldap-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_ldap" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_ldap - x64 Release"
"$(INTDIR)\apr_ldap-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_ldap-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_ldap" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_ldap-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_ldap" /d "NDEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ELSEIF "$(CFG)" == "apr_ldap - x64 Debug"
"$(INTDIR)\apr_ldap-1.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x409 /fo"$(INTDIR)\apr_ldap-1.res" /i "../include" /i "../../apr/include" /i ".." /d DLL_NAME="apr_ldap" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
+ $(RSC) /l 0x409 /fo"$(INTDIR)\apr_ldap-1.res" /i "../include" /i "../../apr/include" /i ".\.." /d DLL_NAME="apr_ldap" /d "_DEBUG" /d "APU_VERSION_ONLY" $(SOURCE)
!ENDIF
diff --git a/srclib/apr-util/ldap/apr_ldap_rebind.c b/srclib/apr-util/ldap/apr_ldap_rebind.c
index 4818d05c..51aa4a18 100644
--- a/srclib/apr-util/ldap/apr_ldap_rebind.c
+++ b/srclib/apr-util/ldap/apr_ldap_rebind.c
@@ -64,6 +64,14 @@ static apr_ldap_rebind_entry_t *xref_head = NULL;
static int apr_ldap_rebind_set_callback(LDAP *ld);
static apr_status_t apr_ldap_rebind_remove_helper(void *data);
+static apr_status_t apr_ldap_pool_cleanup_set_null(void *data_)
+{
+ void **ptr = (void **)data_;
+ *ptr = NULL;
+ return APR_SUCCESS;
+}
+
+
/* APR utility routine used to create the xref_lock. */
APU_DECLARE_LDAP(apr_status_t) apr_ldap_rebind_init(apr_pool_t *pool)
{
@@ -73,6 +81,10 @@ APU_DECLARE_LDAP(apr_status_t) apr_ldap_rebind_init(apr_pool_t *pool)
get_apd
#endif
+ /* run after apr_thread_mutex_create cleanup */
+ apr_pool_cleanup_register(pool, &apr_ldap_xref_lock, apr_ldap_pool_cleanup_set_null,
+ apr_pool_cleanup_null);
+
#if APR_HAS_THREADS
if (apr_ldap_xref_lock == NULL) {
retcode = apr_thread_mutex_create(&apr_ldap_xref_lock, APR_THREAD_MUTEX_DEFAULT, pool);
@@ -107,14 +119,20 @@ APU_DECLARE_LDAP(apr_status_t) apr_ldap_rebind_add(apr_pool_t *pool,
}
#if APR_HAS_THREADS
- apr_thread_mutex_lock(apr_ldap_xref_lock);
+ retcode = apr_thread_mutex_lock(apr_ldap_xref_lock);
+ if (retcode != APR_SUCCESS) {
+ return retcode;
+ }
#endif
new_xref->next = xref_head;
xref_head = new_xref;
#if APR_HAS_THREADS
- apr_thread_mutex_unlock(apr_ldap_xref_lock);
+ retcode = apr_thread_mutex_unlock(apr_ldap_xref_lock);
+ if (retcode != APR_SUCCESS) {
+ return retcode;
+ }
#endif
}
else {
@@ -138,13 +156,17 @@ APU_DECLARE_LDAP(apr_status_t) apr_ldap_rebind_add(apr_pool_t *pool,
APU_DECLARE_LDAP(apr_status_t) apr_ldap_rebind_remove(LDAP *ld)
{
apr_ldap_rebind_entry_t *tmp_xref, *prev = NULL;
+ apr_status_t retcode = 0;
#ifdef NETWARE
get_apd
#endif
#if APR_HAS_THREADS
- apr_thread_mutex_lock(apr_ldap_xref_lock);
+ retcode = apr_thread_mutex_lock(apr_ldap_xref_lock);
+ if (retcode != APR_SUCCESS) {
+ return retcode;
+ }
#endif
tmp_xref = xref_head;
@@ -169,7 +191,10 @@ APU_DECLARE_LDAP(apr_status_t) apr_ldap_rebind_remove(LDAP *ld)
}
#if APR_HAS_THREADS
- apr_thread_mutex_unlock(apr_ldap_xref_lock);
+ retcode = apr_thread_mutex_unlock(apr_ldap_xref_lock);
+ if (retcode != APR_SUCCESS) {
+ return retcode;
+ }
#endif
return APR_SUCCESS;
}
@@ -348,4 +373,5 @@ static int apr_ldap_rebind_set_callback(LDAP *ld)
#endif
+
#endif /* APR_HAS_LDAP */
diff --git a/srclib/apr-util/libaprutil.rc b/srclib/apr-util/libaprutil.rc
index dbdad177..2beceeb4 100644
--- a/srclib/apr-util/libaprutil.rc
+++ b/srclib/apr-util/libaprutil.rc
@@ -1,6 +1,6 @@
#include "apu_version.h"
-#define APU_COPYRIGHT "Copyright (c) 2009 The Apache Software " \
+#define APU_COPYRIGHT "Copyright (c) 2011 The Apache Software " \
"Foundation or its licensors, as applicable."
#define APU_LICENSE \
diff --git a/srclib/apr-util/misc/apr_queue.c b/srclib/apr-util/misc/apr_queue.c
index b74fdf85..82859c84 100644
--- a/srclib/apr-util/misc/apr_queue.c
+++ b/srclib/apr-util/misc/apr_queue.c
@@ -185,7 +185,9 @@ APU_DECLARE(apr_status_t) apr_queue_push(apr_queue_t *queue, void *data)
}
queue->data[queue->in] = data;
- queue->in = (queue->in + 1) % queue->bounds;
+ queue->in++;
+ if (queue->in >= queue->bounds)
+ queue->in -= queue->bounds;
queue->nelts++;
if (queue->empty_waiters) {
@@ -225,7 +227,9 @@ APU_DECLARE(apr_status_t) apr_queue_trypush(apr_queue_t *queue, void *data)
}
queue->data[queue->in] = data;
- queue->in = (queue->in + 1) % queue->bounds;
+ queue->in++;
+ if (queue->in >= queue->bounds)
+ queue->in -= queue->bounds;
queue->nelts++;
if (queue->empty_waiters) {
@@ -297,7 +301,9 @@ APU_DECLARE(apr_status_t) apr_queue_pop(apr_queue_t *queue, void **data)
*data = queue->data[queue->out];
queue->nelts--;
- queue->out = (queue->out + 1) % queue->bounds;
+ queue->out++;
+ if (queue->out >= queue->bounds)
+ queue->out -= queue->bounds;
if (queue->full_waiters) {
Q_DBG("signal !full", queue);
rv = apr_thread_cond_signal(queue->not_full);
@@ -337,7 +343,9 @@ APU_DECLARE(apr_status_t) apr_queue_trypop(apr_queue_t *queue, void **data)
*data = queue->data[queue->out];
queue->nelts--;
- queue->out = (queue->out + 1) % queue->bounds;
+ queue->out++;
+ if (queue->out >= queue->bounds)
+ queue->out -= queue->bounds;
if (queue->full_waiters) {
Q_DBG("signal !full", queue);
rv = apr_thread_cond_signal(queue->not_full);
diff --git a/srclib/apr-util/misc/apr_thread_pool.c b/srclib/apr-util/misc/apr_thread_pool.c
index a3b9bc20..a53973f1 100644
--- a/srclib/apr-util/misc/apr_thread_pool.c
+++ b/srclib/apr-util/misc/apr_thread_pool.c
@@ -329,15 +329,15 @@ static void *APR_THREAD_FUNC thread_pool_func(apr_thread_t * t, void *param)
static apr_status_t thread_pool_cleanup(void *me)
{
- apr_thread_pool_t *_self = me;
+ apr_thread_pool_t *_myself = me;
- _self->terminated = 1;
- apr_thread_pool_idle_max_set(_self, 0);
- while (_self->thd_cnt) {
+ _myself->terminated = 1;
+ apr_thread_pool_idle_max_set(_myself, 0);
+ while (_myself->thd_cnt) {
apr_sleep(20 * 1000); /* spin lock with 20 ms */
}
- apr_thread_mutex_destroy(_self->lock);
- apr_thread_cond_destroy(_self->cond);
+ apr_thread_mutex_destroy(_myself->lock);
+ apr_thread_cond_destroy(_myself->cond);
return APR_SUCCESS;
}
diff --git a/srclib/apr-util/test/NWGNUaputest b/srclib/apr-util/test/NWGNUaputest
index e2f4f845..3ad10983 100644
--- a/srclib/apr-util/test/NWGNUaputest
+++ b/srclib/apr-util/test/NWGNUaputest
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
#
@@ -18,7 +18,7 @@ endif
XINCDIRS += \
$(APR)/include \
$(APR)/include/arch/NetWare \
- $(APRUTIL)/include \
+ $(APU)/include \
$(LDAPSDK)/inc \
$(EOLIST)
@@ -112,7 +112,7 @@ NLM_SCREEN_NAME = aputest
#
# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
+# $(APR_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -124,12 +124,12 @@ NLM_STACK_SIZE = 524288
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -139,7 +139,7 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -200,7 +200,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -212,7 +212,6 @@ FILES_nlm_modules = \
APRLIB \
lldapsdk \
lldapssl \
- lldapx \
$(EOLIST)
#
@@ -235,9 +234,10 @@ FILE_nlm_copyright =
#
FILES_nlm_Ximports = \
@libc.imp \
- @$(APR)/aprlib.imp \
- @$(LDAPSDK)/imports/lldapsdk.imp \
- @$(LDAPSDK)/imports/lldapssl.imp \
+ @netware.imp \
+ @aprlib.imp \
+ @lldapsdk.imp \
+ @lldapssl.imp \
$(EOLIST)
#
@@ -245,7 +245,7 @@ FILES_nlm_Ximports = \
#
FILES_nlm_exports = \
$(EOLIST)
-
+
#
# These are the OBJ files needed to create the LIB target above.
# Paths must all use the '/' character
@@ -263,7 +263,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -277,5 +277,5 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr-util/test/NWGNUmakefile b/srclib/apr-util/test/NWGNUmakefile
index 2ee3b646..d589ebf9 100644
--- a/srclib/apr-util/test/NWGNUmakefile
+++ b/srclib/apr-util/test/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -239,10 +239,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALLBASE)
+ $(call COPY,$(OBJDIR)/*.nlm,$(INSTALLBASE))
#
# Any specialized rules here
@@ -253,5 +253,5 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr-util/test/nw_misc.c b/srclib/apr-util/test/nw_misc.c
index d00ef0e0..8e94598a 100644
--- a/srclib/apr-util/test/nw_misc.c
+++ b/srclib/apr-util/test/nw_misc.c
@@ -1,3 +1,4 @@
+#include <stdio.h>
#include <stdlib.h>
#include <netware.h>
#include <screen.h>
diff --git a/srclib/apr-util/test/testpass.c b/srclib/apr-util/test/testpass.c
index 789f17cc..0ec128bd 100644
--- a/srclib/apr-util/test/testpass.c
+++ b/srclib/apr-util/test/testpass.c
@@ -28,6 +28,14 @@
#include "abts.h"
#include "testutil.h"
+#if defined(WIN32) || defined(BEOS) || defined(NETWARE)
+#define CRYPT_ALGO_SUPPORTED 0
+#else
+#define CRYPT_ALGO_SUPPORTED 1
+#endif
+
+#if CRYPT_ALGO_SUPPORTED
+
static struct {
const char *password;
const char *hash;
@@ -104,6 +112,8 @@ static void test_threadsafe(abts_case *tc, void *data)
}
#endif
+#endif /* CRYPT_ALGO_SUPPORTED */
+
static void test_shapass(abts_case *tc, void *data)
{
const char *pass = "hellojed";
@@ -130,10 +140,12 @@ abts_suite *testpass(abts_suite *suite)
{
suite = ADD_SUITE(suite);
+#if CRYPT_ALGO_SUPPORTED
abts_run_test(suite, test_crypt, NULL);
#if APR_HAS_THREADS
abts_run_test(suite, test_threadsafe, NULL);
#endif
+#endif /* CRYPT_ALGO_SUPPORTED */
abts_run_test(suite, test_shapass, NULL);
abts_run_test(suite, test_md5pass, NULL);
diff --git a/srclib/apr-util/uri/NWGNUmakefile b/srclib/apr-util/uri/NWGNUmakefile
deleted file mode 100644
index bf97c96f..00000000
--- a/srclib/apr-util/uri/NWGNUmakefile
+++ /dev/null
@@ -1,257 +0,0 @@
-#
-# NWGNUmakefile for GenUri.nlm (Apache2)
-# Declare the sub-directories to be built here
-#
-
-SUBDIRS = \
- $(EOLIST)
-
-#
-# Get the 'head' of the build environment. This includes default targets and
-# paths to tools
-#
-
-include $(APR_WORK)\build\NWGNUhead.inc
-
-#
-# build this level's files
-
-#
-# Make sure all needed macro's are defined
-#
-
-#
-# These directories will be at the beginning of the include list, followed by
-# INCDIRS
-#
-XINCDIRS += \
- $(APR)/include/arch/NetWare \
- $(APR)/include \
- $(APRUTIL)/include \
- $(APRUTIL)/include/private \
- $(APRUTIL)/xml/expat/lib \
- $(EOLIST)
-
-#
-# These flags will come after CFLAGS
-#
-XCFLAGS += \
- $(EOLIST)
-
-#
-# These defines will come after DEFINES
-#
-XDEFINES += \
- $(EOLIST)
-
-#
-# These flags will be added to the link.opt file
-#
-XLFLAGS += \
- $(EOLIST)
-
-#
-# These values will be appended to the correct variables based on the value of
-# RELEASE
-#
-ifeq "$(RELEASE)" "debug"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-ifeq "$(RELEASE)" "noopt"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-ifeq "$(RELEASE)" "release"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-#
-# These are used by the link target if an NLM is being generated
-# This is used by the link 'name' directive to name the nlm. If left blank
-# TARGET_nlm (see below) will be used.
-#
-NLM_NAME = Genuri
-
-#
-# This is used by the link '-desc ' directive.
-# If left blank, NLM_NAME will be used.
-#
-NLM_DESCRIPTION = Generate URI Delimiters
-
-#
-# This is used by the '-threadname' directive. If left blank,
-# NLM_NAME Thread will be used.
-#
-NLM_THREAD_NAME = genuri
-
-#
-# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
-#
-NLM_VERSION = 1,0,0
-
-#
-# If this is specified, it will override the default of 64K
-#
-NLM_STACK_SIZE = 8192
-
-#
-# If this is specified it will be used by the link '-entry' directive
-#
-NLM_ENTRY_SYM =_LibCPrelude
-
-#
-# If this is specified it will be used by the link '-exit' directive
-#
-NLM_EXIT_SYM =_LibCPostlude
-
-#
-# If this is specified it will be used by the link '-check' directive
-#
-NLM_CHECK_SYM =
-
-#
-# If this is specified it will be used by the link '-flags' directive
-#
-NLM_FLAGS = PSEUDOPREEMPTION
-
-#
-# If this is specified it will be linked in with the XDCData option in the def
-# file instead of the default of $(APR)/misc/netware/apr.xdc. XDCData can
-# be disabled by setting APACHE_UNIPROC in the environment
-#
-XDCDATA =
-
-#
-# Declare all target files (you must add your files here)
-#
-
-#
-# If there is an NLM target, put it here
-#
-TARGET_nlm = \
-$(OBJDIR)/Genuri.nlm \
- $(EOLIST)
-
-#
-# If there is an LIB target, put it here
-#
-TARGET_lib = \
- $(EOLIST)
-
-#
-# These are the OBJ files needed to create the NLM target above.
-# Paths must all use the '/' character
-#
-FILES_nlm_objs = \
- $(OBJDIR)/gen_uri_delims.o \
- $(EOLIST)
-
-#
-# These are the LIB files needed to create the NLM target above.
-# These will be added as a library command in the link.opt file.
-#
-FILES_nlm_libs = \
- libcpre.o \
- $(EOLIST)
-
-#
-# These are the modules that the above NLM target depends on to load.
-# These will be added as a module command in the link.opt file.
-#
-FILES_nlm_modules = \
- Libc \
- $(EOLIST)
-
-#
-# If the nlm has a msg file, put it's path here
-#
-FILE_nlm_msg =
-
-#
-# If the nlm has a hlp file put it's path here
-#
-FILE_nlm_hlp =
-
-#
-# If this is specified, it will override $(NWOS)\copyright.txt.
-#
-FILE_nlm_copyright =
-
-#
-# Any additional imports go here
-#
-FILES_nlm_Ximports = \
- @libc.imp \
- $(EOLIST)
-
-#
-# Any symbols exported to here
-#
-FILES_nlm_exports = \
- $(EOLIST)
-
-#
-# These are the OBJ files needed to create the LIB target above.
-# Paths must all use the '/' character
-#
-FILES_lib_objs = \
- $(EOLIST)
-
-#
-# implement targets and dependancies (leave this section alone)
-#
-
-libs :: $(OBJDIR) $(TARGET_lib)
-
-nlms :: libs $(TARGET_nlm)
-
-#
-# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
-#
-install :: nlms FORCE
-
-#
-# Any specialized rules here
-#
-
-
-#
-# Include the 'tail' makefile that has targets that depend on variables defined
-# in this makefile
-#
-
-include $(APR_WORK)\build\NWGNUtail.inc
-
diff --git a/srclib/apr-util/xml/NWGNUmakefile b/srclib/apr-util/xml/NWGNUmakefile
index 3958a3eb..cc016467 100644
--- a/srclib/apr-util/xml/NWGNUmakefile
+++ b/srclib/apr-util/xml/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -26,11 +26,11 @@ include $(APR_WORK)\build\NWGNUhead.inc
XINCDIRS += \
$(APR)/include \
$(APR)/include/arch/NetWare \
- $(APRUTIL)/include \
- $(APRUTIL)/uri \
- $(APRUTIL)/dbm/sdbm \
- $(APRUTIL)/include/private \
- $(APRUTIL)/xml/expat/lib \
+ $(APU)/include \
+ $(APU)/uri \
+ $(APU)/dbm/sdbm \
+ $(APU)/include/private \
+ $(APUXML)/expat/lib \
$(EOLIST)
#
@@ -118,7 +118,7 @@ NLM_DESCRIPTION =
NLM_THREAD_NAME =
#
# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
+# $(APR_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -168,7 +168,7 @@ TARGET_nlm = \
# If there is an LIB target, put it here
#
TARGET_lib = \
- $(OBJDIR)/xmllib.lib \
+ $(OBJDIR)/apuxml.lib \
$(EOLIST)
#
@@ -240,7 +240,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -255,5 +255,5 @@ vpath %.c expat/lib
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr-util/xml/expat/Makefile.in b/srclib/apr-util/xml/expat/Makefile.in
index d505e770..5dd7d919 100644
--- a/srclib/apr-util/xml/expat/Makefile.in
+++ b/srclib/apr-util/xml/expat/Makefile.in
@@ -85,9 +85,9 @@ check: tests/runtests
install: installlib
installlib: $(LIBRARY) $(APIHEADER)
- $(mkinstalldirs) $(libdir) $(includedir)
- $(LIBTOOL) --mode=install $(INSTALL) $(LIBRARY) $(libdir)/$(LIBRARY)
- $(INSTALL_DATA) $(APIHEADER) $(includedir)
+ $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
+ $(LIBTOOL) --mode=install $(INSTALL) $(LIBRARY) $(DESTDIR)$(libdir)/$(LIBRARY)
+ $(INSTALL_DATA) $(APIHEADER) $(DESTDIR)$(includedir)
$(LIBRARY): $(LIB_OBJS)
$(LINK_LIB) $(LIB_OBJS)
diff --git a/srclib/apr-util/xml/expat/conftools/PrintPath b/srclib/apr-util/xml/expat/conftools/PrintPath
index 68435f37..2a2b48b6 100755
--- a/srclib/apr-util/xml/expat/conftools/PrintPath
+++ b/srclib/apr-util/xml/expat/conftools/PrintPath
@@ -1,4 +1,21 @@
#!/bin/sh
+#
+# 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.
+#
+#
# Look for program[s] somewhere in $PATH.
#
# Options:
@@ -12,9 +29,6 @@
#
# Initially written by Jim Jagielski for the Apache configuration mechanism
# (with kudos to Kernighan/Pike)
-#
-# This script falls under the Apache License.
-# See http://www.apache.org/docs/LICENSE
##
# Some "constants"
@@ -45,7 +59,7 @@ done
#
# First of all, all OS/2 programs have the '.exe' extension.
# Next, we adjust PATH (or what was given to us as PATH) to
-# be whitespace seperated directories.
+# be whitespace separated directories.
# Finally, we try to determine the best flag to use for
# test/[] to look for an executable file. OS/2 just has '-r'
# but with other OSs, we do some funny stuff to check to see
diff --git a/srclib/apr-util/xml/expat/lib/expat.dsp b/srclib/apr-util/xml/expat/lib/expat.dsp
index 71aae06b..90781946 100644
--- a/srclib/apr-util/xml/expat/lib/expat.dsp
+++ b/srclib/apr-util/xml/expat/lib/expat.dsp
@@ -107,11 +107,11 @@ SOURCE=.\xmlparse.c
!IF "$(CFG)" == "expat - Win32 Release"
-# ADD CPP /D VERSION=\"expat_1.95.2\"
+# ADD CPP /D VERSION=\"expat_1.95.7\"
!ELSEIF "$(CFG)" == "expat - Win32 Debug"
-# ADD CPP /EHsc- /Od /D VERSION=\"expat_1.95.2\"
+# ADD CPP /EHsc- /Od /D VERSION=\"expat_1.95.7\"
!ENDIF
@@ -122,11 +122,11 @@ SOURCE=.\xmlrole.c
!IF "$(CFG)" == "expat - Win32 Release"
-# ADD CPP /D VERSION=\"expat_1.95.2\"
+# ADD CPP /D VERSION=\"expat_1.95.7\"
!ELSEIF "$(CFG)" == "expat - Win32 Debug"
-# ADD CPP /D VERSION=\"expat_1.95.2\"
+# ADD CPP /D VERSION=\"expat_1.95.7\"
!ENDIF
@@ -137,11 +137,11 @@ SOURCE=.\xmltok.c
!IF "$(CFG)" == "expat - Win32 Release"
-# ADD CPP /D VERSION=\"expat_1.95.2\"
+# ADD CPP /D VERSION=\"expat_1.95.7\"
!ELSEIF "$(CFG)" == "expat - Win32 Debug"
-# ADD CPP /D VERSION=\"expat_1.95.2\"
+# ADD CPP /D VERSION=\"expat_1.95.7\"
!ENDIF
@@ -152,12 +152,12 @@ SOURCE=xmltok_impl.c
!IF "$(CFG)" == "expat - Win32 Release"
-# ADD CPP /D VERSION=\"expat_1.95.2\"
+# ADD CPP /D VERSION=\"expat_1.95.7\"
!ELSEIF "$(CFG)" == "expat - Win32 Debug"
# PROP Exclude_From_Build 1
-# ADD CPP /D VERSION=\"expat_1.95.2\"
+# ADD CPP /D VERSION=\"expat_1.95.7\"
!ENDIF
@@ -168,12 +168,12 @@ SOURCE=xmltok_ns.c
!IF "$(CFG)" == "expat - Win32 Release"
-# ADD CPP /D VERSION=\"expat_1.95.2\"
+# ADD CPP /D VERSION=\"expat_1.95.7\"
!ELSEIF "$(CFG)" == "expat - Win32 Debug"
# PROP Exclude_From_Build 1
-# ADD CPP /D VERSION=\"expat_1.95.2\"
+# ADD CPP /D VERSION=\"expat_1.95.7\"
!ENDIF
diff --git a/srclib/apr-util/xml/expat/lib/expat_config.hnw b/srclib/apr-util/xml/expat/lib/expat_config.hnw
index ca9a9489..e45f5709 100644
--- a/srclib/apr-util/xml/expat/lib/expat_config.hnw
+++ b/srclib/apr-util/xml/expat/lib/expat_config.hnw
@@ -12,7 +12,6 @@
#ifndef EXPAT_CONFIG_HNW
#define EXPAT_CONFIG_HNW
-#include <memory.h>
#include <string.h>
#define HAVE_MEMMOVE
diff --git a/srclib/apr/CHANGES b/srclib/apr/CHANGES
index 393e1912..490205a9 100644
--- a/srclib/apr/CHANGES
+++ b/srclib/apr/CHANGES
@@ -1,7 +1,80 @@
-*- coding: utf-8 -*-
+Changes for APR 1.4.5
+
+ *) Security: CVE-2011-1928
+ apr_fnmatch(): Fix high CPU loop. [William Rowe]
+
+ *) Fix top_builddir in installed apr_rules.mk. [Bojan Smojver]
+
+Changes for APR 1.4.4
+
+ *) Windows: Fix command-line builds. [William Rowe]
+
+Changes for APR 1.4.3
+
+ *) Security: CVE-2011-0419
+ Reimplement apr_fnmatch() from scratch using a non-recursive
+ algorithm; now has improved compliance with the fnmatch() spec.
+ [William Rowe]
+
+ *) Fix environment-related crash using some non-standard builds on
+ Windows 7/Server 2008. [Steve Hay <SteveHay planit.com>]
+
+ *) poll, pollset, pollcb on Windows: Handle calls with no file/socket
+ descriptors. PR 49882. [Stefan Ruppert <sr myarm.com>, Jeff Trawick]
+
+ *) Fix APR_IPV6_V6ONLY issues on Windows related to run-time behavior
+ on Windows older than Vista and SDK/MinGW levels without IPV6_V6ONLY.
+ PR 45321. [Sob <sob hisoftware.cz>]
+
+ *) Fix address handling when accepting an AF_INET socket from a socket
+ bound as AF_INET6. PR 49678. [Joe Orton]
+
+ *) Fix error return values from apr_sockaddr_info_get() on Windows for
+ IPv6 builds. [Ivan Zhakov <ivan visualsvn.com>]
+
+ *) Add new experimental configure option --enable-allocator-uses-mmap to
+ use mmap instead of malloc in apr_allocator_alloc(). This greatly reduces
+ memory fragmentation with malloc implementations (e.g. glibc) that
+ don't handle allocationss of a page-size-multiples in an efficient way.
+ It also makes apr_allocator_max_free_set() actually have some effect
+ on such platforms. [Stefan Fritsch]
+
+ *) configure: Support 64 and 32 bit universal builds for Darwin/
+ OS X 10.6+. [Jim Jagielski]
+
+ *) apr_sockaddr_info_get() on AIX: Fix a problem which could set
+ the port field in the native socket address to 1 when 0 was
+ specified. PR 46964. [Jeff Trawick]
+
+ *) configure: Make definition of apr_ino_t independent of
+ _FILE_OFFSET_BITS even on platforms where ino_t is 'unsigned int'.
+ [Stefan Fritsch]
+
+ *) apr_ring: Workaround for aliasing problem that causes gcc 4.5 to
+ miscompile some brigade related code. PR 50190. [Stefan Fritsch]
+
+ *) apr_file_flush_locked(): Handle short writes. [Stefan Fritsch]
+
+ *) apr_pollset_create_ex(): Trap errors from pollset providers.
+ PR 49094. [Sami Tolvanen <sami.tolvanen mywot.com>]
+
+ *) apr_pollset_create*(): Fix memory lifetime problem with the wakeup
+ pipe when the pollset was created with APR_POLLSET_NOCOPY.
+ [Neil Conway <nrc cs.berkeley.edu>]
+
+ *) Fix detection of some Linux variants when configure is built with
+ recent GNU tools. [Eric Covener]
+
+ *) Avoid a redundant fcntl() call in apr_file_open() where O_CLOEXEC
+ is supported. PR 46297. [Joe Orton]
+
+ *) Improve platform detection by updating config.guess and config.sub.
+ [Rainer Jung]
+
Changes for APR 1.4.2
- *) Undo a crash-bug introduced in 1.3.9 affecting some applications of
+ *) Undo a crash-bug introduced in 1.4.1 affecting some applications of
the apr hash and table structures, reported to affect Subversion
by Bert Huijben <bert qqmail.nl>. [Graham Leggett]
@@ -12,6 +85,8 @@ Changes for APR 1.4.1
Changes for APR 1.4.0
+ *) Windows: Default build configurations assume NT or higher at run-time.
+
*) Add apr_global_mutex_lockfile() for retrieving the file, if any,
associated with the mutex. Add apr_global_mutex_name() for retrieving
the name of the lock mechanism used by the underlying proc mutex.
@@ -26,6 +101,9 @@ Changes for APR 1.4.0
choosing non-default providers.
[Mladen Turk]
+ *) Win32: Use WSAPoll as default pollset method if supported and found
+ inside winsock dll. [Mladen Turk]
+
*) apr_temp_dir_get() now checks the TMPDIR environment variable first,
instead of third. [Jim Jagielski]
diff --git a/srclib/apr/Makefile.in b/srclib/apr/Makefile.in
index 5dcb4bad..9f04436b 100644
--- a/srclib/apr/Makefile.in
+++ b/srclib/apr/Makefile.in
@@ -66,7 +66,7 @@ apr-config.out: $(APR_CONFIG)
# Create apr_rules.mk suitable for the install tree
build/apr_rules.out: build/apr_rules.mk
- sed 's,^\(apr_build.*=\).*$$,\1$(installbuilddir),' < build/apr_rules.mk > $@
+ sed -e 's,^\(apr_build.*=\).*$$,\1$(installbuilddir),' -e 's,^\(top_build.*=\).*$$,\1$(installbuilddir),' < build/apr_rules.mk > $@
install: $(TARGETS)
$(APR_MKDIR) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir) $(DESTDIR)$(installbuilddir) \
diff --git a/srclib/apr/Makefile.win b/srclib/apr/Makefile.win
index b2c2f07c..d2090f3f 100644
--- a/srclib/apr/Makefile.win
+++ b/srclib/apr/Makefile.win
@@ -162,16 +162,16 @@ install:
@if NOT EXIST "$(PREFIX)\bin\." mkdir "$(PREFIX)\bin"
@if NOT EXIST "$(PREFIX)\include\." mkdir "$(PREFIX)\include"
@if NOT EXIST "$(PREFIX)\lib\." mkdir "$(PREFIX)\lib"
- copy CHANGES "$(PREFIX)\CHANGES.txt" <.y
- copy LICENSE "$(PREFIX)\LICENSE.txt" <.y
- copy NOTICE "$(PREFIX)\NOTICE.txt" <.y
+ copy CHANGES "$(PREFIX)\APR-CHANGES.txt" <.y
+ copy LICENSE "$(PREFIX)\APR-LICENSE.txt" <.y
+ copy NOTICE "$(PREFIX)\APR-NOTICE.txt" <.y
xcopy include\*.h "$(PREFIX)\include\" /d < .a
copy $(LIBSOSPATH)\apr-1.lib "$(PREFIX)\lib\" <.y
copy $(LIBSOSPATH)\apr-1.pdb "$(PREFIX)\lib\" <.y
copy $(LIBSOSPATH)\aprapp-1.lib "$(PREFIX)\lib\" <.y
copy $(LIBSOSPATH)\aprapp-1.pdb "$(PREFIX)\lib\" <.y
- copy $(LIBSOSPATH)\libaprapp-1.lib "$(PREFIX)\lib\" <.y
- copy $(LIBSOSPATH)\libaprapp-1.pdb "$(PREFIX)\lib\" <.y
+ copy $(ARCHOSPATH)\libaprapp-1.lib "$(PREFIX)\lib\" <.y
+ copy $(ARCHOSPATH)\libaprapp-1.pdb "$(PREFIX)\lib\" <.y
copy $(ARCHOSPATH)\libapr-1.lib "$(PREFIX)\lib\" <.y
copy $(ARCHOSPATH)\libapr-1.exp "$(PREFIX)\lib\" <.y
copy $(ARCHOSPATH)\libapr-1.dll "$(PREFIX)\bin\" <.y
diff --git a/srclib/apr/NOTICE b/srclib/apr/NOTICE
index 1e0abd3a..6643ee6d 100644
--- a/srclib/apr/NOTICE
+++ b/srclib/apr/NOTICE
@@ -1,5 +1,5 @@
Apache Portable Runtime
-Copyright (c) 2009 The Apache Software Foundation.
+Copyright (c) 2011 The Apache Software Foundation.
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
diff --git a/srclib/apr/NWGNUmakefile b/srclib/apr/NWGNUmakefile
index ee29cb82..3f789ebc 100644
--- a/srclib/apr/NWGNUmakefile
+++ b/srclib/apr/NWGNUmakefile
@@ -1,4 +1,20 @@
#
+# Define our macros with defaults if we dont got them already.
+#
+ifndef APR_WORK
+export APR_WORK = $(CURDIR)
+endif
+ifneq "$(wildcard $(APR_WORK)/include/apr_version.h)" "$(APR_WORK)/include/apr_version.h"
+$(error APR_WORK does not point to a valid APR source tree)
+endif
+ifndef APU_WORK
+export APU_WORK = $(CURDIR)/../apr-util
+endif
+ifneq "$(wildcard $(APU_WORK)/include/apu_version.h)" "$(APU_WORK)/include/apu_version.h"
+$(error APU_WORK does not point to a valid APU source tree)
+endif
+
+#
# Declare the sub-directories to be built here
#
@@ -7,12 +23,19 @@ SUBDIRS = \
$(APU_WORK) \
$(EOLIST)
+ifeq "$(TEST)" "1"
+SUBDIRS += \
+ test \
+ $(APU_WORK)/test \
+ $(EOLIST)
+endif
+
#
# Get the 'head' of the build environment. This includes default targets and
# paths to tools
#
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -31,7 +54,9 @@ XINCDIRS += \
$(APR)/include/arch/unix \
$(APR)/memory/unix \
$(APR)/random/unix \
- $(APRUTIL)/xml \
+ $(APU)/include \
+ $(APU)/xml \
+ $(LDAPSDK)/inc \
$(EOLIST)
#
@@ -118,7 +143,7 @@ NLM_DESCRIPTION = Apache Portability Runtime Library $(VERSION_STR) $(VERSION_SK
NLM_THREAD_NAME =
#
# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
+# $(APR_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -130,12 +155,12 @@ NLM_STACK_SIZE =
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -145,7 +170,7 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -185,11 +210,11 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(APRLIB) \
- $(APRUTLIB) \
+ $(APULIB) \
$(APULDAPLIB) \
- $(XMLLIB) \
+ $(APUXMLLIB) \
$(EOLIST)
#
@@ -249,8 +274,8 @@ endif
#If the LDAP support is defined then add the imports
ifneq "$(LDAPSDK)" ""
FILES_nlm_Ximports += \
- @$(LDAPSDK)/imports/lldapsdk.imp \
- @$(LDAPSDK)/imports/lldapssl.imp \
+ @lldapsdk.imp \
+ @lldapssl.imp \
$(EOLIST)
endif
@@ -298,7 +323,6 @@ FILES_lib_objs = \
$(OBJDIR)/groupinfo.o \
$(OBJDIR)/inet_pton.o \
$(OBJDIR)/inet_ntop.o \
- $(OBJDIR)/libprews.o \
$(OBJDIR)/mktemp.o \
$(OBJDIR)/mmap.o \
$(OBJDIR)/multicast.o \
@@ -348,32 +372,32 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms $(INSTDIRS) FORCE
- copy $(OBJDIR)\aprlib.nlm $(INSTALLBASE)\*.*
+ $(call COPY,$(APR)/$(TARGET_nlm),$(INSTALLBASE)/)
ifndef DEST
- -$(CP) $(subst /,\,$(APR))\STATUS $(INSTALLBASE)\*.apr
- -$(CP) $(subst /,\,$(APR))\LICENSE $(INSTALLBASE)\*
- -$(CP) $(subst /,\,$(APR))\CHANGES $(INSTALLBASE)\*.apr
- -$(CP) $(subst /,\,$(APRUTIL))\STATUS $(INSTALLBASE)\*.apu
- -$(CP) $(subst /,\,$(APRUTIL))\CHANGES $(INSTALLBASE)\*.apu
- @-$(XCP) $(subst /,\,$(APR))\docs $(INSTALLBASE)\docs\*.*
+ -$(call COPY,$(APR)/LICENSE,$(INSTALLBASE)/)
+ -$(call COPY,$(APR)/STATUS,$(INSTALLBASE)/STATUS.apr)
+ -$(call COPY,$(APR)/CHANGES,$(INSTALLBASE)/CHANGES.apr)
+ -$(call COPY,$(APU)/STATUS,$(INSTALLBASE)/STATUS.apu)
+ -$(call COPY,$(APU)/CHANGES,$(INSTALLBASE)/CHANGES.apu)
+ -$(call COPYR,$(APR)/docs,$(INSTALLBASE)/docs/)
endif
ifndef DEST
installdev :: $(INSTDEVDIRS) FORCE
- -$(CP) $(subst /,\,$(APR))\include\*.h $(INSTALLBASE)\include\*.*
- -$(CP) $(subst /,\,$(APRUTIL))\include\*.h $(INSTALLBASE)\include\*.*
- -$(CP) $(subst /,\,$(APR))\*.imp $(INSTALLBASE)\lib\*.*
- -$(CP) $(subst /,\,$(APR))\misc\netware\*.xdc $(INSTALLBASE)\lib\*.*
- -$(CP) $(subst /,\,$(APRLIB)) $(INSTALLBASE)\lib\*.*
- -$(CP) $(subst /,\,$(APRUTLIB)) $(INSTALLBASE)\lib\*.*
- -$(CP) $(subst /,\,$(APULDAPLIB)) $(INSTALLBASE)\lib\*.*
- -$(CP) $(subst /,\,$(XMLLIB)) $(INSTALLBASE)\lib\*.*
+ $(call COPY,$(APR)/include/*.h,$(INSTALLBASE)/include/)
+ $(call COPY,$(APR)/*.imp,$(INSTALLBASE)/lib/)
+ $(call COPY,$(APR)/misc/netware/*.xdc,$(INSTALLBASE)/lib/)
+ $(call COPY,$(APR)/$(TARGET_nlm),$(INSTALLBASE)/bin/)
+ $(call COPY,$(APRLIB),$(INSTALLBASE)/lib/)
+ $(call COPY,$(APULIB),$(INSTALLBASE)/lib/)
+ $(call COPY,$(APULDAPLIB),$(INSTALLBASE)/lib/)
+ $(call COPY,$(APUXMLLIB),$(INSTALLBASE)/lib/)
$(INSTDEVDIRS) ::
- $(CHKNOT) $@\NUL mkdir $@
+ $(call MKDIR,$@)
endif
#
@@ -382,7 +406,7 @@ endif
vpath %.c atomic/netware:strings:tables:passwd:lib:time/unix
vpath %.c file_io/unix:locks/netware:misc/netware:misc/unix:threadproc/netware
-vpath %.c poll/unix:shmem\unix:support/unix:random/unix
+vpath %.c poll/unix:shmem/unix:support/unix:random/unix
vpath %.c dso/netware:memory/unix:mmap/unix:user/netware
# Use the win32 network_io if Winsock is being used
@@ -391,15 +415,16 @@ vpath %.c network_io/win32
endif
vpath %.c network_io/unix
-$(OBJDIR)/%.o: file_io/netware/%.c $(OBJDIR)\$(NLM_NAME)_cc.opt
- @echo Compiling $<
- $(CC) file_io\netware\$(<F) -cwd source -o=$(OBJDIR)\$(@F) @$(OBJDIR)\$(NLM_NAME)_cc.opt
+$(OBJDIR)/%.o: file_io/netware/%.c $(OBJDIR)/$(NLM_NAME)_cc.opt
+# @echo Compiling $<
+ @echo $(DL)CC $<$(DL)
+ $(CC) $< -cwd source -o=$@ @$(OBJDIR)/$(NLM_NAME)_cc.opt
#
# Include the 'tail' makefile that has targets that depend on variables defined
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr/README b/srclib/apr/README
index 5fa59bfb..f3add18e 100644
--- a/srclib/apr/README
+++ b/srclib/apr/README
@@ -103,6 +103,22 @@ with the flag;
./testall -v
+Building APR RPM files on Linux
+===============================
+
+Run the following to create SRPMs:
+
+rpmbuild -ts apr-<version>.tar.bz2
+rpmbuild -ts apr-util-<version>.tar.bz2
+
+Run the following to create RPMs (or build from the SRPMs):
+
+rpmbuild -tb apr-<version>.tar.bz2
+rpmbuild -tb apr-util-<version>.tar.bz2
+
+Resolve dependencies as appropriate.
+
+
Configuring and Building APR on Windows
=======================================
diff --git a/srclib/apr/apr.dep b/srclib/apr/apr.dep
new file mode 100644
index 00000000..3abf37de
--- /dev/null
+++ b/srclib/apr/apr.dep
@@ -0,0 +1,558 @@
+# Microsoft Developer Studio Generated Dependency File, included by apr.mak
+
+.\atomic\win32\apr_atomic.c : \
+ ".\include\apr_atomic.h"\
+
+
+.\dso\win32\dso.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_dso.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\buffer.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\unix\copy.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\dir.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\unix\fileacc.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\filedup.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\filepath.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\unix\filepath_util.c : \
+ ".\include\apr_strings.h"\
+
+
+.\file_io\win32\filestat.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\filesys.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\flock.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\unix\fullrw.c : \
+
+
+.\file_io\unix\mktemp.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\open.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\pipe.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\readwrite.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\seek.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\unix\tempdir.c : \
+ ".\include\apr_env.h"\
+ ".\include\apr_strings.h"\
+
+
+.\locks\win32\proc_mutex.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_proc_mutex.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\locks\win32\thread_cond.c : \
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_thread_cond.h"\
+ ".\include\arch\win32\apr_arch_thread_cond.h"\
+ ".\include\arch\win32\apr_arch_thread_mutex.h"\
+
+
+.\locks\win32\thread_mutex.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_thread_mutex.h"\
+
+
+.\locks\win32\thread_rwlock.c : \
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_thread_rwlock.h"\
+ ".\include\arch\win32\apr_arch_thread_rwlock.h"\
+
+
+.\memory\unix\apr_pools.c : \
+ ".\include\apr_atomic.h"\
+ ".\include\apr_env.h"\
+ ".\include\apr_hash.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+
+
+.\misc\win32\charset.c : \
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+
+
+.\misc\win32\env.c : \
+ ".\include\apr_env.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\misc\unix\errorcodes.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+
+
+.\misc\unix\getopt.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+
+
+.\misc\win32\internal.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\misc\win32\misc.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_dbg_win32_handles.h"\
+
+
+.\misc\unix\otherchild.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\misc\win32\rand.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_portable.h"\
+
+
+.\misc\win32\start.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_signal.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\misc\win32\utf8.c : \
+ ".\include\apr_lib.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\misc\unix\version.c : \
+ ".\include\apr_version.h"\
+
+
+.\mmap\unix\common.c : \
+ ".\include\apr_mmap.h"\
+
+
+.\mmap\win32\mmap.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_mmap.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\network_io\unix\inet_ntop.c : \
+ ".\include\apr_poll.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+
+
+.\network_io\unix\inet_pton.c : \
+ ".\include\apr_poll.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+
+
+.\network_io\unix\multicast.c : \
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_support.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+
+
+.\network_io\win32\sendrecv.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\network_io\unix\sockaddr.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+
+
+.\network_io\unix\socket_util.c : \
+ ".\include\apr_poll.h"\
+
+
+.\network_io\win32\sockets.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+
+
+.\network_io\win32\sockopt.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+
+
+.\passwd\apr_getpass.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_strings.h"\
+
+
+.\poll\unix\poll.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\unix\apr_arch_poll_private.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\poll\unix\pollcb.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\unix\apr_arch_poll_private.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\poll\unix\pollset.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\unix\apr_arch_poll_private.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\poll\unix\select.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\unix\apr_arch_poll_private.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\random\unix\apr_random.c : \
+ ".\include\apr_random.h"\
+
+
+.\random\unix\sha2.c : \
+ ".\random\unix\sha2.h"\
+
+
+.\random\unix\sha2_glue.c : \
+ ".\include\apr_random.h"\
+ ".\random\unix\sha2.h"\
+
+
+.\shmem\win32\shm.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\strings\apr_cpystrn.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_strings.h"\
+
+
+.\strings\apr_fnmatch.c : \
+ ".\include\apr_fnmatch.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_strings.h"\
+
+
+.\strings\apr_snprintf.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+
+
+.\strings\apr_strings.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_strings.h"\
+
+
+.\strings\apr_strnatcmp.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_strings.h"\
+
+
+.\strings\apr_strtok.c : \
+ ".\include\apr_strings.h"\
+
+
+.\tables\apr_hash.c : \
+ ".\include\apr_hash.h"\
+
+
+.\tables\apr_tables.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_strings.h"\
+
+
+.\threadproc\win32\proc.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\threadproc\win32\signals.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_signal.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\threadproc\win32\thread.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+
+
+.\threadproc\win32\threadpriv.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+
+
+.\time\win32\time.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+
+
+.\time\win32\timestr.c : \
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+
+
+.\user\win32\groupinfo.c : \
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+
+
+.\user\win32\userinfo.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+!IF "$(CFG)" == "apr - Win32 Release"
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug"
+
+!ELSEIF "$(CFG)" == "apr - Win32 Release9x"
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug9x"
+
+!ELSEIF "$(CFG)" == "apr - x64 Release"
+
+!ELSEIF "$(CFG)" == "apr - x64 Debug"
+
+!ENDIF
+
diff --git a/srclib/apr/apr.dsp b/srclib/apr/apr.dsp
index 1860c19c..82eda32c 100644
--- a/srclib/apr/apr.dsp
+++ b/srclib/apr/apr.dsp
@@ -416,6 +416,10 @@ SOURCE=.\passwd\apr_getpass.c
# PROP Default_Filter ""
# Begin Source File
+SOURCE=.\poll\unix\poll.c
+# End Source File
+# Begin Source File
+
SOURCE=.\poll\unix\pollcb.c
# End Source File
# Begin Source File
@@ -516,10 +520,6 @@ SOURCE=.\threadproc\win32\threadpriv.c
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\time\win32\access.c
-# End Source File
-# Begin Source File
-
SOURCE=.\time\win32\time.c
# End Source File
# Begin Source File
diff --git a/srclib/apr/apr.mak b/srclib/apr/apr.mak
new file mode 100644
index 00000000..818e77b4
--- /dev/null
+++ b/srclib/apr/apr.mak
@@ -0,0 +1,1779 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on apr.dsp
+!IF "$(CFG)" == ""
+CFG=apr - Win32 Release
+!MESSAGE No configuration specified. Defaulting to apr - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "apr - Win32 Release" && "$(CFG)" != "apr - Win32 Debug" && "$(CFG)" != "apr - Win32 Release9x" && "$(CFG)" != "apr - Win32 Debug9x" && "$(CFG)" != "apr - x64 Release" && "$(CFG)" != "apr - x64 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "apr.mak" CFG="apr - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "apr - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "apr - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE "apr - Win32 Release9x" (based on "Win32 (x86) Static Library")
+!MESSAGE "apr - Win32 Debug9x" (based on "Win32 (x86) Static Library")
+!MESSAGE "apr - x64 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "apr - x64 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "apr - Win32 Release"
+
+OUTDIR=.\LibR
+INTDIR=.\LibR
+# Begin Custom Macros
+OutDir=.\LibR
+# End Custom Macros
+
+ALL : "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\apr-1.idb"
+ -@erase "$(INTDIR)\apr-1.pdb"
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\buffer.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\poll.obj"
+ -@erase "$(INTDIR)\pollcb.obj"
+ -@erase "$(INTDIR)\pollset.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\socket_util.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\apr-1.lib"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "NDEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\apr-1" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\apr.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\apr-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_atomic.obj" \
+ "$(INTDIR)\dso.obj" \
+ "$(INTDIR)\buffer.obj" \
+ "$(INTDIR)\copy.obj" \
+ "$(INTDIR)\dir.obj" \
+ "$(INTDIR)\fileacc.obj" \
+ "$(INTDIR)\filedup.obj" \
+ "$(INTDIR)\filepath.obj" \
+ "$(INTDIR)\filepath_util.obj" \
+ "$(INTDIR)\filestat.obj" \
+ "$(INTDIR)\filesys.obj" \
+ "$(INTDIR)\flock.obj" \
+ "$(INTDIR)\fullrw.obj" \
+ "$(INTDIR)\mktemp.obj" \
+ "$(INTDIR)\open.obj" \
+ "$(INTDIR)\pipe.obj" \
+ "$(INTDIR)\readwrite.obj" \
+ "$(INTDIR)\seek.obj" \
+ "$(INTDIR)\tempdir.obj" \
+ "$(INTDIR)\proc_mutex.obj" \
+ "$(INTDIR)\thread_cond.obj" \
+ "$(INTDIR)\thread_mutex.obj" \
+ "$(INTDIR)\thread_rwlock.obj" \
+ "$(INTDIR)\apr_pools.obj" \
+ "$(INTDIR)\charset.obj" \
+ "$(INTDIR)\env.obj" \
+ "$(INTDIR)\errorcodes.obj" \
+ "$(INTDIR)\getopt.obj" \
+ "$(INTDIR)\internal.obj" \
+ "$(INTDIR)\misc.obj" \
+ "$(INTDIR)\otherchild.obj" \
+ "$(INTDIR)\rand.obj" \
+ "$(INTDIR)\start.obj" \
+ "$(INTDIR)\utf8.obj" \
+ "$(INTDIR)\version.obj" \
+ "$(INTDIR)\common.obj" \
+ "$(INTDIR)\mmap.obj" \
+ "$(INTDIR)\inet_ntop.obj" \
+ "$(INTDIR)\inet_pton.obj" \
+ "$(INTDIR)\multicast.obj" \
+ "$(INTDIR)\sendrecv.obj" \
+ "$(INTDIR)\sockaddr.obj" \
+ "$(INTDIR)\sockets.obj" \
+ "$(INTDIR)\socket_util.obj" \
+ "$(INTDIR)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.obj" \
+ "$(INTDIR)\poll.obj" \
+ "$(INTDIR)\pollcb.obj" \
+ "$(INTDIR)\pollset.obj" \
+ "$(INTDIR)\select.obj" \
+ "$(INTDIR)\apr_random.obj" \
+ "$(INTDIR)\sha2.obj" \
+ "$(INTDIR)\sha2_glue.obj" \
+ "$(INTDIR)\shm.obj" \
+ "$(INTDIR)\apr_cpystrn.obj" \
+ "$(INTDIR)\apr_fnmatch.obj" \
+ "$(INTDIR)\apr_snprintf.obj" \
+ "$(INTDIR)\apr_strings.obj" \
+ "$(INTDIR)\apr_strnatcmp.obj" \
+ "$(INTDIR)\apr_strtok.obj" \
+ "$(INTDIR)\apr_hash.obj" \
+ "$(INTDIR)\apr_tables.obj" \
+ "$(INTDIR)\proc.obj" \
+ "$(INTDIR)\signals.obj" \
+ "$(INTDIR)\thread.obj" \
+ "$(INTDIR)\threadpriv.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj"
+
+"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug"
+
+OUTDIR=.\LibD
+INTDIR=.\LibD
+# Begin Custom Macros
+OutDir=.\LibD
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\apr-1.idb"
+ -@erase "$(INTDIR)\apr-1.pdb"
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\buffer.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\poll.obj"
+ -@erase "$(INTDIR)\pollcb.obj"
+ -@erase "$(INTDIR)\pollset.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\socket_util.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\apr-1.lib"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\apr-1" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\apr.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\apr-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_atomic.obj" \
+ "$(INTDIR)\dso.obj" \
+ "$(INTDIR)\buffer.obj" \
+ "$(INTDIR)\copy.obj" \
+ "$(INTDIR)\dir.obj" \
+ "$(INTDIR)\fileacc.obj" \
+ "$(INTDIR)\filedup.obj" \
+ "$(INTDIR)\filepath.obj" \
+ "$(INTDIR)\filepath_util.obj" \
+ "$(INTDIR)\filestat.obj" \
+ "$(INTDIR)\filesys.obj" \
+ "$(INTDIR)\flock.obj" \
+ "$(INTDIR)\fullrw.obj" \
+ "$(INTDIR)\mktemp.obj" \
+ "$(INTDIR)\open.obj" \
+ "$(INTDIR)\pipe.obj" \
+ "$(INTDIR)\readwrite.obj" \
+ "$(INTDIR)\seek.obj" \
+ "$(INTDIR)\tempdir.obj" \
+ "$(INTDIR)\proc_mutex.obj" \
+ "$(INTDIR)\thread_cond.obj" \
+ "$(INTDIR)\thread_mutex.obj" \
+ "$(INTDIR)\thread_rwlock.obj" \
+ "$(INTDIR)\apr_pools.obj" \
+ "$(INTDIR)\charset.obj" \
+ "$(INTDIR)\env.obj" \
+ "$(INTDIR)\errorcodes.obj" \
+ "$(INTDIR)\getopt.obj" \
+ "$(INTDIR)\internal.obj" \
+ "$(INTDIR)\misc.obj" \
+ "$(INTDIR)\otherchild.obj" \
+ "$(INTDIR)\rand.obj" \
+ "$(INTDIR)\start.obj" \
+ "$(INTDIR)\utf8.obj" \
+ "$(INTDIR)\version.obj" \
+ "$(INTDIR)\common.obj" \
+ "$(INTDIR)\mmap.obj" \
+ "$(INTDIR)\inet_ntop.obj" \
+ "$(INTDIR)\inet_pton.obj" \
+ "$(INTDIR)\multicast.obj" \
+ "$(INTDIR)\sendrecv.obj" \
+ "$(INTDIR)\sockaddr.obj" \
+ "$(INTDIR)\sockets.obj" \
+ "$(INTDIR)\socket_util.obj" \
+ "$(INTDIR)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.obj" \
+ "$(INTDIR)\poll.obj" \
+ "$(INTDIR)\pollcb.obj" \
+ "$(INTDIR)\pollset.obj" \
+ "$(INTDIR)\select.obj" \
+ "$(INTDIR)\apr_random.obj" \
+ "$(INTDIR)\sha2.obj" \
+ "$(INTDIR)\sha2_glue.obj" \
+ "$(INTDIR)\shm.obj" \
+ "$(INTDIR)\apr_cpystrn.obj" \
+ "$(INTDIR)\apr_fnmatch.obj" \
+ "$(INTDIR)\apr_snprintf.obj" \
+ "$(INTDIR)\apr_strings.obj" \
+ "$(INTDIR)\apr_strnatcmp.obj" \
+ "$(INTDIR)\apr_strtok.obj" \
+ "$(INTDIR)\apr_hash.obj" \
+ "$(INTDIR)\apr_tables.obj" \
+ "$(INTDIR)\proc.obj" \
+ "$(INTDIR)\signals.obj" \
+ "$(INTDIR)\thread.obj" \
+ "$(INTDIR)\threadpriv.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj"
+
+"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "apr - Win32 Release9x"
+
+OUTDIR=.\9x\LibR
+INTDIR=.\9x\LibR
+# Begin Custom Macros
+OutDir=.\9x\LibR
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\apr-1.idb"
+ -@erase "$(INTDIR)\apr-1.pdb"
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\buffer.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\poll.obj"
+ -@erase "$(INTDIR)\pollcb.obj"
+ -@erase "$(INTDIR)\pollset.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\socket_util.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\apr-1.lib"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "NDEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\apr-1" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\apr.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\apr-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_atomic.obj" \
+ "$(INTDIR)\dso.obj" \
+ "$(INTDIR)\buffer.obj" \
+ "$(INTDIR)\copy.obj" \
+ "$(INTDIR)\dir.obj" \
+ "$(INTDIR)\fileacc.obj" \
+ "$(INTDIR)\filedup.obj" \
+ "$(INTDIR)\filepath.obj" \
+ "$(INTDIR)\filepath_util.obj" \
+ "$(INTDIR)\filestat.obj" \
+ "$(INTDIR)\filesys.obj" \
+ "$(INTDIR)\flock.obj" \
+ "$(INTDIR)\fullrw.obj" \
+ "$(INTDIR)\mktemp.obj" \
+ "$(INTDIR)\open.obj" \
+ "$(INTDIR)\pipe.obj" \
+ "$(INTDIR)\readwrite.obj" \
+ "$(INTDIR)\seek.obj" \
+ "$(INTDIR)\tempdir.obj" \
+ "$(INTDIR)\proc_mutex.obj" \
+ "$(INTDIR)\thread_cond.obj" \
+ "$(INTDIR)\thread_mutex.obj" \
+ "$(INTDIR)\thread_rwlock.obj" \
+ "$(INTDIR)\apr_pools.obj" \
+ "$(INTDIR)\charset.obj" \
+ "$(INTDIR)\env.obj" \
+ "$(INTDIR)\errorcodes.obj" \
+ "$(INTDIR)\getopt.obj" \
+ "$(INTDIR)\internal.obj" \
+ "$(INTDIR)\misc.obj" \
+ "$(INTDIR)\otherchild.obj" \
+ "$(INTDIR)\rand.obj" \
+ "$(INTDIR)\start.obj" \
+ "$(INTDIR)\utf8.obj" \
+ "$(INTDIR)\version.obj" \
+ "$(INTDIR)\common.obj" \
+ "$(INTDIR)\mmap.obj" \
+ "$(INTDIR)\inet_ntop.obj" \
+ "$(INTDIR)\inet_pton.obj" \
+ "$(INTDIR)\multicast.obj" \
+ "$(INTDIR)\sendrecv.obj" \
+ "$(INTDIR)\sockaddr.obj" \
+ "$(INTDIR)\sockets.obj" \
+ "$(INTDIR)\socket_util.obj" \
+ "$(INTDIR)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.obj" \
+ "$(INTDIR)\poll.obj" \
+ "$(INTDIR)\pollcb.obj" \
+ "$(INTDIR)\pollset.obj" \
+ "$(INTDIR)\select.obj" \
+ "$(INTDIR)\apr_random.obj" \
+ "$(INTDIR)\sha2.obj" \
+ "$(INTDIR)\sha2_glue.obj" \
+ "$(INTDIR)\shm.obj" \
+ "$(INTDIR)\apr_cpystrn.obj" \
+ "$(INTDIR)\apr_fnmatch.obj" \
+ "$(INTDIR)\apr_snprintf.obj" \
+ "$(INTDIR)\apr_strings.obj" \
+ "$(INTDIR)\apr_strnatcmp.obj" \
+ "$(INTDIR)\apr_strtok.obj" \
+ "$(INTDIR)\apr_hash.obj" \
+ "$(INTDIR)\apr_tables.obj" \
+ "$(INTDIR)\proc.obj" \
+ "$(INTDIR)\signals.obj" \
+ "$(INTDIR)\thread.obj" \
+ "$(INTDIR)\threadpriv.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj"
+
+"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug9x"
+
+OUTDIR=.\9x\LibD
+INTDIR=.\9x\LibD
+# Begin Custom Macros
+OutDir=.\9x\LibD
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\apr-1.idb"
+ -@erase "$(INTDIR)\apr-1.pdb"
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\buffer.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\poll.obj"
+ -@erase "$(INTDIR)\pollcb.obj"
+ -@erase "$(INTDIR)\pollset.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\socket_util.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\apr-1.lib"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\apr-1" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\apr.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\apr-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_atomic.obj" \
+ "$(INTDIR)\dso.obj" \
+ "$(INTDIR)\buffer.obj" \
+ "$(INTDIR)\copy.obj" \
+ "$(INTDIR)\dir.obj" \
+ "$(INTDIR)\fileacc.obj" \
+ "$(INTDIR)\filedup.obj" \
+ "$(INTDIR)\filepath.obj" \
+ "$(INTDIR)\filepath_util.obj" \
+ "$(INTDIR)\filestat.obj" \
+ "$(INTDIR)\filesys.obj" \
+ "$(INTDIR)\flock.obj" \
+ "$(INTDIR)\fullrw.obj" \
+ "$(INTDIR)\mktemp.obj" \
+ "$(INTDIR)\open.obj" \
+ "$(INTDIR)\pipe.obj" \
+ "$(INTDIR)\readwrite.obj" \
+ "$(INTDIR)\seek.obj" \
+ "$(INTDIR)\tempdir.obj" \
+ "$(INTDIR)\proc_mutex.obj" \
+ "$(INTDIR)\thread_cond.obj" \
+ "$(INTDIR)\thread_mutex.obj" \
+ "$(INTDIR)\thread_rwlock.obj" \
+ "$(INTDIR)\apr_pools.obj" \
+ "$(INTDIR)\charset.obj" \
+ "$(INTDIR)\env.obj" \
+ "$(INTDIR)\errorcodes.obj" \
+ "$(INTDIR)\getopt.obj" \
+ "$(INTDIR)\internal.obj" \
+ "$(INTDIR)\misc.obj" \
+ "$(INTDIR)\otherchild.obj" \
+ "$(INTDIR)\rand.obj" \
+ "$(INTDIR)\start.obj" \
+ "$(INTDIR)\utf8.obj" \
+ "$(INTDIR)\version.obj" \
+ "$(INTDIR)\common.obj" \
+ "$(INTDIR)\mmap.obj" \
+ "$(INTDIR)\inet_ntop.obj" \
+ "$(INTDIR)\inet_pton.obj" \
+ "$(INTDIR)\multicast.obj" \
+ "$(INTDIR)\sendrecv.obj" \
+ "$(INTDIR)\sockaddr.obj" \
+ "$(INTDIR)\sockets.obj" \
+ "$(INTDIR)\socket_util.obj" \
+ "$(INTDIR)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.obj" \
+ "$(INTDIR)\poll.obj" \
+ "$(INTDIR)\pollcb.obj" \
+ "$(INTDIR)\pollset.obj" \
+ "$(INTDIR)\select.obj" \
+ "$(INTDIR)\apr_random.obj" \
+ "$(INTDIR)\sha2.obj" \
+ "$(INTDIR)\sha2_glue.obj" \
+ "$(INTDIR)\shm.obj" \
+ "$(INTDIR)\apr_cpystrn.obj" \
+ "$(INTDIR)\apr_fnmatch.obj" \
+ "$(INTDIR)\apr_snprintf.obj" \
+ "$(INTDIR)\apr_strings.obj" \
+ "$(INTDIR)\apr_strnatcmp.obj" \
+ "$(INTDIR)\apr_strtok.obj" \
+ "$(INTDIR)\apr_hash.obj" \
+ "$(INTDIR)\apr_tables.obj" \
+ "$(INTDIR)\proc.obj" \
+ "$(INTDIR)\signals.obj" \
+ "$(INTDIR)\thread.obj" \
+ "$(INTDIR)\threadpriv.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj"
+
+"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "apr - x64 Release"
+
+OUTDIR=.\x64\LibR
+INTDIR=.\x64\LibR
+# Begin Custom Macros
+OutDir=.\x64\LibR
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\apr-1.idb"
+ -@erase "$(INTDIR)\apr-1.pdb"
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\buffer.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\poll.obj"
+ -@erase "$(INTDIR)\pollcb.obj"
+ -@erase "$(INTDIR)\pollset.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\socket_util.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\apr-1.lib"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "NDEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\apr-1" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\apr.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\apr-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_atomic.obj" \
+ "$(INTDIR)\dso.obj" \
+ "$(INTDIR)\buffer.obj" \
+ "$(INTDIR)\copy.obj" \
+ "$(INTDIR)\dir.obj" \
+ "$(INTDIR)\fileacc.obj" \
+ "$(INTDIR)\filedup.obj" \
+ "$(INTDIR)\filepath.obj" \
+ "$(INTDIR)\filepath_util.obj" \
+ "$(INTDIR)\filestat.obj" \
+ "$(INTDIR)\filesys.obj" \
+ "$(INTDIR)\flock.obj" \
+ "$(INTDIR)\fullrw.obj" \
+ "$(INTDIR)\mktemp.obj" \
+ "$(INTDIR)\open.obj" \
+ "$(INTDIR)\pipe.obj" \
+ "$(INTDIR)\readwrite.obj" \
+ "$(INTDIR)\seek.obj" \
+ "$(INTDIR)\tempdir.obj" \
+ "$(INTDIR)\proc_mutex.obj" \
+ "$(INTDIR)\thread_cond.obj" \
+ "$(INTDIR)\thread_mutex.obj" \
+ "$(INTDIR)\thread_rwlock.obj" \
+ "$(INTDIR)\apr_pools.obj" \
+ "$(INTDIR)\charset.obj" \
+ "$(INTDIR)\env.obj" \
+ "$(INTDIR)\errorcodes.obj" \
+ "$(INTDIR)\getopt.obj" \
+ "$(INTDIR)\internal.obj" \
+ "$(INTDIR)\misc.obj" \
+ "$(INTDIR)\otherchild.obj" \
+ "$(INTDIR)\rand.obj" \
+ "$(INTDIR)\start.obj" \
+ "$(INTDIR)\utf8.obj" \
+ "$(INTDIR)\version.obj" \
+ "$(INTDIR)\common.obj" \
+ "$(INTDIR)\mmap.obj" \
+ "$(INTDIR)\inet_ntop.obj" \
+ "$(INTDIR)\inet_pton.obj" \
+ "$(INTDIR)\multicast.obj" \
+ "$(INTDIR)\sendrecv.obj" \
+ "$(INTDIR)\sockaddr.obj" \
+ "$(INTDIR)\sockets.obj" \
+ "$(INTDIR)\socket_util.obj" \
+ "$(INTDIR)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.obj" \
+ "$(INTDIR)\poll.obj" \
+ "$(INTDIR)\pollcb.obj" \
+ "$(INTDIR)\pollset.obj" \
+ "$(INTDIR)\select.obj" \
+ "$(INTDIR)\apr_random.obj" \
+ "$(INTDIR)\sha2.obj" \
+ "$(INTDIR)\sha2_glue.obj" \
+ "$(INTDIR)\shm.obj" \
+ "$(INTDIR)\apr_cpystrn.obj" \
+ "$(INTDIR)\apr_fnmatch.obj" \
+ "$(INTDIR)\apr_snprintf.obj" \
+ "$(INTDIR)\apr_strings.obj" \
+ "$(INTDIR)\apr_strnatcmp.obj" \
+ "$(INTDIR)\apr_strtok.obj" \
+ "$(INTDIR)\apr_hash.obj" \
+ "$(INTDIR)\apr_tables.obj" \
+ "$(INTDIR)\proc.obj" \
+ "$(INTDIR)\signals.obj" \
+ "$(INTDIR)\thread.obj" \
+ "$(INTDIR)\threadpriv.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj"
+
+"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "apr - x64 Debug"
+
+OUTDIR=.\x64\LibD
+INTDIR=.\x64\LibD
+# Begin Custom Macros
+OutDir=.\x64\LibD
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\apr-1.idb"
+ -@erase "$(INTDIR)\apr-1.pdb"
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\buffer.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\poll.obj"
+ -@erase "$(INTDIR)\pollcb.obj"
+ -@erase "$(INTDIR)\pollset.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\socket_util.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\apr-1.lib"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\apr-1" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\apr.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\apr-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_atomic.obj" \
+ "$(INTDIR)\dso.obj" \
+ "$(INTDIR)\buffer.obj" \
+ "$(INTDIR)\copy.obj" \
+ "$(INTDIR)\dir.obj" \
+ "$(INTDIR)\fileacc.obj" \
+ "$(INTDIR)\filedup.obj" \
+ "$(INTDIR)\filepath.obj" \
+ "$(INTDIR)\filepath_util.obj" \
+ "$(INTDIR)\filestat.obj" \
+ "$(INTDIR)\filesys.obj" \
+ "$(INTDIR)\flock.obj" \
+ "$(INTDIR)\fullrw.obj" \
+ "$(INTDIR)\mktemp.obj" \
+ "$(INTDIR)\open.obj" \
+ "$(INTDIR)\pipe.obj" \
+ "$(INTDIR)\readwrite.obj" \
+ "$(INTDIR)\seek.obj" \
+ "$(INTDIR)\tempdir.obj" \
+ "$(INTDIR)\proc_mutex.obj" \
+ "$(INTDIR)\thread_cond.obj" \
+ "$(INTDIR)\thread_mutex.obj" \
+ "$(INTDIR)\thread_rwlock.obj" \
+ "$(INTDIR)\apr_pools.obj" \
+ "$(INTDIR)\charset.obj" \
+ "$(INTDIR)\env.obj" \
+ "$(INTDIR)\errorcodes.obj" \
+ "$(INTDIR)\getopt.obj" \
+ "$(INTDIR)\internal.obj" \
+ "$(INTDIR)\misc.obj" \
+ "$(INTDIR)\otherchild.obj" \
+ "$(INTDIR)\rand.obj" \
+ "$(INTDIR)\start.obj" \
+ "$(INTDIR)\utf8.obj" \
+ "$(INTDIR)\version.obj" \
+ "$(INTDIR)\common.obj" \
+ "$(INTDIR)\mmap.obj" \
+ "$(INTDIR)\inet_ntop.obj" \
+ "$(INTDIR)\inet_pton.obj" \
+ "$(INTDIR)\multicast.obj" \
+ "$(INTDIR)\sendrecv.obj" \
+ "$(INTDIR)\sockaddr.obj" \
+ "$(INTDIR)\sockets.obj" \
+ "$(INTDIR)\socket_util.obj" \
+ "$(INTDIR)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.obj" \
+ "$(INTDIR)\poll.obj" \
+ "$(INTDIR)\pollcb.obj" \
+ "$(INTDIR)\pollset.obj" \
+ "$(INTDIR)\select.obj" \
+ "$(INTDIR)\apr_random.obj" \
+ "$(INTDIR)\sha2.obj" \
+ "$(INTDIR)\sha2_glue.obj" \
+ "$(INTDIR)\shm.obj" \
+ "$(INTDIR)\apr_cpystrn.obj" \
+ "$(INTDIR)\apr_fnmatch.obj" \
+ "$(INTDIR)\apr_snprintf.obj" \
+ "$(INTDIR)\apr_strings.obj" \
+ "$(INTDIR)\apr_strnatcmp.obj" \
+ "$(INTDIR)\apr_strtok.obj" \
+ "$(INTDIR)\apr_hash.obj" \
+ "$(INTDIR)\apr_tables.obj" \
+ "$(INTDIR)\proc.obj" \
+ "$(INTDIR)\signals.obj" \
+ "$(INTDIR)\thread.obj" \
+ "$(INTDIR)\threadpriv.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj"
+
+"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("apr.dep")
+!INCLUDE "apr.dep"
+!ELSE
+!MESSAGE Warning: cannot find "apr.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "apr - Win32 Release" || "$(CFG)" == "apr - Win32 Debug" || "$(CFG)" == "apr - Win32 Release9x" || "$(CFG)" == "apr - Win32 Debug9x" || "$(CFG)" == "apr - x64 Release" || "$(CFG)" == "apr - x64 Debug"
+SOURCE=.\atomic\win32\apr_atomic.c
+
+"$(INTDIR)\apr_atomic.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\dso\win32\dso.c
+
+"$(INTDIR)\dso.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\buffer.c
+
+"$(INTDIR)\buffer.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\unix\copy.c
+
+"$(INTDIR)\copy.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\dir.c
+
+"$(INTDIR)\dir.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\unix\fileacc.c
+
+"$(INTDIR)\fileacc.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\filedup.c
+
+"$(INTDIR)\filedup.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\filepath.c
+
+"$(INTDIR)\filepath.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\unix\filepath_util.c
+
+"$(INTDIR)\filepath_util.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\filestat.c
+
+"$(INTDIR)\filestat.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\filesys.c
+
+"$(INTDIR)\filesys.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\flock.c
+
+"$(INTDIR)\flock.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\unix\fullrw.c
+
+"$(INTDIR)\fullrw.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\unix\mktemp.c
+
+"$(INTDIR)\mktemp.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\open.c
+
+"$(INTDIR)\open.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\pipe.c
+
+"$(INTDIR)\pipe.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\readwrite.c
+
+"$(INTDIR)\readwrite.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\seek.c
+
+"$(INTDIR)\seek.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\unix\tempdir.c
+
+"$(INTDIR)\tempdir.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\locks\win32\proc_mutex.c
+
+"$(INTDIR)\proc_mutex.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\locks\win32\thread_cond.c
+
+"$(INTDIR)\thread_cond.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\locks\win32\thread_mutex.c
+
+"$(INTDIR)\thread_mutex.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\locks\win32\thread_rwlock.c
+
+"$(INTDIR)\thread_rwlock.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\memory\unix\apr_pools.c
+
+"$(INTDIR)\apr_pools.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\win32\apr_app.c
+SOURCE=.\misc\win32\charset.c
+
+"$(INTDIR)\charset.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\win32\env.c
+
+"$(INTDIR)\env.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\unix\errorcodes.c
+
+"$(INTDIR)\errorcodes.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\unix\getopt.c
+
+"$(INTDIR)\getopt.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\win32\internal.c
+
+"$(INTDIR)\internal.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\win32\misc.c
+
+"$(INTDIR)\misc.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\unix\otherchild.c
+
+"$(INTDIR)\otherchild.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\win32\rand.c
+
+"$(INTDIR)\rand.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\win32\start.c
+
+"$(INTDIR)\start.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\win32\utf8.c
+
+"$(INTDIR)\utf8.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\unix\version.c
+
+"$(INTDIR)\version.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\mmap\unix\common.c
+
+"$(INTDIR)\common.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\mmap\win32\mmap.c
+
+"$(INTDIR)\mmap.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\unix\inet_ntop.c
+
+"$(INTDIR)\inet_ntop.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\unix\inet_pton.c
+
+"$(INTDIR)\inet_pton.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\unix\multicast.c
+
+"$(INTDIR)\multicast.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\win32\sendrecv.c
+
+"$(INTDIR)\sendrecv.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\unix\sockaddr.c
+
+"$(INTDIR)\sockaddr.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\unix\socket_util.c
+
+"$(INTDIR)\socket_util.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\win32\sockets.c
+
+"$(INTDIR)\sockets.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\win32\sockopt.c
+
+"$(INTDIR)\sockopt.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\passwd\apr_getpass.c
+
+"$(INTDIR)\apr_getpass.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\poll\unix\poll.c
+
+"$(INTDIR)\poll.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\poll\unix\pollcb.c
+
+"$(INTDIR)\pollcb.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\poll\unix\pollset.c
+
+"$(INTDIR)\pollset.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\poll\unix\select.c
+
+"$(INTDIR)\select.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\random\unix\apr_random.c
+
+"$(INTDIR)\apr_random.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\random\unix\sha2.c
+
+"$(INTDIR)\sha2.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\random\unix\sha2_glue.c
+
+"$(INTDIR)\sha2_glue.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\shmem\win32\shm.c
+
+"$(INTDIR)\shm.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\strings\apr_cpystrn.c
+
+"$(INTDIR)\apr_cpystrn.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\strings\apr_fnmatch.c
+
+"$(INTDIR)\apr_fnmatch.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\strings\apr_snprintf.c
+
+"$(INTDIR)\apr_snprintf.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\strings\apr_strings.c
+
+"$(INTDIR)\apr_strings.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\strings\apr_strnatcmp.c
+
+"$(INTDIR)\apr_strnatcmp.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\strings\apr_strtok.c
+
+"$(INTDIR)\apr_strtok.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\tables\apr_hash.c
+
+"$(INTDIR)\apr_hash.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\tables\apr_tables.c
+
+"$(INTDIR)\apr_tables.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\threadproc\win32\proc.c
+
+"$(INTDIR)\proc.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\threadproc\win32\signals.c
+
+"$(INTDIR)\signals.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\threadproc\win32\thread.c
+
+"$(INTDIR)\thread.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\threadproc\win32\threadpriv.c
+
+"$(INTDIR)\threadpriv.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\time\win32\time.c
+
+"$(INTDIR)\time.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\time\win32\timestr.c
+
+"$(INTDIR)\timestr.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\user\win32\groupinfo.c
+
+"$(INTDIR)\groupinfo.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\user\win32\userinfo.c
+
+"$(INTDIR)\userinfo.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\include\apr.hw
+
+!IF "$(CFG)" == "apr - Win32 Release"
+
+InputPath=.\include\apr.hw
+
+{$(INCLUDE)}"apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\include\apr.hw > .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug"
+
+InputPath=.\include\apr.hw
+
+{$(INCLUDE)}"apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\include\apr.hw > .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - Win32 Release9x"
+
+InputPath=.\include\apr.hw
+
+{$(INCLUDE)}"apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\include\apr.hw > .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug9x"
+
+InputPath=.\include\apr.hw
+
+{$(INCLUDE)}"apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\include\apr.hw > .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - x64 Release"
+
+InputPath=.\include\apr.hw
+
+{$(INCLUDE)}"apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\include\apr.hw > .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - x64 Debug"
+
+InputPath=.\include\apr.hw
+
+{$(INCLUDE)}"apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\include\apr.hw > .\include\apr.h
+<<
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/srclib/apr/atomic/win32/apr_atomic.c b/srclib/apr/atomic/win32/apr_atomic.c
index 973c679e..1ed7df89 100644
--- a/srclib/apr/atomic/win32/apr_atomic.c
+++ b/srclib/apr/atomic/win32/apr_atomic.c
@@ -54,7 +54,9 @@ APR_DECLARE(apr_uint32_t) apr_atomic_add32(volatile apr_uint32_t *mem, apr_uint3
}
/* Of course we want the 2's compliment of the unsigned value, val */
+#ifdef _MSC_VER
#pragma warning(disable: 4146)
+#endif
APR_DECLARE(void) apr_atomic_sub32(volatile apr_uint32_t *mem, apr_uint32_t val)
{
diff --git a/srclib/apr/build-outputs.mk b/srclib/apr/build-outputs.mk
index daba4a63..ef107da8 100644
--- a/srclib/apr/build-outputs.mk
+++ b/srclib/apr/build-outputs.mk
@@ -1,315 +1,314 @@
# DO NOT EDIT. AUTOMATICALLY GENERATED.
-passwd/apr_getpass.lo: passwd/apr_getpass.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
-strings/apr_cpystrn.lo: strings/apr_cpystrn.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
-strings/apr_strtok.lo: strings/apr_strtok.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_pools.h
-strings/apr_snprintf.lo: strings/apr_snprintf.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-strings/apr_strnatcmp.lo: strings/apr_strnatcmp.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
-strings/apr_fnmatch.lo: strings/apr_fnmatch.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_fnmatch.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-strings/apr_strings.lo: strings/apr_strings.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
-tables/apr_tables.lo: tables/apr_tables.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h include/apr_tables.h
-tables/apr_hash.lo: tables/apr_hash.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_thread_mutex.h include/apr_hash.h include/apr_pools.h
+passwd/apr_getpass.lo: passwd/apr_getpass.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
+strings/apr_cpystrn.lo: strings/apr_cpystrn.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
+strings/apr_fnmatch.lo: strings/apr_fnmatch.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_fnmatch.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+strings/apr_snprintf.lo: strings/apr_snprintf.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+strings/apr_strings.lo: strings/apr_strings.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
+strings/apr_strnatcmp.lo: strings/apr_strnatcmp.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
+strings/apr_strtok.lo: strings/apr_strtok.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
+tables/apr_hash.lo: tables/apr_hash.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_hash.h include/apr_pools.h include/apr_thread_mutex.h include/apr_want.h
+tables/apr_tables.lo: tables/apr_tables.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_want.h
-OBJECTS_all = passwd/apr_getpass.lo strings/apr_cpystrn.lo strings/apr_strtok.lo strings/apr_snprintf.lo strings/apr_strnatcmp.lo strings/apr_fnmatch.lo strings/apr_strings.lo tables/apr_tables.lo tables/apr_hash.lo
+OBJECTS_all = passwd/apr_getpass.lo strings/apr_cpystrn.lo strings/apr_fnmatch.lo strings/apr_snprintf.lo strings/apr_strings.lo strings/apr_strnatcmp.lo strings/apr_strtok.lo tables/apr_hash.lo tables/apr_tables.lo
-dso/unix/dso.lo: dso/unix/dso.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+dso/unix/dso.lo: dso/unix/dso.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
OBJECTS_dso_unix = dso/unix/dso.lo
-file_io/unix/mktemp.lo: file_io/unix/mktemp.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-file_io/unix/seek.lo: file_io/unix/seek.c .make.dirs
-file_io/unix/copy.lo: file_io/unix/copy.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-file_io/unix/filedup.lo: file_io/unix/filedup.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-file_io/unix/dir.lo: file_io/unix/dir.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+file_io/unix/buffer.lo: file_io/unix/buffer.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_thread_mutex.h include/apr_want.h
+file_io/unix/copy.lo: file_io/unix/copy.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/unix/dir.lo: file_io/unix/dir.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/unix/fileacc.lo: file_io/unix/fileacc.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
+file_io/unix/filedup.lo: file_io/unix/filedup.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/unix/filepath.lo: file_io/unix/filepath.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/unix/filepath_util.lo: file_io/unix/filepath_util.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_want.h
+file_io/unix/filestat.lo: file_io/unix/filestat.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
file_io/unix/flock.lo: file_io/unix/flock.c .make.dirs
-file_io/unix/buffer.lo: file_io/unix/buffer.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_thread_mutex.h include/apr_pools.h
-file_io/unix/filepath_util.lo: file_io/unix/filepath_util.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_pools.h include/apr_tables.h
-file_io/unix/readwrite.lo: file_io/unix/readwrite.c .make.dirs include/apr_support.h include/apr_allocator.h include/apr_network_io.h include/apr_general.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_time.h include/apr_pools.h
-file_io/unix/open.lo: file_io/unix/open.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_hash.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-file_io/unix/fileacc.lo: file_io/unix/fileacc.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.h include/apr_strings.h
-file_io/unix/tempdir.lo: file_io/unix/tempdir.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_env.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_thread_mutex.h include/apr_inherit.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-file_io/unix/pipe.lo: file_io/unix/pipe.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-file_io/unix/filepath.lo: file_io/unix/filepath.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-file_io/unix/filestat.lo: file_io/unix/filestat.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-file_io/unix/fullrw.lo: file_io/unix/fullrw.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-
-OBJECTS_file_io_unix = file_io/unix/mktemp.lo file_io/unix/seek.lo file_io/unix/copy.lo file_io/unix/filedup.lo file_io/unix/dir.lo file_io/unix/flock.lo file_io/unix/buffer.lo file_io/unix/filepath_util.lo file_io/unix/readwrite.lo file_io/unix/open.lo file_io/unix/fileacc.lo file_io/unix/tempdir.lo file_io/unix/pipe.lo file_io/unix/filepath.lo file_io/unix/filestat.lo file_io/unix/fullrw.lo
+file_io/unix/fullrw.lo: file_io/unix/fullrw.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/unix/mktemp.lo: file_io/unix/mktemp.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/unix/open.lo: file_io/unix/open.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_hash.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/unix/pipe.lo: file_io/unix/pipe.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/unix/readwrite.lo: file_io/unix/readwrite.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_strings.h include/apr_support.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/unix/seek.lo: file_io/unix/seek.c .make.dirs
+file_io/unix/tempdir.lo: file_io/unix/tempdir.c .make.dirs include/apr_allocator.h include/apr_env.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
-locks/unix/thread_rwlock.lo: locks/unix/thread_rwlock.c .make.dirs
-locks/unix/thread_mutex.lo: locks/unix/thread_mutex.c .make.dirs include/apr_want.h
-locks/unix/global_mutex.lo: locks/unix/global_mutex.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-locks/unix/proc_mutex.lo: locks/unix/proc_mutex.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_thread_mutex.h include/apr_strings.h include/apr_hash.h include/apr_pools.h
+OBJECTS_file_io_unix = file_io/unix/buffer.lo file_io/unix/copy.lo file_io/unix/dir.lo file_io/unix/fileacc.lo file_io/unix/filedup.lo file_io/unix/filepath.lo file_io/unix/filepath_util.lo file_io/unix/filestat.lo file_io/unix/flock.lo file_io/unix/fullrw.lo file_io/unix/mktemp.lo file_io/unix/open.lo file_io/unix/pipe.lo file_io/unix/readwrite.lo file_io/unix/seek.lo file_io/unix/tempdir.lo
+
+locks/unix/global_mutex.lo: locks/unix/global_mutex.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+locks/unix/proc_mutex.lo: locks/unix/proc_mutex.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_hash.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
locks/unix/thread_cond.lo: locks/unix/thread_cond.c .make.dirs
+locks/unix/thread_mutex.lo: locks/unix/thread_mutex.c .make.dirs include/apr_want.h
+locks/unix/thread_rwlock.lo: locks/unix/thread_rwlock.c .make.dirs
-OBJECTS_locks_unix = locks/unix/thread_rwlock.lo locks/unix/thread_mutex.lo locks/unix/global_mutex.lo locks/unix/proc_mutex.lo locks/unix/thread_cond.lo
+OBJECTS_locks_unix = locks/unix/global_mutex.lo locks/unix/proc_mutex.lo locks/unix/thread_cond.lo locks/unix/thread_mutex.lo locks/unix/thread_rwlock.lo
-memory/unix/apr_pools.lo: memory/unix/apr_pools.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_env.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_atomic.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_hash.h include/apr_lib.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+memory/unix/apr_pools.lo: memory/unix/apr_pools.c .make.dirs include/apr_allocator.h include/apr_atomic.h include/apr_dso.h include/apr_env.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_hash.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
OBJECTS_memory_unix = memory/unix/apr_pools.lo
-misc/unix/rand.lo: misc/unix/rand.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_thread_mutex.h include/apr_pools.h
-misc/unix/start.lo: misc/unix/start.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_signal.h include/apr_want.h include/apr_thread_mutex.h include/apr_atomic.h include/apr_pools.h
+misc/unix/charset.lo: misc/unix/charset.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+misc/unix/env.lo: misc/unix/env.c .make.dirs include/apr_allocator.h include/apr_env.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
+misc/unix/errorcodes.lo: misc/unix/errorcodes.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
+misc/unix/getopt.lo: misc/unix/getopt.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
misc/unix/otherchild.lo: misc/unix/otherchild.c .make.dirs
-misc/unix/getopt.lo: misc/unix/getopt.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
-misc/unix/env.lo: misc/unix/env.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_env.h include/apr_thread_mutex.h include/apr_pools.h
-misc/unix/version.lo: misc/unix/version.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_version.h include/apr_thread_mutex.h include/apr_pools.h
-misc/unix/charset.lo: misc/unix/charset.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-misc/unix/errorcodes.lo: misc/unix/errorcodes.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_dso.h include/apr_pools.h
+misc/unix/rand.lo: misc/unix/rand.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_thread_mutex.h include/apr_want.h
+misc/unix/start.lo: misc/unix/start.c .make.dirs include/apr_allocator.h include/apr_atomic.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_signal.h include/apr_thread_mutex.h include/apr_want.h
+misc/unix/version.lo: misc/unix/version.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_thread_mutex.h include/apr_version.h include/apr_want.h
-OBJECTS_misc_unix = misc/unix/rand.lo misc/unix/start.lo misc/unix/otherchild.lo misc/unix/getopt.lo misc/unix/env.lo misc/unix/version.lo misc/unix/charset.lo misc/unix/errorcodes.lo
+OBJECTS_misc_unix = misc/unix/charset.lo misc/unix/env.lo misc/unix/errorcodes.lo misc/unix/getopt.lo misc/unix/otherchild.lo misc/unix/rand.lo misc/unix/start.lo misc/unix/version.lo
-mmap/unix/common.lo: mmap/unix/common.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_ring.h include/apr_tables.h include/apr_time.h include/apr_pools.h include/apr_mmap.h
-mmap/unix/mmap.lo: mmap/unix/mmap.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_ring.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h include/apr_mmap.h
+mmap/unix/common.lo: mmap/unix/common.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_mmap.h include/apr_pools.h include/apr_ring.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+mmap/unix/mmap.lo: mmap/unix/mmap.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_mmap.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_ring.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
OBJECTS_mmap_unix = mmap/unix/common.lo mmap/unix/mmap.lo
-network_io/unix/socket_util.lo: network_io/unix/socket_util.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_poll.h include/apr_time.h include/apr_pools.h
-network_io/unix/inet_ntop.lo: network_io/unix/inet_ntop.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.h include/apr_strings.h
+network_io/unix/inet_ntop.lo: network_io/unix/inet_ntop.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
network_io/unix/inet_pton.lo: network_io/unix/inet_pton.c .make.dirs
-network_io/unix/sockets.lo: network_io/unix/sockets.c .make.dirs include/apr_support.h include/apr_allocator.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_general.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-network_io/unix/sockaddr.lo: network_io/unix/sockaddr.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
-network_io/unix/multicast.lo: network_io/unix/multicast.c .make.dirs include/apr_support.h include/apr_allocator.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_general.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-network_io/unix/sockopt.lo: network_io/unix/sockopt.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.h include/apr_strings.h
-network_io/unix/sendrecv.lo: network_io/unix/sendrecv.c .make.dirs include/apr_support.h include/apr_allocator.h include/apr_user.h include/apr_network_io.h include/apr_general.h include/apr_inherit.h include/apr_file_info.h include/apr_errno.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-
-OBJECTS_network_io_unix = network_io/unix/socket_util.lo network_io/unix/inet_ntop.lo network_io/unix/inet_pton.lo network_io/unix/sockets.lo network_io/unix/sockaddr.lo network_io/unix/multicast.lo network_io/unix/sockopt.lo network_io/unix/sendrecv.lo
-
-poll/unix/pollcb.lo: poll/unix/pollcb.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_poll.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-poll/unix/port.lo: poll/unix/port.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_atomic.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_poll.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-poll/unix/select.lo: poll/unix/select.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_poll.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-poll/unix/epoll.lo: poll/unix/epoll.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_poll.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-poll/unix/pollset.lo: poll/unix/pollset.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_poll.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-poll/unix/kqueue.lo: poll/unix/kqueue.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_poll.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-poll/unix/poll.lo: poll/unix/poll.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_poll.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-
-OBJECTS_poll_unix = poll/unix/pollcb.lo poll/unix/port.lo poll/unix/select.lo poll/unix/epoll.lo poll/unix/pollset.lo poll/unix/kqueue.lo poll/unix/poll.lo
-
-random/unix/apr_random.lo: random/unix/apr_random.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_random.h include/apr_time.h include/apr_pools.h
+network_io/unix/multicast.lo: network_io/unix/multicast.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_support.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+network_io/unix/sendrecv.lo: network_io/unix/sendrecv.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_support.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+network_io/unix/sockaddr.lo: network_io/unix/sockaddr.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
+network_io/unix/socket_util.lo: network_io/unix/socket_util.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+network_io/unix/sockets.lo: network_io/unix/sockets.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_support.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+network_io/unix/sockopt.lo: network_io/unix/sockopt.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
+
+OBJECTS_network_io_unix = network_io/unix/inet_ntop.lo network_io/unix/inet_pton.lo network_io/unix/multicast.lo network_io/unix/sendrecv.lo network_io/unix/sockaddr.lo network_io/unix/socket_util.lo network_io/unix/sockets.lo network_io/unix/sockopt.lo
+
+poll/unix/epoll.lo: poll/unix/epoll.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+poll/unix/kqueue.lo: poll/unix/kqueue.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+poll/unix/poll.lo: poll/unix/poll.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+poll/unix/pollcb.lo: poll/unix/pollcb.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+poll/unix/pollset.lo: poll/unix/pollset.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+poll/unix/port.lo: poll/unix/port.c .make.dirs include/apr_allocator.h include/apr_atomic.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+poll/unix/select.lo: poll/unix/select.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+
+OBJECTS_poll_unix = poll/unix/epoll.lo poll/unix/kqueue.lo poll/unix/poll.lo poll/unix/pollcb.lo poll/unix/pollset.lo poll/unix/port.lo poll/unix/select.lo
+
+random/unix/apr_random.lo: random/unix/apr_random.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_random.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
random/unix/sha2.lo: random/unix/sha2.c .make.dirs
-random/unix/sha2_glue.lo: random/unix/sha2_glue.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_random.h include/apr_thread_proc.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+random/unix/sha2_glue.lo: random/unix/sha2_glue.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_random.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
OBJECTS_random_unix = random/unix/apr_random.lo random/unix/sha2.lo random/unix/sha2_glue.lo
-shmem/unix/shm.lo: shmem/unix/shm.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_strings.h include/apr_thread_mutex.h include/apr_pools.h
+shmem/unix/shm.lo: shmem/unix/shm.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_user.h include/apr_want.h
OBJECTS_shmem_unix = shmem/unix/shm.lo
-support/unix/waitio.lo: support/unix/waitio.c .make.dirs include/apr_support.h include/apr_allocator.h include/apr_network_io.h include/apr_general.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_poll.h include/apr_time.h include/apr_pools.h
+support/unix/waitio.lo: support/unix/waitio.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_support.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
OBJECTS_support_unix = support/unix/waitio.lo
+threadproc/unix/proc.lo: threadproc/unix/proc.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_random.h include/apr_shm.h include/apr_signal.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
threadproc/unix/procsup.lo: threadproc/unix/procsup.c .make.dirs
-threadproc/unix/threadpriv.lo: threadproc/unix/threadpriv.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-threadproc/unix/proc.lo: threadproc/unix/proc.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_signal.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_proc_mutex.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_random.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-threadproc/unix/thread.lo: threadproc/unix/thread.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-threadproc/unix/signals.lo: threadproc/unix/signals.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_signal.h include/apr_strings.h include/apr_want.h include/apr_thread_mutex.h include/apr_pools.h
+threadproc/unix/signals.lo: threadproc/unix/signals.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_signal.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
+threadproc/unix/thread.lo: threadproc/unix/thread.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+threadproc/unix/threadpriv.lo: threadproc/unix/threadpriv.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_threadproc_unix = threadproc/unix/procsup.lo threadproc/unix/threadpriv.lo threadproc/unix/proc.lo threadproc/unix/thread.lo threadproc/unix/signals.lo
+OBJECTS_threadproc_unix = threadproc/unix/proc.lo threadproc/unix/procsup.lo threadproc/unix/signals.lo threadproc/unix/thread.lo threadproc/unix/threadpriv.lo
-time/unix/timestr.lo: time/unix/timestr.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-time/unix/time.lo: time/unix/time.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+time/unix/time.lo: time/unix/time.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+time/unix/timestr.lo: time/unix/timestr.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_time_unix = time/unix/timestr.lo time/unix/time.lo
+OBJECTS_time_unix = time/unix/time.lo time/unix/timestr.lo
-user/unix/userinfo.lo: user/unix/userinfo.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-user/unix/groupinfo.lo: user/unix/groupinfo.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+user/unix/groupinfo.lo: user/unix/groupinfo.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+user/unix/userinfo.lo: user/unix/userinfo.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_user_unix = user/unix/userinfo.lo user/unix/groupinfo.lo
+OBJECTS_user_unix = user/unix/groupinfo.lo user/unix/userinfo.lo
-atomic/unix/mutex.lo: atomic/unix/mutex.c .make.dirs
-atomic/unix/solaris.lo: atomic/unix/solaris.c .make.dirs
-atomic/unix/ia32.lo: atomic/unix/ia32.c .make.dirs
-atomic/unix/s390.lo: atomic/unix/s390.c .make.dirs
atomic/unix/builtins.lo: atomic/unix/builtins.c .make.dirs
+atomic/unix/ia32.lo: atomic/unix/ia32.c .make.dirs
+atomic/unix/mutex.lo: atomic/unix/mutex.c .make.dirs
atomic/unix/ppc.lo: atomic/unix/ppc.c .make.dirs
+atomic/unix/s390.lo: atomic/unix/s390.c .make.dirs
+atomic/unix/solaris.lo: atomic/unix/solaris.c .make.dirs
-OBJECTS_atomic_unix = atomic/unix/mutex.lo atomic/unix/solaris.lo atomic/unix/ia32.lo atomic/unix/s390.lo atomic/unix/builtins.lo atomic/unix/ppc.lo
+OBJECTS_atomic_unix = atomic/unix/builtins.lo atomic/unix/ia32.lo atomic/unix/mutex.lo atomic/unix/ppc.lo atomic/unix/s390.lo atomic/unix/solaris.lo
-OBJECTS_unix = $(OBJECTS_all) $(OBJECTS_dso_unix) $(OBJECTS_file_io_unix) $(OBJECTS_locks_unix) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_unix) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_unix) $(OBJECTS_support_unix) $(OBJECTS_threadproc_unix) $(OBJECTS_time_unix) $(OBJECTS_user_unix) $(OBJECTS_atomic_unix)
+OBJECTS_unix = $(OBJECTS_all) $(OBJECTS_atomic_unix) $(OBJECTS_dso_unix) $(OBJECTS_file_io_unix) $(OBJECTS_locks_unix) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_unix) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_unix) $(OBJECTS_support_unix) $(OBJECTS_threadproc_unix) $(OBJECTS_time_unix) $(OBJECTS_user_unix)
-dso/aix/dso.lo: dso/aix/dso.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+dso/aix/dso.lo: dso/aix/dso.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
OBJECTS_dso_aix = dso/aix/dso.lo
-OBJECTS_aix = $(OBJECTS_all) $(OBJECTS_dso_aix) $(OBJECTS_file_io_unix) $(OBJECTS_locks_unix) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_unix) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_unix) $(OBJECTS_support_unix) $(OBJECTS_threadproc_unix) $(OBJECTS_time_unix) $(OBJECTS_user_unix) $(OBJECTS_atomic_unix)
+OBJECTS_aix = $(OBJECTS_all) $(OBJECTS_atomic_unix) $(OBJECTS_dso_aix) $(OBJECTS_file_io_unix) $(OBJECTS_locks_unix) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_unix) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_unix) $(OBJECTS_support_unix) $(OBJECTS_threadproc_unix) $(OBJECTS_time_unix) $(OBJECTS_user_unix)
-dso/beos/dso.lo: dso/beos/dso.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+dso/beos/dso.lo: dso/beos/dso.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
OBJECTS_dso_beos = dso/beos/dso.lo
-locks/beos/thread_rwlock.lo: locks/beos/thread_rwlock.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-locks/beos/thread_mutex.lo: locks/beos/thread_mutex.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-locks/beos/proc_mutex.lo: locks/beos/proc_mutex.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-locks/beos/thread_cond.lo: locks/beos/thread_cond.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+locks/beos/proc_mutex.lo: locks/beos/proc_mutex.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+locks/beos/thread_cond.lo: locks/beos/thread_cond.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+locks/beos/thread_mutex.lo: locks/beos/thread_mutex.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+locks/beos/thread_rwlock.lo: locks/beos/thread_rwlock.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_locks_beos = locks/beos/thread_rwlock.lo locks/beos/thread_mutex.lo locks/beos/proc_mutex.lo locks/beos/thread_cond.lo
+OBJECTS_locks_beos = locks/beos/proc_mutex.lo locks/beos/thread_cond.lo locks/beos/thread_mutex.lo locks/beos/thread_rwlock.lo
+network_io/beos/sendrecv.lo: network_io/beos/sendrecv.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_thread_mutex.h include/apr_time.h include/apr_want.h
network_io/beos/socketcommon.lo: network_io/beos/socketcommon.c .make.dirs
-network_io/beos/sendrecv.lo: network_io/beos/sendrecv.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_time.h include/apr_pools.h
-OBJECTS_network_io_beos = network_io/beos/socketcommon.lo network_io/beos/sendrecv.lo
+OBJECTS_network_io_beos = network_io/beos/sendrecv.lo network_io/beos/socketcommon.lo
-shmem/beos/shm.lo: shmem/beos/shm.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+shmem/beos/shm.lo: shmem/beos/shm.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
OBJECTS_shmem_beos = shmem/beos/shm.lo
+threadproc/beos/apr_proc_stub.lo: threadproc/beos/apr_proc_stub.c .make.dirs
+threadproc/beos/proc.lo: threadproc/beos/proc.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
+threadproc/beos/thread.lo: threadproc/beos/thread.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
threadproc/beos/threadpriv.lo: threadproc/beos/threadpriv.c .make.dirs
-threadproc/beos/proc.lo: threadproc/beos/proc.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.h include/apr_strings.h
threadproc/beos/threadproc_common.lo: threadproc/beos/threadproc_common.c .make.dirs
-threadproc/beos/thread.lo: threadproc/beos/thread.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-threadproc/beos/apr_proc_stub.lo: threadproc/beos/apr_proc_stub.c .make.dirs
-OBJECTS_threadproc_beos = threadproc/beos/threadpriv.lo threadproc/beos/proc.lo threadproc/beos/threadproc_common.lo threadproc/beos/thread.lo threadproc/beos/apr_proc_stub.lo
+OBJECTS_threadproc_beos = threadproc/beos/apr_proc_stub.lo threadproc/beos/proc.lo threadproc/beos/thread.lo threadproc/beos/threadpriv.lo threadproc/beos/threadproc_common.lo
-OBJECTS_beos = $(OBJECTS_all) $(OBJECTS_dso_beos) $(OBJECTS_file_io_unix) $(OBJECTS_locks_beos) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_beos) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_beos) $(OBJECTS_support_unix) $(OBJECTS_threadproc_beos) $(OBJECTS_time_unix) $(OBJECTS_user_unix) $(OBJECTS_atomic_unix)
+OBJECTS_beos = $(OBJECTS_all) $(OBJECTS_atomic_unix) $(OBJECTS_dso_beos) $(OBJECTS_file_io_unix) $(OBJECTS_locks_beos) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_beos) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_beos) $(OBJECTS_support_unix) $(OBJECTS_threadproc_beos) $(OBJECTS_time_unix) $(OBJECTS_user_unix)
-dso/os2/dso.lo: dso/os2/dso.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+dso/os2/dso.lo: dso/os2/dso.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
OBJECTS_dso_os2 = dso/os2/dso.lo
-file_io/os2/mktemp.lo: file_io/os2/mktemp.c .make.dirs
-file_io/os2/seek.lo: file_io/os2/seek.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+file_io/os2/buffer.lo: file_io/os2/buffer.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_thread_mutex.h include/apr_want.h
file_io/os2/copy.lo: file_io/os2/copy.c .make.dirs
-file_io/os2/maperrorcode.lo: file_io/os2/maperrorcode.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-file_io/os2/filedup.lo: file_io/os2/filedup.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-file_io/os2/dir.lo: file_io/os2/dir.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-file_io/os2/flock.lo: file_io/os2/flock.c .make.dirs
-file_io/os2/buffer.lo: file_io/os2/buffer.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.h
-file_io/os2/filepath_util.lo: file_io/os2/filepath_util.c .make.dirs
-file_io/os2/readwrite.lo: file_io/os2/readwrite.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-file_io/os2/open.lo: file_io/os2/open.c .make.dirs include/apr_allocator.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_shm.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_dso.h include/apr_proc_mutex.h include/apr_lib.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+file_io/os2/dir.lo: file_io/os2/dir.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/os2/dir_make_recurse.lo: file_io/os2/dir_make_recurse.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
file_io/os2/fileacc.lo: file_io/os2/fileacc.c .make.dirs
-file_io/os2/tempdir.lo: file_io/os2/tempdir.c .make.dirs
-file_io/os2/pipe.lo: file_io/os2/pipe.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+file_io/os2/filedup.lo: file_io/os2/filedup.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
file_io/os2/filepath.lo: file_io/os2/filepath.c .make.dirs
-file_io/os2/dir_make_recurse.lo: file_io/os2/dir_make_recurse.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-file_io/os2/filesys.lo: file_io/os2/filesys.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
-file_io/os2/filestat.lo: file_io/os2/filestat.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+file_io/os2/filepath_util.lo: file_io/os2/filepath_util.c .make.dirs
+file_io/os2/filestat.lo: file_io/os2/filestat.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/os2/filesys.lo: file_io/os2/filesys.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
+file_io/os2/flock.lo: file_io/os2/flock.c .make.dirs
file_io/os2/fullrw.lo: file_io/os2/fullrw.c .make.dirs
+file_io/os2/maperrorcode.lo: file_io/os2/maperrorcode.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/os2/mktemp.lo: file_io/os2/mktemp.c .make.dirs
+file_io/os2/open.lo: file_io/os2/open.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/os2/pipe.lo: file_io/os2/pipe.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/os2/readwrite.lo: file_io/os2/readwrite.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/os2/seek.lo: file_io/os2/seek.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_lib.h include/apr_pools.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/os2/tempdir.lo: file_io/os2/tempdir.c .make.dirs
-OBJECTS_file_io_os2 = file_io/os2/mktemp.lo file_io/os2/seek.lo file_io/os2/copy.lo file_io/os2/maperrorcode.lo file_io/os2/filedup.lo file_io/os2/dir.lo file_io/os2/flock.lo file_io/os2/buffer.lo file_io/os2/filepath_util.lo file_io/os2/readwrite.lo file_io/os2/open.lo file_io/os2/fileacc.lo file_io/os2/tempdir.lo file_io/os2/pipe.lo file_io/os2/filepath.lo file_io/os2/dir_make_recurse.lo file_io/os2/filesys.lo file_io/os2/filestat.lo file_io/os2/fullrw.lo
+OBJECTS_file_io_os2 = file_io/os2/buffer.lo file_io/os2/copy.lo file_io/os2/dir.lo file_io/os2/dir_make_recurse.lo file_io/os2/fileacc.lo file_io/os2/filedup.lo file_io/os2/filepath.lo file_io/os2/filepath_util.lo file_io/os2/filestat.lo file_io/os2/filesys.lo file_io/os2/flock.lo file_io/os2/fullrw.lo file_io/os2/maperrorcode.lo file_io/os2/mktemp.lo file_io/os2/open.lo file_io/os2/pipe.lo file_io/os2/readwrite.lo file_io/os2/seek.lo file_io/os2/tempdir.lo
-locks/os2/thread_rwlock.lo: locks/os2/thread_rwlock.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-locks/os2/thread_mutex.lo: locks/os2/thread_mutex.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-locks/os2/proc_mutex.lo: locks/os2/proc_mutex.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-locks/os2/thread_cond.lo: locks/os2/thread_cond.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+locks/os2/proc_mutex.lo: locks/os2/proc_mutex.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+locks/os2/thread_cond.lo: locks/os2/thread_cond.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+locks/os2/thread_mutex.lo: locks/os2/thread_mutex.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+locks/os2/thread_rwlock.lo: locks/os2/thread_rwlock.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_locks_os2 = locks/os2/thread_rwlock.lo locks/os2/thread_mutex.lo locks/os2/proc_mutex.lo locks/os2/thread_cond.lo
+OBJECTS_locks_os2 = locks/os2/proc_mutex.lo locks/os2/thread_cond.lo locks/os2/thread_mutex.lo locks/os2/thread_rwlock.lo
-network_io/os2/socket_util.lo: network_io/os2/socket_util.c .make.dirs
network_io/os2/inet_ntop.lo: network_io/os2/inet_ntop.c .make.dirs
network_io/os2/inet_pton.lo: network_io/os2/inet_pton.c .make.dirs
-network_io/os2/sendrecv_udp.lo: network_io/os2/sendrecv_udp.c .make.dirs include/apr_support.h include/apr_general.h include/apr_network_io.h include/apr_inherit.h include/apr_file_info.h include/apr_allocator.h include/apr_thread_mutex.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_lib.h include/apr_time.h include/apr_pools.h
-network_io/os2/os2calls.lo: network_io/os2/os2calls.c .make.dirs include/apr_allocator.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_shm.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_dso.h include/apr_proc_mutex.h include/apr_lib.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-network_io/os2/sockets.lo: network_io/os2/sockets.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+network_io/os2/os2calls.lo: network_io/os2/os2calls.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+network_io/os2/sendrecv.lo: network_io/os2/sendrecv.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+network_io/os2/sendrecv_udp.lo: network_io/os2/sendrecv_udp.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_support.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
network_io/os2/sockaddr.lo: network_io/os2/sockaddr.c .make.dirs
-network_io/os2/sockopt.lo: network_io/os2/sockopt.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-network_io/os2/sendrecv.lo: network_io/os2/sendrecv.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+network_io/os2/socket_util.lo: network_io/os2/socket_util.c .make.dirs
+network_io/os2/sockets.lo: network_io/os2/sockets.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+network_io/os2/sockopt.lo: network_io/os2/sockopt.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_network_io_os2 = network_io/os2/socket_util.lo network_io/os2/inet_ntop.lo network_io/os2/inet_pton.lo network_io/os2/sendrecv_udp.lo network_io/os2/os2calls.lo network_io/os2/sockets.lo network_io/os2/sockaddr.lo network_io/os2/sockopt.lo network_io/os2/sendrecv.lo
+OBJECTS_network_io_os2 = network_io/os2/inet_ntop.lo network_io/os2/inet_pton.lo network_io/os2/os2calls.lo network_io/os2/sendrecv.lo network_io/os2/sendrecv_udp.lo network_io/os2/sockaddr.lo network_io/os2/socket_util.lo network_io/os2/sockets.lo network_io/os2/sockopt.lo
-poll/os2/pollset.lo: poll/os2/pollset.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_poll.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-poll/os2/poll.lo: poll/os2/poll.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_poll.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+poll/os2/poll.lo: poll/os2/poll.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+poll/os2/pollset.lo: poll/os2/pollset.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_poll_os2 = poll/os2/pollset.lo poll/os2/poll.lo
+OBJECTS_poll_os2 = poll/os2/poll.lo poll/os2/pollset.lo
-shmem/os2/shm.lo: shmem/os2/shm.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+shmem/os2/shm.lo: shmem/os2/shm.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
OBJECTS_shmem_os2 = shmem/os2/shm.lo
-threadproc/os2/threadpriv.lo: threadproc/os2/threadpriv.c .make.dirs include/apr_allocator.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_shm.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_dso.h include/apr_proc_mutex.h include/apr_lib.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-threadproc/os2/proc.lo: threadproc/os2/proc.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_signal.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_proc_mutex.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-threadproc/os2/thread.lo: threadproc/os2/thread.c .make.dirs include/apr_allocator.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_shm.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_dso.h include/apr_proc_mutex.h include/apr_lib.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+threadproc/os2/proc.lo: threadproc/os2/proc.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_signal.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
threadproc/os2/signals.lo: threadproc/os2/signals.c .make.dirs
+threadproc/os2/thread.lo: threadproc/os2/thread.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+threadproc/os2/threadpriv.lo: threadproc/os2/threadpriv.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_threadproc_os2 = threadproc/os2/threadpriv.lo threadproc/os2/proc.lo threadproc/os2/thread.lo threadproc/os2/signals.lo
+OBJECTS_threadproc_os2 = threadproc/os2/proc.lo threadproc/os2/signals.lo threadproc/os2/thread.lo threadproc/os2/threadpriv.lo
-OBJECTS_os2 = $(OBJECTS_all) $(OBJECTS_dso_os2) $(OBJECTS_file_io_os2) $(OBJECTS_locks_os2) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_os2) $(OBJECTS_poll_os2) $(OBJECTS_random_unix) $(OBJECTS_shmem_os2) $(OBJECTS_support_unix) $(OBJECTS_threadproc_os2) $(OBJECTS_time_unix) $(OBJECTS_user_unix) $(OBJECTS_atomic_unix)
+OBJECTS_os2 = $(OBJECTS_all) $(OBJECTS_atomic_unix) $(OBJECTS_dso_os2) $(OBJECTS_file_io_os2) $(OBJECTS_locks_os2) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_os2) $(OBJECTS_poll_os2) $(OBJECTS_random_unix) $(OBJECTS_shmem_os2) $(OBJECTS_support_unix) $(OBJECTS_threadproc_os2) $(OBJECTS_time_unix) $(OBJECTS_user_unix)
-dso/os390/dso.lo: dso/os390/dso.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+dso/os390/dso.lo: dso/os390/dso.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
OBJECTS_dso_os390 = dso/os390/dso.lo
-atomic/os390/atomic.lo: atomic/os390/atomic.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_atomic.h include/apr_pools.h
+atomic/os390/atomic.lo: atomic/os390/atomic.c .make.dirs include/apr_allocator.h include/apr_atomic.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_thread_mutex.h include/apr_want.h
OBJECTS_atomic_os390 = atomic/os390/atomic.lo
-OBJECTS_os390 = $(OBJECTS_all) $(OBJECTS_dso_os390) $(OBJECTS_file_io_unix) $(OBJECTS_locks_unix) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_unix) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_unix) $(OBJECTS_support_unix) $(OBJECTS_threadproc_unix) $(OBJECTS_time_unix) $(OBJECTS_user_unix) $(OBJECTS_atomic_os390)
+OBJECTS_os390 = $(OBJECTS_all) $(OBJECTS_atomic_os390) $(OBJECTS_dso_os390) $(OBJECTS_file_io_unix) $(OBJECTS_locks_unix) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_unix) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_unix) $(OBJECTS_support_unix) $(OBJECTS_threadproc_unix) $(OBJECTS_time_unix) $(OBJECTS_user_unix)
-dso/win32/dso.lo: dso/win32/dso.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.h include/apr_strings.h
+dso/win32/dso.lo: dso/win32/dso.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
OBJECTS_dso_win32 = dso/win32/dso.lo
-file_io/win32/seek.lo: file_io/win32/seek.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-file_io/win32/filedup.lo: file_io/win32/filedup.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-file_io/win32/dir.lo: file_io/win32/dir.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+file_io/win32/buffer.lo: file_io/win32/buffer.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_thread_mutex.h include/apr_want.h
+file_io/win32/dir.lo: file_io/win32/dir.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/win32/filedup.lo: file_io/win32/filedup.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/win32/filepath.lo: file_io/win32/filepath.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
+file_io/win32/filestat.lo: file_io/win32/filestat.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/win32/filesys.lo: file_io/win32/filesys.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
file_io/win32/flock.lo: file_io/win32/flock.c .make.dirs
-file_io/win32/buffer.lo: file_io/win32/buffer.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.h
-file_io/win32/readwrite.lo: file_io/win32/readwrite.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-file_io/win32/open.lo: file_io/win32/open.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-file_io/win32/pipe.lo: file_io/win32/pipe.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-file_io/win32/filepath.lo: file_io/win32/filepath.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
-file_io/win32/filesys.lo: file_io/win32/filesys.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.h include/apr_strings.h
-file_io/win32/filestat.lo: file_io/win32/filestat.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+file_io/win32/open.lo: file_io/win32/open.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/win32/pipe.lo: file_io/win32/pipe.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/win32/readwrite.lo: file_io/win32/readwrite.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/win32/seek.lo: file_io/win32/seek.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_file_io_win32 = file_io/win32/seek.lo file_io/win32/filedup.lo file_io/win32/dir.lo file_io/win32/flock.lo file_io/win32/buffer.lo file_io/win32/readwrite.lo file_io/win32/open.lo file_io/win32/pipe.lo file_io/win32/filepath.lo file_io/win32/filesys.lo file_io/win32/filestat.lo file_io/unix/copy.lo file_io/unix/fileacc.lo file_io/unix/filepath_util.lo file_io/unix/fullrw.lo file_io/unix/mktemp.lo file_io/unix/tempdir.lo
+OBJECTS_file_io_win32 = file_io/unix/copy.lo file_io/unix/fileacc.lo file_io/unix/filepath_util.lo file_io/unix/fullrw.lo file_io/unix/mktemp.lo file_io/unix/tempdir.lo file_io/win32/buffer.lo file_io/win32/dir.lo file_io/win32/filedup.lo file_io/win32/filepath.lo file_io/win32/filestat.lo file_io/win32/filesys.lo file_io/win32/flock.lo file_io/win32/open.lo file_io/win32/pipe.lo file_io/win32/readwrite.lo file_io/win32/seek.lo
-locks/win32/thread_rwlock.lo: locks/win32/thread_rwlock.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-locks/win32/thread_mutex.lo: locks/win32/thread_mutex.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-locks/win32/proc_mutex.lo: locks/win32/proc_mutex.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-locks/win32/thread_cond.lo: locks/win32/thread_cond.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+locks/win32/proc_mutex.lo: locks/win32/proc_mutex.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+locks/win32/thread_cond.lo: locks/win32/thread_cond.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+locks/win32/thread_mutex.lo: locks/win32/thread_mutex.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+locks/win32/thread_rwlock.lo: locks/win32/thread_rwlock.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_locks_win32 = locks/win32/thread_rwlock.lo locks/win32/thread_mutex.lo locks/win32/proc_mutex.lo locks/win32/thread_cond.lo
+OBJECTS_locks_win32 = locks/win32/proc_mutex.lo locks/win32/thread_cond.lo locks/win32/thread_mutex.lo locks/win32/thread_rwlock.lo
-misc/win32/utf8.lo: misc/win32/utf8.c .make.dirs include/apr_errno.h
-misc/win32/rand.lo: misc/win32/rand.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-misc/win32/start.lo: misc/win32/start.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_signal.h include/apr_want.h include/apr_thread_mutex.h include/apr_pools.h
+misc/win32/charset.lo: misc/win32/charset.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+misc/win32/env.lo: misc/win32/env.c .make.dirs include/apr_allocator.h include/apr_env.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
misc/win32/internal.lo: misc/win32/internal.c .make.dirs
-misc/win32/env.lo: misc/win32/env.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_env.h include/apr_thread_mutex.h include/apr_pools.h
-misc/win32/misc.lo: misc/win32/misc.c .make.dirs include/apr_lib.h include/apr_errno.h
-misc/win32/charset.lo: misc/win32/charset.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+misc/win32/misc.lo: misc/win32/misc.c .make.dirs include/apr_errno.h include/apr_lib.h
+misc/win32/rand.lo: misc/win32/rand.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+misc/win32/start.lo: misc/win32/start.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_signal.h include/apr_thread_mutex.h include/apr_want.h
+misc/win32/utf8.lo: misc/win32/utf8.c .make.dirs include/apr_errno.h
-OBJECTS_misc_win32 = misc/win32/utf8.lo misc/win32/rand.lo misc/win32/start.lo misc/win32/internal.lo misc/win32/env.lo misc/win32/misc.lo misc/win32/charset.lo misc/unix/errorcodes.lo misc/unix/getopt.lo misc/unix/otherchild.lo misc/unix/version.lo
+OBJECTS_misc_win32 = misc/unix/errorcodes.lo misc/unix/getopt.lo misc/unix/otherchild.lo misc/unix/version.lo misc/win32/charset.lo misc/win32/env.lo misc/win32/internal.lo misc/win32/misc.lo misc/win32/rand.lo misc/win32/start.lo misc/win32/utf8.lo
-mmap/win32/mmap.lo: mmap/win32/mmap.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_ring.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h include/apr_mmap.h
+mmap/win32/mmap.lo: mmap/win32/mmap.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_mmap.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_ring.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_mmap_win32 = mmap/win32/mmap.lo mmap/unix/common.lo
+OBJECTS_mmap_win32 = mmap/unix/common.lo mmap/win32/mmap.lo
-network_io/win32/sockets.lo: network_io/win32/sockets.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-network_io/win32/sockopt.lo: network_io/win32/sockopt.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
-network_io/win32/sendrecv.lo: network_io/win32/sendrecv.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+network_io/win32/sendrecv.lo: network_io/win32/sendrecv.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+network_io/win32/sockets.lo: network_io/win32/sockets.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+network_io/win32/sockopt.lo: network_io/win32/sockopt.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_network_io_win32 = network_io/win32/sockets.lo network_io/win32/sockopt.lo network_io/win32/sendrecv.lo network_io/unix/inet_ntop.lo network_io/unix/inet_pton.lo network_io/unix/multicast.lo network_io/unix/sockaddr.lo network_io/unix/socket_util.lo
+OBJECTS_network_io_win32 = network_io/unix/inet_ntop.lo network_io/unix/inet_pton.lo network_io/unix/multicast.lo network_io/unix/sockaddr.lo network_io/unix/socket_util.lo network_io/win32/sendrecv.lo network_io/win32/sockets.lo network_io/win32/sockopt.lo
-shmem/win32/shm.lo: shmem/win32/shm.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_shm.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+shmem/win32/shm.lo: shmem/win32/shm.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
OBJECTS_shmem_win32 = shmem/win32/shm.lo
-threadproc/win32/threadpriv.lo: threadproc/win32/threadpriv.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-threadproc/win32/proc.lo: threadproc/win32/proc.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-threadproc/win32/thread.lo: threadproc/win32/thread.c .make.dirs include/apr_allocator.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_shm.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_dso.h include/apr_proc_mutex.h include/apr_lib.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-threadproc/win32/signals.lo: threadproc/win32/signals.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_time.h include/apr_pools.h
+threadproc/win32/proc.lo: threadproc/win32/proc.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+threadproc/win32/signals.lo: threadproc/win32/signals.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_signal.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+threadproc/win32/thread.lo: threadproc/win32/thread.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+threadproc/win32/threadpriv.lo: threadproc/win32/threadpriv.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_threadproc_win32 = threadproc/win32/threadpriv.lo threadproc/win32/proc.lo threadproc/win32/thread.lo threadproc/win32/signals.lo
+OBJECTS_threadproc_win32 = threadproc/win32/proc.lo threadproc/win32/signals.lo threadproc/win32/thread.lo threadproc/win32/threadpriv.lo
-time/win32/access.lo: time/win32/access.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h
-time/win32/timestr.lo: time/win32/timestr.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-time/win32/time.lo: time/win32/time.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+time/win32/time.lo: time/win32/time.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_lib.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+time/win32/timestr.lo: time/win32/timestr.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_time_win32 = time/win32/access.lo time/win32/timestr.lo time/win32/time.lo
+OBJECTS_time_win32 = time/win32/time.lo time/win32/timestr.lo
-user/win32/userinfo.lo: user/win32/userinfo.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
-user/win32/groupinfo.lo: user/win32/groupinfo.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+user/win32/groupinfo.lo: user/win32/groupinfo.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+user/win32/userinfo.lo: user/win32/userinfo.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_user_win32 = user/win32/userinfo.lo user/win32/groupinfo.lo
+OBJECTS_user_win32 = user/win32/groupinfo.lo user/win32/userinfo.lo
-atomic/win32/apr_atomic.lo: atomic/win32/apr_atomic.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_thread_mutex.h include/apr_atomic.h include/apr_pools.h
+atomic/win32/apr_atomic.lo: atomic/win32/apr_atomic.c .make.dirs include/apr_allocator.h include/apr_atomic.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_thread_mutex.h include/apr_want.h
OBJECTS_atomic_win32 = atomic/win32/apr_atomic.lo
-OBJECTS_win32 = $(OBJECTS_all) $(OBJECTS_dso_win32) $(OBJECTS_file_io_win32) $(OBJECTS_locks_win32) $(OBJECTS_memory_unix) $(OBJECTS_misc_win32) $(OBJECTS_mmap_win32) $(OBJECTS_network_io_win32) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_win32) $(OBJECTS_support_unix) $(OBJECTS_threadproc_win32) $(OBJECTS_time_win32) $(OBJECTS_user_win32) $(OBJECTS_atomic_win32)
+OBJECTS_win32 = $(OBJECTS_all) $(OBJECTS_atomic_win32) $(OBJECTS_dso_win32) $(OBJECTS_file_io_win32) $(OBJECTS_locks_win32) $(OBJECTS_memory_unix) $(OBJECTS_misc_win32) $(OBJECTS_mmap_win32) $(OBJECTS_network_io_win32) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_win32) $(OBJECTS_support_unix) $(OBJECTS_threadproc_win32) $(OBJECTS_time_win32) $(OBJECTS_user_win32)
-HEADERS = $(top_srcdir)/include/apr_strings.h $(top_srcdir)/include/apr_want.h $(top_srcdir)/include/apr_shm.h $(top_srcdir)/include/apr_user.h $(top_srcdir)/include/apr_hash.h $(top_srcdir)/include/apr_thread_cond.h $(top_srcdir)/include/apr_ring.h $(top_srcdir)/include/apr_tables.h $(top_srcdir)/include/apr_time.h $(top_srcdir)/include/apr_env.h $(top_srcdir)/include/apr_portable.h $(top_srcdir)/include/apr_file_io.h $(top_srcdir)/include/apr_thread_rwlock.h $(top_srcdir)/include/apr_getopt.h $(top_srcdir)/include/apr_general.h $(top_srcdir)/include/apr_mmap.h $(top_srcdir)/include/apr_dso.h $(top_srcdir)/include/apr_atomic.h $(top_srcdir)/include/apr_errno.h $(top_srcdir)/include/apr_pools.h $(top_srcdir)/include/apr_allocator.h $(top_srcdir)/include/apr_support.h $(top_srcdir)/include/apr_global_mutex.h $(top_srcdir)/include/apr_random.h $(top_srcdir)/include/apr_proc_mutex.h $(top_srcdir)/include/apr_thread_proc.h $(top_srcdir)/include/apr_signal.h $(top_srcdir)/include/apr_thread_mutex.h $(top_srcdir)/include/apr_poll.h $(top_srcdir)/include/apr_version.h $(top_srcdir)/include/apr_fnmatch.h $(top_srcdir)/include/apr_network_io.h $(top_srcdir)/include/apr_lib.h $(top_srcdir)/include/apr_inherit.h $(top_srcdir)/include/apr_file_info.h
+HEADERS = $(top_srcdir)/include/apr_allocator.h $(top_srcdir)/include/apr_atomic.h $(top_srcdir)/include/apr_dso.h $(top_srcdir)/include/apr_env.h $(top_srcdir)/include/apr_errno.h $(top_srcdir)/include/apr_file_info.h $(top_srcdir)/include/apr_file_io.h $(top_srcdir)/include/apr_fnmatch.h $(top_srcdir)/include/apr_general.h $(top_srcdir)/include/apr_getopt.h $(top_srcdir)/include/apr_global_mutex.h $(top_srcdir)/include/apr_hash.h $(top_srcdir)/include/apr_inherit.h $(top_srcdir)/include/apr_lib.h $(top_srcdir)/include/apr_mmap.h $(top_srcdir)/include/apr_network_io.h $(top_srcdir)/include/apr_poll.h $(top_srcdir)/include/apr_pools.h $(top_srcdir)/include/apr_portable.h $(top_srcdir)/include/apr_proc_mutex.h $(top_srcdir)/include/apr_random.h $(top_srcdir)/include/apr_ring.h $(top_srcdir)/include/apr_shm.h $(top_srcdir)/include/apr_signal.h $(top_srcdir)/include/apr_strings.h $(top_srcdir)/include/apr_support.h $(top_srcdir)/include/apr_tables.h $(top_srcdir)/include/apr_thread_cond.h $(top_srcdir)/include/apr_thread_mutex.h $(top_srcdir)/include/apr_thread_proc.h $(top_srcdir)/include/apr_thread_rwlock.h $(top_srcdir)/include/apr_time.h $(top_srcdir)/include/apr_user.h $(top_srcdir)/include/apr_version.h $(top_srcdir)/include/apr_want.h
SOURCE_DIRS = random/unix misc/win32 mmap/win32 dso/os2 time/unix network_io/win32 dso/win32 locks/unix user/unix time/win32 locks/beos tables support/unix file_io/unix mmap/unix atomic/unix threadproc/win32 poll/os2 atomic/win32 dso/os390 atomic/os390 dso/beos poll/unix passwd network_io/beos threadproc/os2 network_io/os2 shmem/win32 threadproc/beos shmem/unix network_io/unix file_io/os2 dso/aix file_io/win32 threadproc/unix misc/unix locks/win32 shmem/beos dso/unix locks/os2 user/win32 shmem/os2 memory/unix strings $(EXTRA_SOURCE_DIRS)
diff --git a/srclib/apr/build/NWGNUenvironment.inc b/srclib/apr/build/NWGNUenvironment.inc
index f5833988..c15e003b 100644
--- a/srclib/apr/build/NWGNUenvironment.inc
+++ b/srclib/apr/build/NWGNUenvironment.inc
@@ -2,9 +2,9 @@
# Setup needed Tools and Libraries
#
-ifeq "$(wildcard $(APR_WORK)\build\NWGNUcustom.inc)" "$(APR_WORK)\build\NWGNUcustom.inc"
-include $(APR_WORK)\build\NWGNUcustom.inc
-CUSTOM_INI = $(AP_WORK)\NWGNUcustom.ini
+ifeq "$(wildcard $(APR_WORK)/build/NWGNUcustom.inc)" "$(APR_WORK)/build/NWGNUcustom.inc"
+include $(APR_WORK)/build/NWGNUcustom.inc
+CUSTOM_INI = $(AP_WORK)/NWGNUcustom.ini
endif
ifndef VERBOSE
@@ -49,8 +49,32 @@ ifneq "$(wildcard $(LDAPSDK)/inc/ldap.h)" "$(LDAPSDK)/inc/ldap.h"
$(error LDAPSDK does not point to a valid Novell CLDAP SDK)
endif
+ifdef EXPATSDK
+ifeq "$(wildcard $(EXPATSDK)/include/expat.h)" "$(EXPATSDK)/include/expat.h"
+EXPAT_IMP = $(EXPATSDK)/imports/expatlbc.imp
+EXPAT_INC = $(EXPATSDK)/include
+EXPAT_LIB = $(EXPATSDK)/lib/expat.lib
+EXPAT_NLM = EXPATLBC
+else
+$(error EXPATSDK does not point to a valid EXPAT SDK)
+endif
+endif
+ifdef EXPATSRC
+ifeq "$(wildcard $(EXPATSRC)/lib/xmlparse.c)" "$(EXPATSRC)/lib/xmlparse.c"
+EXPAT_INC = $(EXPATSRC)/lib
+EXPAT_LIB = $(EXPATSRC)/lib/$(OBJDIR)/expat.lib
+else
+$(error EXPATSRC does not point to a valid EXPAT source tree)
+endif
+endif
+ifndef EXPAT_INC
+EXPATSRC = $(APUXML)/expat
+EXPAT_INC = $(EXPATSRC)/lib
+EXPAT_LIB = $(EXPATSRC)/lib/$(OBJDIR)/expat.lib
+endif
+
ifndef METROWERKS
-METROWERKS = C:\Program Files\Metrowerks\CodeWarrior
+METROWERKS = $(ProgramFiles)\Metrowerks\CodeWarrior
endif
# If LM_LICENSE_FILE isn't defined, define a variable that can be used to
@@ -68,7 +92,7 @@ endif
ifdef reltype
RELEASE = $(reltype)
-endif
+endif
ifdef RELTYPE
RELEASE = $(RELTYPE)
@@ -102,6 +126,10 @@ ifndef RELEASE
RELEASE = release
endif
+ifeq "$(strip $(RELEASE))" "optimized"
+RELEASE = release
+endif
+
OBJDIR = obj_$(RELEASE)
#
@@ -117,19 +145,51 @@ LIB = mwldnlm -type library -w nocmdline
# Setup build tools
AWK = awk
+#
+# Declare Command and tool macros here
+#
+
+ifeq ($(findstring /sh,$(SHELL)),/sh)
+DEL = rm -f $1
+RMDIR = rm -rf $1
+MKDIR = mkdir -p $1
+COPY = cp -av $1 $2
+COPYR = cp -ar $1 $2
+ECHONL = echo ""
+DL = '
+CAT = cat
+else
+ifeq "$(OS)" "Windows_NT"
+DEL = $(shell if exist $(subst /,\,$1) del /q /f 2>NUL $(subst /,\,$1))
+RMDIR = $(shell if exist $(subst /,\,$1)\NUL rd /q /s 2>NUL $(subst /,\,$1))
+else
+DEL = $(shell if exist $(subst /,\,$1) del 2>NUL $(subst /,\,$1))
+RMDIR = $(shell if exist $(subst /,\,$1)\NUL deltree /y 2>NUL $(subst /,\,$1))
+endif
+ECHONL = $(ComSpec) /c echo.
+MKDIR = $(shell if not exist $(subst /,\,$1)\NUL md 2>NUL $(subst /,\,$1))
+COPY = copy /y 2>NUL $(subst /,\,$1) $(subst /,\,$2)
+COPYR = xcopy /y /e 2>NUL $(subst /,\,$1) $(subst /,\,$2)
+CAT = type
+endif
+
ifdef IPV6
ifndef USE_STDSOCKETS
USE_STDSOCKETS=1
endif
endif
-NOVI = $(NOVELLLIBC)\imports
+NOVI = $(NOVELLLIBC)/imports
+PRELUDE = $(NOVI)/libcpre.o
-INCDIRS = $(NOVELLLIBC)\include;$(NOVELLLIBC)\include\nks;$(NOVELLLIBC)\include\winsock;
+INCDIRS = $(NOVELLLIBC)/include;
DEFINES = -DNETWARE
-ifndef USE_STDSOCKETS
+ifdef USE_STDSOCKETS
+DEFINES += -DUSE_BSD_SOCKETS
+else
DEFINES += -DUSE_WINSOCK
+INCDIRS += $(NOVELLLIBC)/include/winsock;
endif
ifndef DEBUG
DEFINES += -DNDEBUG
@@ -141,12 +201,10 @@ else
VERSION_SKT = (WINSOCK)
endif
-#
# MetroWerks static Libraries
-
-CLIB3S = $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\Runtime\mwcrtl.lib
+CLIB3S = $(METROWERKS)/Novell Support/Metrowerks Support/Libraries/Runtime/mwcrtl.lib
MATH3S =
-PLIB3S = $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\MSL C++\MWCPP.lib
+PLIB3S = $(METROWERKS)/Novell Support/Metrowerks Support/Libraries/MSL C++/MWCPP.lib
# Base compile flags
# and prefix or precompiled header added here.
@@ -164,9 +222,12 @@ PLIB3S = $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\MSL C++\MWCPP
CFLAGS = -c -nosyspath -Cpp_exceptions off -RTTI off -align 4 -w nocmdline -proc PII
+ifeq "$(REQUIRE_PROTOTYPES)" "1"
+CFLAGS += -r
+endif
+
# -g generate debugging information
# -O0 level 0 optimizations
-
ifeq "$(RELEASE)" "debug"
CFLAGS += -g -O0
endif
@@ -177,11 +238,12 @@ CFLAGS += -O4,p
endif
# -prefix apr_arch_pre_nw.h #include pre_nw.h for all files
-
CFLAGS += -prefix apr_arch_pre_nw.h
+ifneq ($(findstring /sh,$(SHELL)),/sh)
PATH:=$(PATH);$(METROWERKS)\bin;$(METROWERKS)\Other Metrowerks Tools\Command Line Tools
+endif
#
# Declare major project deliverables output directories here
@@ -202,14 +264,15 @@ endif
endif
ifndef INSTALL
-INSTALL = $(APR_WORK)\Dist
-INSTDIRS = $(APR_WORK)\Dist
+INSTALL = $(APR_WORK)/Dist
+INSTDIRS = $(APR_WORK)/Dist
+BASEDIR = Apr
endif
# Add support for building IPV6 alongside
ifneq "$(IPV6)" ""
DEFINES += -DNW_BUILD_IPV6
-INCDIRS := $(NOVELLLIBC)\include\winsock\IPV6;$(INCDIRS)
+# INCDIRS := $(NOVELLLIBC)/include/winsock/IPV6;$(INCDIRS)
ifneq "$(findstring IPV6,$(OBJDIR))" "IPV6"
OBJDIR := $(OBJDIR)_IPV6
@@ -231,68 +294,40 @@ ifndef BASEDIR
BASEDIR = Apache2
endif
-INSTALLBASE := $(INSTALL)\$(BASEDIR)
-
-else
-
-INSTALLBASE := $(INSTALL)\apr
-
endif
-INSTDIRS += \
- $(INSTALLBASE)
+INSTALLBASE := $(INSTALL)/$(BASEDIR)
INSTDEVDIRS := \
$(INSTDIRS) \
- $(INSTALLBASE)\include \
- $(INSTALLBASE)\lib
-
-#
-# Declare Command and tool macros here
-#
+ $(INSTALLBASE) \
+ $(INSTALLBASE)/include \
+ $(INSTALLBASE)/lib \
+ $(INSTALLBASE)/bin
-# Os2LibPath is an extra check to see if we are on NT
-ifdef Os2LibPath
-OS = Windows_NT
-endif
-
-ifeq "$(OS)" "Windows_NT"
-CMD = cmd /C
-DEL = del /F
-DELTREE = $(CMD) rd /s/q
-WINNT = 1
-else
-CMD = command /C
-DEL = del
-DELTREE = deltree /y
-endif
-CP = copy /Y
-XCP = xcopy /E /Y
-CHK = $(CMD) if exist
-CHKNOT = $(CMD) if not exist
-
-#
-# Setup base C compiler flags
-#
+INSTDIRS += \
+ $(INSTALLBASE)
#
# Common directories
#
-APR = $(APR_WORK)
-APRTEST = $(APR_WORK)/test
-APRUTIL = $(APU_WORK)
-APULDAP = $(APU_WORK)/ldap
-XML = $(APRUTIL)/xml
+APR = $(subst \,/,$(APR_WORK))
+APU = $(subst \,/,$(APU_WORK))
+APRBUILD = $(APR)/build
+APULDAP = $(APU)/ldap
+APUXML = $(APU)/xml
+APRTEST = $(APR)/test
+APUTEST = $(APU)/test
#
# Internal Libraries
#
APRLIB = $(APR)/$(OBJDIR)/aprlib.lib
-APRUTLIB = $(APRUTIL)/$(OBJDIR)/aprutil.lib
+APULIB = $(APU)/$(OBJDIR)/apulib.lib
APULDAPLIB = $(APULDAP)/$(OBJDIR)/apuldap.lib
-XMLLIB = $(XML)/$(OBJDIR)/xmllib.lib
+APUXMLLIB = $(APUXML)/$(OBJDIR)/apuxml.lib
#
# Additional general defines
diff --git a/srclib/apr/build/NWGNUhead.inc b/srclib/apr/build/NWGNUhead.inc
index 17f149ca..723137c4 100644
--- a/srclib/apr/build/NWGNUhead.inc
+++ b/srclib/apr/build/NWGNUhead.inc
@@ -2,7 +2,7 @@
# Obtain the global build environment
#
-include $(APR_WORK)\build\NWGNUenvironment.inc
+include $(APR_WORK)/build/NWGNUenvironment.inc
#
# Define base targets and rules
@@ -26,7 +26,7 @@ install :: NO_LICENSE_FILE
installdev :: NO_LICENSE_FILE
NO_LICENSE_FILE :
- $(MAKE) $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(METROWERKS)\license.dat"
+ $(MAKE) $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(METROWERKS)/license.dat"
else # LM_LICENSE_FILE must be defined so use the real targets
@@ -39,29 +39,29 @@ $(TARGETS) :: $(SUBDIRS)
endif #NO_LICENSE_FILE check
help :
- @echo targets for RELEASE=$(RELEASE):
- @echo (default) . . . . libs nlms
- @echo all . . . . . . . does everything (libs nlms install)
- @echo libs. . . . . . . builds all libs
- @echo nlms. . . . . . . builds all nlms
- @echo install . . . . . builds libs and nlms and copies install files to
- @echo "$(INSTALL)"
- @echo installdev. . . . copies headers and files needed for development to
- @echo "$(INSTALL)"
- @echo clean . . . . . . deletes $(OBJDIR) dirs, *.err, and *.map
- @echo clobber_all . . . deletes all possible output from the make
- @echo clobber_install . deletes all files in $(INSTALL)
- @$(CMD) echo.
- @echo Multiple targets can be used on a single nmake command line -
- @echo (i.e. $(MAKE) clean all)
- @$(CMD) echo.
- @echo You can also specify RELEASE=debug, RELEASE=noopt, or RELEASE=optimized
- @echo The default is RELEASE=optimized
+ @echo $(DL)targets for RELEASE=$(RELEASE):$(DL)
+ @echo $(DL)(default) . . . . libs nlms$(DL)
+ @echo $(DL)all . . . . . . . does everything (libs nlms install)$(DL)
+ @echo $(DL)libs. . . . . . . builds all libs$(DL)
+ @echo $(DL)nlms. . . . . . . builds all nlms$(DL)
+ @echo $(DL)install . . . . . builds libs and nlms and copies install files to$(DL)
+ @echo $(DL) "$(INSTALL)"$(DL)
+ @echo $(DL)installdev. . . . copies headers and files needed for development to$(DL)
+ @echo $(DL) "$(INSTALL)"$(DL)
+ @echo $(DL)clean . . . . . . deletes $(OBJDIR) dirs, *.err, and *.map$(DL)
+ @echo $(DL)clobber_all . . . deletes all possible output from the make$(DL)
+ @echo $(DL)clobber_install . deletes all files in $(INSTALL)$(DL)
+ @$(ECHONL)
+ @echo $(DL)Multiple targets can be used on a single make command line -$(DL)
+ @echo $(DL)(i.e. $(MAKE) clean all)$(DL)
+ @$(ECHONL)
+ @echo $(DL)You can also specify RELEASE=debug, RELEASE=noopt, or RELEASE=release$(DL)
+ @echo $(DL)The default is RELEASE=release$(DL)
clobber_all :: clean clobber_install
clobber_install ::
- -$(DELTREE) $(INSTALL) 2>NUL
+ $(call RMDIR,$(INSTALL))
#
# build recursive targets
@@ -69,28 +69,26 @@ clobber_install ::
$(SUBDIRS) : FORCE
ifneq "$(MAKECMDGOALS)" "clean"
- $(CMD) echo.
+ @$(ECHONL)
@echo Building $(CURDIR)/$@
endif
$(MAKE) -C $@ $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(LM_LICENSE_FILE)"
- $(CMD) echo.
+ @$(ECHONL)
-FORCE:
+FORCE : ;
#
# Standard targets
#
-clean :: $(SUBDIRS)
+clean :: $(SUBDIRS) $(APRTEST)
@echo Cleaning up $(CURDIR)
- -$(DELTREE) $(OBJDIR) 2> NUL
- $(CHK) *.err $(DEL) *.err
- $(CHK) *.map $(DEL) *.map
- $(CHK) *.d $(DEL) *.d
- $(CHK) *.tmp $(DEL) *.tmp
- $(CHK) xc.bat $(DEL) xc.bat
- -$(DELTREE) $(OBJDIR) 2> NUL
+ $(call RMDIR,$(OBJDIR))
+ $(call DEL,*.err)
+ $(call DEL,*.map)
+ $(call DEL,*.tmp)
+# $(call DEL,*.d)
$(OBJDIR) ::
- $(CHKNOT) $(OBJDIR)\nul mkdir $(OBJDIR)
+ $(call MKDIR,$@)
diff --git a/srclib/apr/build/NWGNUmakefile b/srclib/apr/build/NWGNUmakefile
index baf03d2f..68fff198 100644
--- a/srclib/apr/build/NWGNUmakefile
+++ b/srclib/apr/build/NWGNUmakefile
@@ -10,98 +10,74 @@ SUBDIRS = \
# paths to tools
#
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
#
# build this level's files
FILES_prebuild_headers = \
$(APR)/include/apr.h \
- $(APRUTIL)/include/apu.h \
- $(APRUTIL)/include/apu_want.h \
- $(APRUTIL)/include/apr_ldap.h \
- $(APRUTIL)/include/private/apu_config.h \
- $(APRUTIL)/include/private/apu_select_dbm.h \
- $(APRUTIL)/xml/expat/lib/expat.h \
- $(APRUTIL)/xml/expat/lib/config.h \
+ $(APU)/include/apu.h \
+ $(APU)/include/apu_want.h \
+ $(APU)/include/apr_ldap.h \
+ $(APU)/include/private/apu_config.h \
+ $(APU)/include/private/apu_select_dbm.h \
+ $(APUXML)/expat/lib/expat_config.h \
$(EOLIST)
nlms :: $(APR)/aprlib.imp
$(APR)/aprlib.imp : make_nw_export.awk nw_export.i
- @echo Generating $(subst /,\,$@)
- $(AWK) -v EXPPREFIX=APR$(VERSION_MAJMIN) -f $^ | sort >$@
+ @echo $(DL)GEN $@$(DL)
+ $(AWK) -v EXPPREFIX=APR$(VERSION_MAJMIN) -f $^ >$@
-nw_export.i : nw_export.inc $(APRUTIL)/build/nw_apu_export.inc $(FILES_prebuild_headers) $(NLM_NAME)_cc.opt
- @echo Generating $(subst /,\,$@)
- $(CC) $< @$(NLM_NAME)_cc.opt
-
-$(NLM_NAME)_cc.opt : NWGNUmakefile $(APR_WORK)\build\NWGNUenvironment.inc $(APR_WORK)\build\NWGNUhead.inc $(APR_WORK)\build\NWGNUtail.inc $(CUSTOM_INI)
- $(CHK) $@ $(DEL) $@
- @echo -P >> $@
- @echo -EP >> $@
- @echo -nosyspath >> $@
- @echo -w nocmdline >> $@
- @echo $(DEFINES) -DGENEXPORTS >> $@
- @echo -I$(APR)\include >> $@
- @echo -I$(APR)\include\arch\netware >> $@
- @echo -I$(APR)\include\arch\unix >> $@
- @echo -I$(APRUTIL)\include >> $@
- @echo -I$(APRUTIL)\build >> $@
- @echo -ir $(NOVELLLIBC) >> $@
+nw_export.i : nw_export.inc $(APU)/build/nw_apu_export.inc $(FILES_prebuild_headers) cc.opt
+ @echo $(DL)GEN $@$(DL)
+ $(CC) $< @cc.opt
+
+cc.opt : NWGNUmakefile $(APR_WORK)/build/NWGNUenvironment.inc $(APR_WORK)/build/NWGNUhead.inc $(APRBUILD)/NWGNUtail.inc $(CUSTOM_INI)
+ @echo $(DL)-P$(DL)> $@
+ @echo $(DL)-EP$(DL)>> $@
+ @echo $(DL)-nosyspath$(DL)>> $@
+ @echo $(DL)-w nocmdline$(DL)>> $@
+ @echo $(DL)$(DEFINES) -DGENEXPORTS$(DL)>> $@
+ @echo $(DL)-I$(APR)/include$(DL)>> $@
+ @echo $(DL)-I$(APR)/include/arch/netware$(DL)>> $@
+ @echo $(DL)-I$(APR)/include/arch/unix$(DL)>> $@
+ @echo $(DL)-I$(APU)/include$(DL)>> $@
+ @echo $(DL)-I$(APU)/include/private$(DL)>> $@
+ @echo $(DL)-I$(APU)/build$(DL)>> $@
+ @echo $(DL)-ir $(NOVELLLIBC)$(DL)>> $@
ifneq "$(LDAPSDK)" ""
- @echo -ir $(LDAPSDK) >> $@
+ @echo $(DL)-ir $(LDAPSDK)$(DL)>> $@
endif
-$(APR)/include/%.h: $(subst /,\,$(APR))\include\%.hnw
- @echo Creating $(subst /,\,$@)
- $(CP) $< $(subst /,\,$(APR))\include\$(@F)
-
-$(APRUTIL)/include/private/%.h: $(subst /,\,$(APRUTIL))\include\private\%.hnw
- @echo Creating $(subst /,\,$@)
- $(CP) $< $(subst /,\,$(APRUTIL))\include\private\$(@F)
-
-$(APRUTIL)/include/private/%.h: $(subst /,\,$(APRUTIL))\include\private\%.hw
- @echo Creating $(subst /,\,$@)
- $(CP) $< $(subst /,\,$(APRUTIL))\include\private\$(@F)
-
-$(APRUTIL)/include/%.h: $(subst /,\,$(APRUTIL))\include\%.hnw
- @echo Creating $(subst /,\,$@)
- $(CP) $< $(subst /,\,$(APRUTIL))\include\$(@F)
-$(APRUTIL)/xml/expat/lib/%.h: $(subst /,\,$(APRUTIL))\xml\expat\lib\%.hnw
- @echo Creating $(subst /,\,$@)
- $(CP) $< $(subst /,\,$(APRUTIL))\xml\expat\lib\$(@F)
+%.h: %.hnw
+ @echo $(DL)Creating $@$(DL)
+ $(call COPY,$<,$@)
-$(APRUTIL)/xml/expat/lib/%.h: $(subst /,\,$(APRUTIL))\xml\expat\lib\%.h.in
- @echo Creating $(subst /,\,$@)
- $(CP) $< $(subst /,\,$(APRUTIL))\xml\expat\lib\$(@F)
+%.h: %.hw
+ @echo $(DL)Creating $@$(DL)
+ $(call COPY,$<,$@)
#
# You can use this target if all that is needed is to copy files to the
# installation area
#
install :: nlms FORCE
-
clean ::
- $(CHK) nw_export.i $(DEL) nw_export.i
- $(CHK) $(NLM_NAME)_cc.opt $(DEL) $(NLM_NAME)_cc.opt
- $(CHK) NWGNUversion.inc $(DEL) NWGNUversion.inc
- $(CHK) $(subst /,\,$(APR))\include\apr.h $(DEL) $(subst /,\,$(APR))\include\apr.h
- $(CHK) $(subst /,\,$(APRUTIL))\include\apu.h $(DEL) $(subst /,\,$(APRUTIL))\include\apu.h
- $(CHK) $(subst /,\,$(APRUTIL))\include\apu_want.h $(DEL) $(subst /,\,$(APRUTIL))\include\apu_want.h
- $(CHK) $(subst /,\,$(APRUTIL))\include\apr_ldap.h $(DEL) $(subst /,\,$(APRUTIL))\include\apr_ldap.h
- $(CHK) $(subst /,\,$(APRUTIL))\include\private\apu_config.h $(DEL) $(subst /,\,$(APRUTIL))\include\private\apu_config.h
- $(CHK) $(subst /,\,$(APRUTIL))\include\private\apu_select_dbm.h $(DEL) $(subst /,\,$(APRUTIL))\include\private\apu_select_dbm.h
- $(CHK) $(subst /,\,$(APRUTIL))\xml\expat\lib\expat.h $(DEL) $(subst /,\,$(APRUTIL))\xml\expat\lib\expat.h
- $(CHK) $(subst /,\,$(APRUTIL))\xml\expat\lib\config.h $(DEL) $(subst /,\,$(APRUTIL))\xml\expat\lib\config.h
- $(CHK) $(subst /,\,$(APR))\aprlib.imp $(DEL) $(subst /,\,$(APR))\aprlib.imp
+ $(call DEL,nw_export.i)
+ $(call DEL,cc.opt)
+ $(call DEL,NWGNUversion.inc)
+ $(call DEL,$(APR)/aprlib.imp)
+ $(foreach file,$(FILES_prebuild_headers),$(call DEL,$(file)))
#
# Include the 'tail' makefile that has targets that depend on variables defined
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr/build/NWGNUtail.inc b/srclib/apr/build/NWGNUtail.inc
index 47c8bf97..ad911c93 100644
--- a/srclib/apr/build/NWGNUtail.inc
+++ b/srclib/apr/build/NWGNUtail.inc
@@ -7,7 +7,6 @@
# If we are going to create an nlm, make sure we have assigned variables to
# use during the link.
#
-echo NLM_NAME=$(NLM_NAME)
ifndef NLM_NAME
NLM_NAME = $(TARGET_nlm)
endif
@@ -28,43 +27,63 @@ ifndef NLM_COPYRIGHT
NLM_COPYRIGHT = Licensed under the Apache License, Version 2.0
endif
+ifeq "$(NLM_FLAGS)" ""
+NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+endif
+
+ifeq "$(NLM_STACK_SIZE)" ""
+NLM_STACK_SIZE = 65536
+endif
+
+ifeq "$(NLM_ENTRY_SYM)" ""
+NLM_ENTRY_SYM = _LibCPrelude
+endif
+
+ifeq "$(NLM_EXIT_SYM)" ""
+NLM_EXIT_SYM = _LibCPostlude
+endif
+
+ifeq "$(NLM_VERSION)" ""
+NLM_VERSION = $(VERSION)
+endif
+
#
# Create dependency lists based on the files available
#
-CCOPT_DEPENDS = \
- $(APR_WORK)\build\NWGNUhead.inc \
- $(APR_WORK)\build\NWGNUenvironment.inc \
- $(APR_WORK)\build\NWGNUtail.inc \
+CCOPT_DEPENDS = \
+ $(APRBUILD)/NWGNUhead.inc \
+ $(APRBUILD)/NWGNUenvironment.inc \
+ $(APRBUILD)/NWGNUtail.inc \
NWGNUmakefile \
$(CUSTOM_INI) \
$(EOLIST)
-CPPOPT_DEPENDS = \
- $(APR_WORK)\build\NWGNUhead.inc \
- $(APR_WORK)\build\NWGNUenvironment.inc \
- $(APR_WORK)\build\NWGNUtail.inc \
+CPPOPT_DEPENDS = \
+ $(APRBUILD)/NWGNUhead.inc \
+ $(APRBUILD)/NWGNUenvironment.inc \
+ $(APRBUILD)/NWGNUtail.inc \
NWGNUmakefile \
$(CUSTOM_INI) \
$(EOLIST)
$(NLM_NAME)_LINKOPT_DEPENDS = \
$(TARGET_lib) \
- $(APR_WORK)\build\NWGNUenvironment.inc \
+ $(APRBUILD)/NWGNUenvironment.inc \
NWGNUmakefile \
- $(APR_WORK)\build\NWGNUtail.inc \
+ $(APRBUILD)/NWGNUtail.inc \
$(CUSTOM_INI) \
$(VERSION_INC) \
$(EOLIST)
ifeq "$(words $(strip $(TARGET_lib)))" "1"
-LIB_NAME = $(basename $(notdir $(TARGET_lib)))
+LIB_NAME = $(basename $(notdir $(TARGET_lib)))
$(LIB_NAME)_LIBLST_DEPENDS = \
$(FILES_lib_objs) \
- $(APR_WORK)\build\NWGNUenvironment.inc \
+ $(APRBUILD)/NWGNUenvironment.inc \
NWGNUmakefile \
- $(APR_WORK)\build\NWGNUtail.inc \
+ $(APRBUILD)/NWGNUtail.inc \
$(CUSTOM_INI) \
$(EOLIST)
endif
@@ -84,14 +103,15 @@ endif
#
ifneq ($(MAKECMDGOALS),clean)
-$(APR_WORK)\build\NWGNUversion.inc : $(APR_WORK)\build\nw_ver.awk $(APR_WORK)\include\apr_version.h
- @echo Generating $(subst /,\,$@)
+$(APRBUILD)/NWGNUversion.inc : $(APRBUILD)/nw_ver.awk $(APR)/include/apr_version.h
+# @echo Generating $@
+ @echo GEN $@
@$(AWK) -f $^ > $@
--include $(APR_WORK)\build\NWGNUversion.inc
+-include $(APRBUILD)/NWGNUversion.inc
ifneq "$(strip $(VERSION_STR))" ""
-VERSION_INC = $(APR_WORK)\build\NWGNUversion.inc
+VERSION_INC = $(APRBUILD)/NWGNUversion.inc
else
VERSION = 1,4,0
VERSION_STR = 1.4.0
@@ -100,69 +120,80 @@ endif
endif
ifeq "$(words $(strip $(TARGET_nlm)))" "1"
-INCLUDE_BLDCMDS=1
+INCLUDE_BLDCMDS = 1
+CCOPT_NAME = $(NLM_NAME)
endif
ifeq "$(words $(strip $(TARGET_lib)))" "1"
-INCLUDE_BLDCMDS=1
+INCLUDE_BLDCMDS = 1
+CCOPT_NAME = $(LIB_NAME)
endif
ifeq "$(INCLUDE_BLDCMDS)" "1"
-$(OBJDIR)/%.o: %.c $(OBJDIR)\$(NLM_NAME)_cc.opt
- @echo Compiling $<
- $(CC) $< -o=$(OBJDIR)\$(@F) @$(OBJDIR)\$(NLM_NAME)_cc.opt
+$(OBJDIR)/%.o: %.c $(OBJDIR)/$(CCOPT_NAME)_cc.opt
+# @echo Compiling $<
+ @echo $(DL)CC $<$(DL)
+ $(CC) -o $@ $< @$(word 2, $^)
-$(OBJDIR)\$(NLM_NAME)_cc.opt: $(CCOPT_DEPENDS)
- @echo CCOPT_DEPENDS=$(CCOPT_DEPENDS)
- $(CHK) $@ $(DEL) $@
- @echo Generating $@
+$(OBJDIR)/$(CCOPT_NAME)_cc.opt: $(CCOPT_DEPENDS)
+ $(call DEL,$@)
+ifdef VERBOSE
+ @echo $(DL)CCOPT_DEPENDS=$^$(DL)
+endif
+# @echo Generating $@
+ @echo $(DL)GEN $@$(DL)
ifneq "$(strip $(CFLAGS))" ""
- @echo $(CFLAGS) >> $@
+ @echo $(DL)$(CFLAGS)$(DL)>> $@
endif
ifneq "$(strip $(XCFLAGS))" ""
- @echo $(XCFLAGS) >> $@
+ @echo $(DL)$(XCFLAGS)$(DL)>> $@
endif
ifneq "$(strip $(XINCDIRS))" ""
- @echo $(foreach xincdir,$(strip $(subst ;,$(SPACE),$(XINCDIRS))),-I$(xincdir)) >> $@
+ @echo $(DL)$(foreach xincdir,$(strip $(subst ;,$(SPACE),$(XINCDIRS))),-I$(xincdir))$(DL)>> $@
endif
ifneq "$(strip $(INCDIRS))" ""
- @echo $(foreach incdir,$(strip $(subst ;,$(SPACE),$(INCDIRS))),-I$(incdir)) >> $@
+ @echo $(DL)$(foreach incdir,$(strip $(subst ;,$(SPACE),$(INCDIRS))),-I$(incdir))$(DL)>> $@
endif
ifneq "$(strip $(DEFINES))" ""
- @echo $(DEFINES) >> $@
+ @echo $(DL)$(DEFINES)$(DL)>> $@
endif
ifneq "$(strip $(XDEFINES))" ""
- @echo $(XDEFINES) >> $@
+ @echo $(DL)$(XDEFINES)$(DL)>> $@
endif
-$(OBJDIR)/%.o: %.cpp $(OBJDIR)\cpp.opt
- @echo Compiling $<
- $(CPP) $< -o=$(OBJDIR)\$(@F) @$(OBJDIR)\cpp.opt
+$(OBJDIR)/%.o: %.cpp $(OBJDIR)/$(CCOPT_NAME)_cpp.opt
+# @echo Compiling $<
+ @echo $(DL)CPP $<$(DL)
+ $(CCP) -o $@ $< @$(word 2, $^)
-$(OBJDIR)\cpp.opt: $(CPPOPT_DEPENDS)
- $(CHK) $@ $(DEL) $@
- @echo Generating $@
+$(OBJDIR)/$(CCOPT_NAME)_cpp.opt: $(CPPOPT_DEPENDS)
+ $(call DEL,$@)
+ifdef VERBOSE
+ @echo $(DL)CPPOPT_DEPENDS=$^$(DL)
+endif
+# @echo Generating $@
+ @echo $(DL)GEN $@$(DL)
ifneq "$(strip $(CFLAGS))" ""
- @echo $(CFLAGS) >> $@
+ @echo $(DL)$(CFLAGS)$(DL)>> $@
endif
ifneq "$(strip $(XCFLAGS))" ""
- @echo $(XCFLAGS) >> $@
+ @echo $(DL)$(XCFLAGS)$(DL)>> $@
endif
ifneq "$(strip $(XINCDIRS))" ""
- @echo $(foreach xincdir,$(strip $(subst ;,$(SPACE),$(XINCDIRS))),-I$(xincdir)) >> $@
+ @echo $(DL)$(foreach xincdir,$(strip $(subst ;,$(SPACE),$(XINCDIRS))),-I$(xincdir))$(DL)>> $@
endif
ifneq "$(strip $(INCDIRS))" ""
- @echo $(foreach incdir,$(strip $(subst ;,$(SPACE),$(INCDIRS))),-I$(incdir)) >> $@
+ @echo $(DL)$(foreach incdir,$(strip $(subst ;,$(SPACE),$(INCDIRS))),-I$(incdir))$(DL)>> $@
endif
ifneq "$(strip $(DEFINES))" ""
- @echo $(DEFINES) >> $@
+ @echo $(DL)$(DEFINES)$(DL)>> $@
endif
ifneq "$(strip $(XDEFINES))" ""
- @echo $(XDEFINES) >> $@
+ @echo $(DL)$(XDEFINES)$(DL)>> $@
endif
-endif # one target nlm
+endif # one target nlm or lib
#
# Rules to build libraries
@@ -172,22 +203,41 @@ endif # one target nlm
ifeq "$(words $(strip $(TARGET_lib)))" "1"
-$(TARGET_lib) : $(OBJDIR)\$(LIB_NAME)_lib.lst
- @echo Generating $@
- $(CHK) $(OBJDIR)\$(@F) $(DEL) $(OBJDIR)\$(@F)
- $(LIB) -o $(OBJDIR)\$(@F) @$?
+$(TARGET_lib) : $(OBJDIR)/$(LIB_NAME)_lib.lst
+ $(call DEL,$@)
+# @echo Generating $@
+ @echo $(DL)AR $@$(DL)
+ $(LIB) -o $@ @$<
-$(OBJDIR)\$(LIB_NAME)_lib.lst: $($(LIB_NAME)_LIBLST_DEPENDS)
- $(CHK) $@ $(DEL) $@
- @echo Generating $@
+$(OBJDIR)/aprlib_lib.lst: $(aprlib_LIBLST_DEPENDS)
+ $(call DEL,$@)
ifneq "$(strip $(FILES_lib_objs))" ""
- @echo $(foreach objfile,$(FILES_lib_objs),$(subst /,\,$(objfile)) ) >> $@
+# @echo Generating $@
+ @echo $(DL)GEN $@$(DL)
+ifdef VERBOSE
+ @echo $(DL)FILES_lib_objs=$(words $(FILES_lib_objs))$(DL)
+endif
+ @echo $(DL)$(wordlist 1, 20, $(FILES_lib_objs))$(DL)>> $@
+ @echo $(DL)$(wordlist 21, 40, $(FILES_lib_objs))$(DL)>> $@
+ @echo $(DL)$(wordlist 41, 60, $(FILES_lib_objs))$(DL)>> $@
+ @echo $(DL)$(wordlist 61, 80, $(FILES_lib_objs))$(DL)>> $@
+endif
+
+$(OBJDIR)/%_lib.lst: $($(LIB_NAME)_LIBLST_DEPENDS)
+ $(call DEL,$@)
+ifneq "$(strip $(FILES_lib_objs))" ""
+# @echo Generating $@
+ @echo $(DL)GEN $@$(DL)
+ifdef VERBOSE
+ @echo FILES_lib_objs=$(words $(FILES_lib_objs))
+endif
+ @echo $(DL)$(FILES_lib_objs)$(DL)>> $@
endif
else # We must have more than one target library so load the individual makefiles
-$(OBJDIR)/%.lib: NWGNU% $(APR_WORK)\build\NWGNUhead.inc $(APR_WORK)\build\NWGNUtail.inc $(APR_WORK)\build\NWGNUenvironment.inc FORCE
- @echo Calling $<
+$(OBJDIR)/%.lib: NWGNU% $(APRBUILD)/NWGNUhead.inc $(APRBUILD)/NWGNUtail.inc $(APRBUILD)/NWGNUenvironment.inc FORCE
+ @echo $(DL)Calling $<$(DL)
$(MAKE) -f $< $(MAKECMDGOALS) RELEASE=$(RELEASE)
endif
@@ -196,113 +246,102 @@ endif
# Rules to build nlms.
#
-vpath libcpre.o $(NOVELLLIBC)\imports
-
# If we only have one target NLM then build it
ifeq "$(words $(strip $(TARGET_nlm)))" "1"
-$(TARGET_nlm) : $(FILES_nlm_objs) $(FILES_nlm_libs) $(OBJDIR)\$(NLM_NAME)_link.opt
- @echo Linking $@
- $(LINK) @$(OBJDIR)\$(NLM_NAME)_link.opt
+$(TARGET_nlm) : $(FILES_nlm_objs) $(FILES_nlm_libs) $(OBJDIR)/$(NLM_NAME)_link.opt
+# @echo Linking $@
+ @echo $(DL)LINK $@$(DL)
+ $(LINK) @$(OBJDIR)/$(NLM_NAME)_link.opt
# This will force the link option file to be rebuilt if we change the
# corresponding makefile
-$(OBJDIR)\$(NLM_NAME)_link.opt : $($(NLM_NAME)_LINKOPT_DEPENDS)
- $(CHK) $(OBJDIR)\$(@F) $(DEL) $(OBJDIR)\$(@F)
- $(CHK) $(OBJDIR)\$(NLM_NAME)_link.def $(DEL) $(OBJDIR)\$(NLM_NAME)_link.def
- @echo Generating $@
- @echo -warnings off >> $@
- @echo -zerobss >> $@
- @echo -o $(TARGET_nlm) >> $@
+$(OBJDIR)/$(NLM_NAME)_link.opt : $($(NLM_NAME)_LINKOPT_DEPENDS)
+ $(call DEL,$@)
+ $(call DEL,$(@:.opt=.def))
+# @echo Generating $@
+ @echo $(DL)GEN $@$(DL)
+ @echo $(DL)# Do not edit this file - it is created by make!$(DL) > $@
+ @echo $(DL)# All your changes will be lost!!$(DL)>> $@
+ @echo $(DL)-warnings off$(DL)>> $@
+ @echo $(DL)-zerobss$(DL)>> $@
+ @echo $(DL)-o $(TARGET_nlm)$(DL)>> $@
ifneq "$(FILE_nlm_copyright)" ""
- @-type $(FILE_nlm_copyright) >> $@
+ @-$(CAT) $(FILE_nlm_copyright) >> $@
endif
ifeq "$(RELEASE)" "debug"
- @echo -g >> $@
- @echo -sym internal >> $@
- @echo -sym codeview4 >> $@
- @echo -osym $(OBJDIR)\$(NLM_NAME).sym >> $@
+ @echo $(DL)-g$(DL)>> $@
+ @echo $(DL)-sym internal$(DL)>> $@
+ @echo $(DL)-sym codeview4$(DL)>> $@
+ @echo $(DL)-osym $(OBJDIR)/$(NLM_NAME).sym$(DL)>> $@
else
- @echo -sym internal >> $@
-endif
- @echo -l $(APR)/$(OBJDIR) >> $@
- @echo -l $(APRUTIL)/$(OBJDIR) >> $@
- @echo -l $(APULDAP)/$(OBJDIR) >> $@
- @echo -l $(XML)/$(OBJDIR) >> $@
- @echo -l "$(METROWERKS)/Novell Support/Metrowerks Support/Libraries/Runtime" >> $@
- @echo -l "$(METROWERKS)/Novell Support/Metrowerks Support/Libraries/MSL C++" >> $@
+ @echo $(DL)-sym internal$(DL)>> $@
+endif
+ @echo $(DL)-l $(APR)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-l $(APU)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-l $(APULDAP)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-l $(APUXML)/$(OBJDIR)$(DL)>> $@
+ @echo $(DL)-l $(APR)/misc/netware$(DL)>> $@
+ @echo $(DL)-l $(APR)$(DL)>> $@
+ @echo $(DL)-l "$(METROWERKS)/Novell Support/Metrowerks Support/Libraries/Runtime"$(DL)>> $@
+ @echo $(DL)-l "$(METROWERKS)/Novell Support/Metrowerks Support/Libraries/MSL C++"$(DL)>> $@
ifneq "$(IPV6)" ""
- @echo -l $(NOVELLLIBC)\include\winsock\IPV6 >> $@
+ @echo $(DL)-l $(NOVELLLIBC)/include/winsock/IPV6$(DL)>> $@
endif
- @echo -l $(NOVELLLIBC)/imports >> $@
+ @echo $(DL)-l $(NOVELLLIBC)/imports$(DL)>> $@
ifneq "$(LDAPSDK)" ""
- @echo -l $(LDAPSDK)/lib/nlm >> $@
+ @echo $(DL)-l $(LDAPSDK)/imports$(DL)>> $@
endif
- @echo -nodefaults >> $@
- @echo -map $(OBJDIR)\$(NLM_NAME).map>> $@
+ @echo $(DL)-nodefaults$(DL)>> $@
+ @echo $(DL)-map $(OBJDIR)/$(NLM_NAME).map$(DL)>> $@
ifneq "$(strip $(XLFLAGS))" ""
- @echo $(XLFLAGS) >> $@
+ @echo $(DL)$(XLFLAGS)$(DL)>> $@
endif
ifneq "$(strip $(FILES_nlm_objs))" ""
- @echo $(foreach objfile,$(strip $(FILES_nlm_objs)),$(subst /,\,$(objfile))) >> $@
+ @echo $(DL)$(foreach objfile,$(strip $(FILES_nlm_objs)),$(objfile))$(DL)>> $@
endif
ifneq "$(FILES_nlm_libs)" ""
- @echo $(foreach libfile, $(notdir $(strip $(FILES_nlm_libs))),-l$(subst /,\,$(libfile))) >> $@
+ @echo $(DL)$(foreach libfile, $(notdir $(strip $(FILES_nlm_libs))),-l$(libfile))$(DL)>> $@
endif
- @echo -commandfile $(OBJDIR)\$(NLM_NAME)_link.def >> $@
- @echo # Do not edit this file - it is created by make! > $(OBJDIR)\$(NLM_NAME)_link.def
- @echo # All your changes will be lost!! >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)-commandfile $(@:.opt=.def)$(DL)>> $@
+ @echo $(DL)# Do not edit this file - it is created by make!$(DL)> $(@:.opt=.def)
+ @echo $(DL)# All your changes will be lost!!$(DL)>> $(@:.opt=.def)
ifneq "$(FILE_nlm_msg)" ""
- @echo Messages $(FILE_nlm_msg) >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)Messages $(FILE_nlm_msg)$(DL)>> $(@:.opt=.def)
endif
ifneq "$(FILE_nlm_hlp)" ""
- @echo Help $(FILE_nlm_hlp) >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)Help $(FILE_nlm_hlp)$(DL)>> $(@:.opt=.def)
endif
ifeq "$(FILE_nlm_copyright)" ""
- @echo copyright "$(NLM_COPYRIGHT)" >> $(OBJDIR)\$(NLM_NAME)_link.def
-endif
- @echo description "$(NLM_DESCRIPTION)" >> $(OBJDIR)\$(NLM_NAME)_link.def
- @echo threadname "$(NLM_THREAD_NAME)" >> $(OBJDIR)\$(NLM_NAME)_link.def
-ifneq "$(NLM_STACK_SIZE)" ""
- @echo stacksize $(subst K,000,$(subst k,K,$(strip $(NLM_STACK_SIZE)))) >> $(OBJDIR)\$(NLM_NAME)_link.def
-else
- @echo stacksize 64000 >> $(OBJDIR)\$(NLM_NAME)_link.def
-endif
- @echo screenname "$(NLM_SCREEN_NAME)" >> $(OBJDIR)\$(NLM_NAME)_link.def
-ifneq "$(NLM_VERSION)" ""
- @echo version $(NLM_VERSION) >> $(OBJDIR)\$(NLM_NAME)_link.def
-else
- @echo version $(VERSION) >> $(OBJDIR)\$(NLM_NAME)_link.def
-endif
-ifneq "$(NLM_ENTRY_SYM)" ""
- @echo start $(NLM_ENTRY_SYM) >> $(OBJDIR)\$(NLM_NAME)_link.def
-endif
-ifneq "$(NLM_EXIT_SYM)" ""
- @echo exit $(NLM_EXIT_SYM) >> $(OBJDIR)\$(NLM_NAME)_link.def
-endif
+ @echo $(DL)copyright "$(NLM_COPYRIGHT)"$(DL)>> $(@:.opt=.def)
+endif
+ @echo $(DL)description "$(NLM_DESCRIPTION)"$(DL)>> $(@:.opt=.def)
+ @echo $(DL)threadname "$(NLM_THREAD_NAME)"$(DL)>> $(@:.opt=.def)
+ @echo $(DL)screenname "$(NLM_SCREEN_NAME)"$(DL)>> $(@:.opt=.def)
+ @echo $(DL)stacksize $(subst K,000,$(subst k,K,$(strip $(NLM_STACK_SIZE))))$(DL)>> $(@:.opt=.def)
+ @echo $(DL)version $(NLM_VERSION) $(DL)>> $(@:.opt=.def)
+ @echo $(DL)$(strip $(NLM_FLAGS))$(DL)>> $(@:.opt=.def)
+ @echo $(DL)start $(NLM_ENTRY_SYM)$(DL)>> $(@:.opt=.def)
+ @echo $(DL)exit $(NLM_EXIT_SYM)$(DL)>> $(@:.opt=.def)
ifneq "$(NLM_CHECK_SYM)" ""
- @echo check $(NLM_CHECK_SYM) >> $(OBJDIR)\$(NLM_NAME)_link.def
-endif
-ifneq "$(NLM_FLAGS)" ""
- @echo $(strip $(NLM_FLAGS)) >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)check $(NLM_CHECK_SYM)$(DL)>> $(@:.opt=.def)
endif
ifneq "$(FILES_nlm_modules)" ""
- @echo module $(foreach module,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_modules))),$(subst /,\,$(module))) >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)module $(foreach module,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_modules))),$(module))$(DL)>> $(@:.opt=.def)
endif
ifneq "$(FILES_nlm_Ximports)" ""
- @echo import $(foreach import,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_Ximports))),$(subst /,\,$(import))) >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)import $(foreach import,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_Ximports))),$(import))$(DL)>> $(@:.opt=.def)
endif
ifneq "$(FILES_nlm_exports)" ""
- @echo export $(foreach export,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_exports))),$(subst /,\,$(export))) >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)export $(foreach export,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_exports))),$(export))$(DL)>> $(@:.opt=.def)
endif
-
# if APACHE_UNIPROC is defined, don't include XDCData
ifndef APACHE_UNIPROC
ifneq "$(string $(XDCDATA))" ""
- @echo xdcdata $(XDCDATA) >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)xdcdata $(XDCDATA)$(DL)>> $(@:.opt=.def)
else
- @echo xdcdata $(APR)\misc\netware\apr.xdc >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo $(DL)xdcdata apr.xdc$(DL)>> $(@:.opt=.def)
endif
endif
@@ -313,10 +352,10 @@ else # more than one target so look for individual makefiles.
ifndef NO_LICENSE_FILE
-$(OBJDIR)/%.nlm: NWGNU% $(APR_WORK)\build\NWGNUhead.inc $(APR_WORK)\build\NWGNUtail.inc $(APR_WORK)\build\NWGNUenvironment.inc $(CUSTOM_INI) $(VERSION_INC) FORCE
- @echo Calling $<
+$(OBJDIR)/%.nlm: NWGNU% $(APRBUILD)/NWGNUhead.inc $(APRBUILD)/NWGNUtail.inc $(APRBUILD)/NWGNUenvironment.inc $(CUSTOM_INI) $(VERSION_INC) FORCE
+ @echo $(DL)Calling $<$(DL)
$(MAKE) -f $< $(MAKECMDGOALS) RELEASE=$(RELEASE)
- $(CMD) echo.
+ @$(ECHONL)
else
@@ -327,6 +366,6 @@ endif # NO_LICENSE_FILE
endif # multiple targets
$(INSTDIRS) ::
- $(CHKNOT) $@\NUL mkdir $@
+ $(call MKDIR,$@)
diff --git a/srclib/apr/build/aplibtool.c b/srclib/apr/build/aplibtool.c
index 8f4943c3..ffbdc3f7 100644
--- a/srclib/apr/build/aplibtool.c
+++ b/srclib/apr/build/aplibtool.c
@@ -532,9 +532,9 @@ char *shell_esc(const char *str)
for (; *s; ++s) {
if (*s == '"' || *s == '\\') {
- *d++ = '\\';
- }
- *d++ = *s;
+ *d++ = '\\';
+ }
+ *d++ = *s;
}
*d = '\0';
diff --git a/srclib/apr/build/apr_hints.m4 b/srclib/apr/build/apr_hints.m4
index e6a24661..f638d110 100644
--- a/srclib/apr/build/apr_hints.m4
+++ b/srclib/apr/build/apr_hints.m4
@@ -118,7 +118,7 @@ dnl # Not a problem in 10.20. Otherwise, who knows?
*-hp-hpux*)
APR_ADDTO(CPPFLAGS, [-DHPUX -D_REENTRANT])
;;
- *-linux-*)
+ *-linux*)
case `uname -r` in
2.* ) APR_ADDTO(CPPFLAGS, [-DLINUX=2])
;;
@@ -203,6 +203,9 @@ dnl # Not a problem in 10.20. Otherwise, who knows?
APR_SETIFNULL(ac_cv_func_kqueue, [no])
APR_SETIFNULL(ac_cv_func_poll, [no]) # See issue 34332
;;
+ *-apple-darwin10.*)
+ APR_ADDTO(CPPFLAGS, [-DDARWIN_10])
+ ;;
esac
;;
*-dec-osf*)
@@ -402,7 +405,7 @@ dnl # Not a problem in 10.20. Otherwise, who knows?
APR_ADDTO(LIBS, [-lbind -lsocket])
;;
esac
- APR_ADDTO(CPPFLAGS, [-DSIGPROCMASK_SETS_THREAD_MASK -DAP_AUTH_DBM_USE_APR])
+ APR_ADDTO(CPPFLAGS, [-DSIGPROCMASK_SETS_THREAD_MASK])
;;
4850-*.*)
APR_ADDTO(CPPFLAGS, [-DSVR4 -DMPRAS])
@@ -439,24 +442,43 @@ dnl # Not a problem in 10.20. Otherwise, who knows?
APR_ADDTO(CPPFLAGS, [-DCYGWIN])
;;
*mingw*)
- dnl gcc (3.4.2 at least) seems to mis-optimize at levels greater than
- dnl -O0 producing link-time errors. The user can override by
- dnl explicitly passing a CFLAGS value to configure.
- dnl
- dnl Example error messages:
- dnl undefined reference to 'libmsvcrt_a_iname'
- dnl undefined reference to '_nm___pctype'
- if test "$ac_test_CFLAGS" != set; then
- APR_REMOVEFROM(CFLAGS,-O2)
- APR_ADDTO(CFLAGS,-O0)
- fi
- APR_ADDTO(LDFLAGS, [-Wl,--enable-auto-import,--subsystem,console])
- APR_SETIFNULL(apr_lock_method, [win32])
- APR_SETIFNULL(apr_process_lock_is_global, [yes])
- APR_SETIFNULL(have_unicode_fs, [1])
- APR_SETIFNULL(have_proc_invoked, [1])
- APR_SETIFNULL(apr_cv_use_lfs64, [yes])
- ;;
+ APR_ADDTO(CPPFLAGS, [-DWIN32 -D__MSVCRT__])
+ APR_ADDTO(LDFLAGS, [-Wl,--enable-auto-import,--subsystem,console])
+ APR_SETIFNULL(have_unicode_fs, [1])
+ APR_SETIFNULL(have_proc_invoked, [1])
+ APR_SETIFNULL(apr_lock_method, [win32])
+ APR_SETIFNULL(apr_process_lock_is_global, [yes])
+ APR_SETIFNULL(apr_cv_use_lfs64, [yes])
+ APR_SETIFNULL(apr_cv_osuuid, [yes])
+ APR_SETIFNULL(apr_cv_tcp_nodelay_with_cork, [no])
+ APR_SETIFNULL(apr_thread_func, [__stdcall])
+ APR_SETIFNULL(ac_cv_o_nonblock_inherited, [yes])
+ APR_SETIFNULL(ac_cv_tcp_nodelay_inherited, [yes])
+ APR_SETIFNULL(ac_cv_file__dev_zero, [no])
+ APR_SETIFNULL(ac_cv_func_setpgrp_void, [no])
+ APR_SETIFNULL(ac_cv_func_mmap, [yes])
+ APR_SETIFNULL(ac_cv_define_sockaddr_in6, [yes])
+ APR_SETIFNULL(ac_cv_working_getaddrinfo, [yes])
+ APR_SETIFNULL(ac_cv_working_getnameinfo, [yes])
+ APR_SETIFNULL(ac_cv_func_gai_strerror, [yes])
+ case $host in
+ *mingw32*)
+ APR_SETIFNULL(apr_has_xthread_files, [1])
+ APR_SETIFNULL(apr_has_user, [1])
+ APR_SETIFNULL(apr_procattr_user_set_requires_password, [1])
+ dnl The real function is TransmitFile(), not sendfile(), but
+ dnl this bypasses the Linux/Solaris/AIX/etc. test and enables
+ dnl the TransmitFile() implementation.
+ APR_SETIFNULL(ac_cv_func_sendfile, [yes])
+ ;;
+ *mingwce)
+ APR_SETIFNULL(apr_has_xthread_files, [0])
+ APR_SETIFNULL(apr_has_user, [0])
+ APR_SETIFNULL(apr_procattr_user_set_requires_password, [0])
+ APR_SETIFNULL(ac_cv_func_sendfile, [no])
+ ;;
+ esac
+ ;;
esac
fi
diff --git a/srclib/apr/build/apr_rules.mk.in b/srclib/apr/build/apr_rules.mk.in
index 80c2b433..03e02aa8 100644
--- a/srclib/apr/build/apr_rules.mk.in
+++ b/srclib/apr/build/apr_rules.mk.in
@@ -26,6 +26,7 @@
#
apr_builddir=@apr_builddir@
apr_builders=@apr_builders@
+top_builddir=@apr_builddir@
# Some layouts require knowing what version we are at.
APR_MAJOR_VERSION=@APR_MAJOR_VERSION@
diff --git a/srclib/apr/build/aprapp.dep b/srclib/apr/build/aprapp.dep
new file mode 100644
index 00000000..0155a451
--- /dev/null
+++ b/srclib/apr/build/aprapp.dep
@@ -0,0 +1,10 @@
+# Microsoft Developer Studio Generated Dependency File, included by aprapp.mak
+
+..\misc\win32\apr_app.c : \
+ "..\include\apr_getopt.h"\
+ "..\include\apr_lib.h"\
+ "..\include\apr_poll.h"\
+ "..\include\apr_portable.h"\
+ "..\include\arch\win32\apr_arch_file_io.h"\
+ "..\include\arch\win32\apr_arch_utf8.h"\
+
diff --git a/srclib/apr/build/aprapp.mak b/srclib/apr/build/aprapp.mak
new file mode 100644
index 00000000..f0b61ce8
--- /dev/null
+++ b/srclib/apr/build/aprapp.mak
@@ -0,0 +1,614 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on aprapp.dsp
+!IF "$(CFG)" == ""
+CFG=aprapp - Win32 Release
+!MESSAGE No configuration specified. Defaulting to aprapp - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "aprapp - Win32 Release" && "$(CFG)" != "aprapp - Win32 Debug" && "$(CFG)" != "aprapp - Win32 Release9x" && "$(CFG)" != "aprapp - Win32 Debug9x" && "$(CFG)" != "aprapp - x64 Release" && "$(CFG)" != "aprapp - x64 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "aprapp.mak" CFG="aprapp - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "aprapp - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "aprapp - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE "aprapp - Win32 Release9x" (based on "Win32 (x86) Static Library")
+!MESSAGE "aprapp - Win32 Debug9x" (based on "Win32 (x86) Static Library")
+!MESSAGE "aprapp - x64 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "aprapp - x64 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "aprapp - Win32 Release"
+
+OUTDIR=.\..\LibR
+INTDIR=.\LibR
+# Begin Custom Macros
+OutDir=.\..\LibR
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\aprapp-1.lib"
+
+!ELSE
+
+ALL : "preaprapp - Win32 Release" "$(OUTDIR)\aprapp-1.lib"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"preaprapp - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\apr_app.obj"
+ -@erase "$(OUTDIR)\aprapp-1.lib"
+ -@erase "..\LibR\aprapp-1.idb"
+ -@erase "..\LibR\aprapp-1.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../include" /I "../include/arch" /I "../include/arch/win32" /I "../include/arch/unix" /D "NDEBUG" /D "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-1" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\aprapp.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_app.obj"
+
+"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "aprapp - Win32 Debug"
+
+OUTDIR=.\..\LibD
+INTDIR=.\LibD
+# Begin Custom Macros
+OutDir=.\..\LibD
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\aprapp-1.lib"
+
+!ELSE
+
+ALL : "preaprapp - Win32 Debug" "$(OUTDIR)\aprapp-1.lib"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"preaprapp - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\apr_app.obj"
+ -@erase "$(OUTDIR)\aprapp-1.lib"
+ -@erase "..\LibD\aprapp-1.idb"
+ -@erase "..\LibD\aprapp-1.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../include" /I "../include/arch" /I "../include/arch/win32" /I "../include/arch/unix" /D "_DEBUG" /D "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-1" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\aprapp.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_app.obj"
+
+"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "aprapp - Win32 Release9x"
+
+OUTDIR=.\..\9x\LibR
+INTDIR=.\9x\LibR
+# Begin Custom Macros
+OutDir=.\..\9x\LibR
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\aprapp-1.lib"
+
+!ELSE
+
+ALL : "preaprapp - Win32 Release9x" "$(OUTDIR)\aprapp-1.lib"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"preaprapp - Win32 Release9xCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\apr_app.obj"
+ -@erase "$(OUTDIR)\aprapp-1.lib"
+ -@erase "..\9x\LibR\aprapp-1.idb"
+ -@erase "..\9x\LibR\aprapp-1.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../include" /I "../include/arch" /I "../include/arch/win32" /I "../include/arch/unix" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-1" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\aprapp.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_app.obj"
+
+"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "aprapp - Win32 Debug9x"
+
+OUTDIR=.\..\9x\LibD
+INTDIR=.\9x\LibD
+# Begin Custom Macros
+OutDir=.\..\9x\LibD
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\aprapp-1.lib"
+
+!ELSE
+
+ALL : "preaprapp - Win32 Debug9x" "$(OUTDIR)\aprapp-1.lib"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"preaprapp - Win32 Debug9xCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\apr_app.obj"
+ -@erase "$(OUTDIR)\aprapp-1.lib"
+ -@erase "..\9x\LibD\aprapp-1.idb"
+ -@erase "..\9x\LibD\aprapp-1.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../include" /I "../include/arch" /I "../include/arch/win32" /I "../include/arch/unix" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-1" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\aprapp.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_app.obj"
+
+"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "aprapp - x64 Release"
+
+OUTDIR=.\..\x64\LibR
+INTDIR=.\x64\LibR
+# Begin Custom Macros
+OutDir=.\..\x64\LibR
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\aprapp-1.lib"
+
+!ELSE
+
+ALL : "preaprapp - x64 Release" "$(OUTDIR)\aprapp-1.lib"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"preaprapp - x64 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\apr_app.obj"
+ -@erase "$(OUTDIR)\aprapp-1.lib"
+ -@erase "..\x64\LibR\aprapp-1.idb"
+ -@erase "..\x64\LibR\aprapp-1.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../include" /I "../include/arch" /I "../include/arch/win32" /I "../include/arch/unix" /D "NDEBUG" /D "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-1" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\aprapp.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_app.obj"
+
+"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "aprapp - x64 Debug"
+
+OUTDIR=.\..\x64\LibD
+INTDIR=.\x64\LibD
+# Begin Custom Macros
+OutDir=.\..\x64\LibD
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\aprapp-1.lib"
+
+!ELSE
+
+ALL : "preaprapp - x64 Debug" "$(OUTDIR)\aprapp-1.lib"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"preaprapp - x64 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\apr_app.obj"
+ -@erase "$(OUTDIR)\aprapp-1.lib"
+ -@erase "..\x64\LibD\aprapp-1.idb"
+ -@erase "..\x64\LibD\aprapp-1.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../include" /I "../include/arch" /I "../include/arch/win32" /I "../include/arch/unix" /D "_DEBUG" /D "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-1" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\aprapp.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_app.obj"
+
+"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("aprapp.dep")
+!INCLUDE "aprapp.dep"
+!ELSE
+!MESSAGE Warning: cannot find "aprapp.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "aprapp - Win32 Release" || "$(CFG)" == "aprapp - Win32 Debug" || "$(CFG)" == "aprapp - Win32 Release9x" || "$(CFG)" == "aprapp - Win32 Debug9x" || "$(CFG)" == "aprapp - x64 Release" || "$(CFG)" == "aprapp - x64 Debug"
+
+!IF "$(CFG)" == "aprapp - Win32 Release"
+
+"preaprapp - Win32 Release" :
+ cd "."
+ NMAKE /nologo /f NUL
+ cd "."
+
+"preaprapp - Win32 ReleaseCLEAN" :
+ cd "."
+ cd "."
+
+!ELSEIF "$(CFG)" == "aprapp - Win32 Debug"
+
+"preaprapp - Win32 Debug" :
+ cd "."
+ NMAKE /nologo /f NUL
+ cd "."
+
+"preaprapp - Win32 DebugCLEAN" :
+ cd "."
+ cd "."
+
+!ELSEIF "$(CFG)" == "aprapp - Win32 Release9x"
+
+"preaprapp - Win32 Release9x" :
+ cd "."
+ NMAKE /nologo /f NUL
+ cd "."
+
+"preaprapp - Win32 Release9xCLEAN" :
+ cd "."
+ cd "."
+
+!ELSEIF "$(CFG)" == "aprapp - Win32 Debug9x"
+
+"preaprapp - Win32 Debug9x" :
+ cd "."
+ NMAKE /nologo /f NUL
+ cd "."
+
+"preaprapp - Win32 Debug9xCLEAN" :
+ cd "."
+ cd "."
+
+!ELSEIF "$(CFG)" == "aprapp - x64 Release"
+
+"preaprapp - x64 Release" :
+ cd "."
+ NMAKE /nologo /f NUL
+ cd "."
+
+"preaprapp - x64 ReleaseCLEAN" :
+ cd "."
+ cd "."
+
+!ELSEIF "$(CFG)" == "aprapp - x64 Debug"
+
+"preaprapp - x64 Debug" :
+ cd "."
+ NMAKE /nologo /f NUL
+ cd "."
+
+"preaprapp - x64 DebugCLEAN" :
+ cd "."
+ cd "."
+
+!ENDIF
+
+SOURCE=..\misc\win32\apr_app.c
+
+"$(INTDIR)\apr_app.obj" : $(SOURCE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+
+!ENDIF
+
diff --git a/srclib/apr/build/find_apr.m4 b/srclib/apr/build/find_apr.m4
index 88f64a7e..925e523f 100644
--- a/srclib/apr/build/find_apr.m4
+++ b/srclib/apr/build/find_apr.m4
@@ -176,7 +176,7 @@ AC_DEFUN([APR_FIND_APR], [
fi
dnl if we have not found anything yet and have bundled source, use that
if test "$apr_found" = "no" && test -d "$1"; then
- apr_temp_abs_srcdir="`cd $1 && pwd`"
+ apr_temp_abs_srcdir="`cd \"$1\" && pwd`"
apr_found="reconfig"
apr_bundled_major="`sed -n '/#define.*APR_MAJOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p' \"$1/include/apr_version.h\"`"
case $apr_bundled_major in
diff --git a/srclib/apr/build/fixwin32mak.pl b/srclib/apr/build/fixwin32mak.pl
index b559eecc..49853b34 100644
--- a/srclib/apr/build/fixwin32mak.pl
+++ b/srclib/apr/build/fixwin32mak.pl
@@ -135,6 +135,28 @@ sub fixcwd {
print "Touched datestamp for " . $oname . " in " . $File::Find::dir . "\n";
}
$oname =~ s/.mak$/.dep/;
+ $verchg = 0;
+ $srcfl = new IO::File $oname, "r" || die;
+ $dstfl = new IO::File $tname, "w" || die;
+ while ($src = <$srcfl>) {
+ if (($src =~ m/^\t"(\.\.\\)+(apr|apr-util|apr-iconv)\\.*"\\/) ||
+ ($src =~ m/^\t{\$\(INCLUDE\)}".*"\\/)) {
+ $verchg = -1;
+ }
+ else {
+ print $dstfl $src;
+ }
+ }
+ undef $srcfl;
+ undef $dstfl;
+ if ($verchg) {
+ unlink $oname || die;
+ rename $tname, $oname || die;
+ print "Stripped external dependencies from " . $oname . " in " . $File::Find::dir . "\n";
+ }
+ else {
+ unlink $tname || die;
+ }
@ostat = stat($oname);
if ($ostat[9] && $dstat[9] && ($ostat[9] != $dstat[9])) {
@onames = ($oname);
diff --git a/srclib/apr/build/gen-build.py b/srclib/apr/build/gen-build.py
index d59bf1d4..aa94c33f 100755
--- a/srclib/apr/build/gen-build.py
+++ b/srclib/apr/build/gen-build.py
@@ -111,12 +111,16 @@ def main():
symname = 'OBJECTS_%s_%s' % (subdir, platform)
+ objects.sort()
+
# and write the symbol for the whole group
f.write('\n%s = %s\n\n' % (symname, string.join(objects)))
# and include that symbol in the group
group.append('$(%s)' % symname)
+ group.sort()
+
# write out a symbol which contains the necessary files
f.write('OBJECTS_%s = %s\n\n' % (platform, string.join(group)))
@@ -176,7 +180,11 @@ def write_objects(f, legal_deps, h_deps, files):
for hdr in deps.keys():
deps.update(h_deps.get(hdr, {}))
- f.write('%s: %s .make.dirs %s\n' % (obj, file, string.join(deps.values())))
+ vals = deps.values()
+ vals.sort()
+ f.write('%s: %s .make.dirs %s\n' % (obj, file, string.join(vals)))
+
+ objects.sort()
return objects, dirs
@@ -214,6 +222,7 @@ def get_files(patterns):
files = [ ]
for pat in string.split(patterns):
files.extend(map(clean_path, glob.glob(pat)))
+ files.sort()
return files
diff --git a/srclib/apr/build/libaprapp.dep b/srclib/apr/build/libaprapp.dep
new file mode 100644
index 00000000..eb02b820
--- /dev/null
+++ b/srclib/apr/build/libaprapp.dep
@@ -0,0 +1,19 @@
+# Microsoft Developer Studio Generated Dependency File, included by libaprapp.mak
+
+..\misc\win32\apr_app.c : \
+ "..\include\apr_getopt.h"\
+ "..\include\apr_lib.h"\
+ "..\include\apr_poll.h"\
+ "..\include\apr_portable.h"\
+ "..\include\arch\win32\apr_arch_file_io.h"\
+ "..\include\arch\win32\apr_arch_utf8.h"\
+
+
+..\misc\win32\internal.c : \
+ "..\include\apr_getopt.h"\
+ "..\include\apr_lib.h"\
+ "..\include\apr_poll.h"\
+ "..\include\apr_portable.h"\
+ "..\include\arch\win32\apr_arch_file_io.h"\
+ "..\include\arch\win32\apr_arch_utf8.h"\
+
diff --git a/srclib/apr/build/libaprapp.mak b/srclib/apr/build/libaprapp.mak
new file mode 100644
index 00000000..450d41c3
--- /dev/null
+++ b/srclib/apr/build/libaprapp.mak
@@ -0,0 +1,632 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on libaprapp.dsp
+!IF "$(CFG)" == ""
+CFG=libaprapp - Win32 Release
+!MESSAGE No configuration specified. Defaulting to libaprapp - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "libaprapp - Win32 Release" && "$(CFG)" != "libaprapp - Win32 Debug" && "$(CFG)" != "libaprapp - Win32 Release9x" && "$(CFG)" != "libaprapp - Win32 Debug9x" && "$(CFG)" != "libaprapp - x64 Release" && "$(CFG)" != "libaprapp - x64 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "libaprapp.mak" CFG="libaprapp - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "libaprapp - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "libaprapp - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE "libaprapp - Win32 Release9x" (based on "Win32 (x86) Static Library")
+!MESSAGE "libaprapp - Win32 Debug9x" (based on "Win32 (x86) Static Library")
+!MESSAGE "libaprapp - x64 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "libaprapp - x64 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "libaprapp - Win32 Release"
+
+OUTDIR=.\..\Release
+INTDIR=.\Release
+# Begin Custom Macros
+OutDir=.\..\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\libaprapp-1.lib"
+
+!ELSE
+
+ALL : "prelibaprapp - Win32 Release" "$(OUTDIR)\libaprapp-1.lib"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"prelibaprapp - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\apr_app.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(OUTDIR)\libaprapp-1.lib"
+ -@erase "..\Release\libaprapp-1.idb"
+ -@erase "..\Release\libaprapp-1.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../include" /I "../include/arch" /I "../include/arch/win32" /I "../include/arch/unix" /D "NDEBUG" /D "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-1" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libaprapp.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_app.obj" \
+ "$(INTDIR)\internal.obj"
+
+"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "libaprapp - Win32 Debug"
+
+OUTDIR=.\..\Debug
+INTDIR=.\Debug
+# Begin Custom Macros
+OutDir=.\..\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\libaprapp-1.lib"
+
+!ELSE
+
+ALL : "prelibaprapp - Win32 Debug" "$(OUTDIR)\libaprapp-1.lib"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"prelibaprapp - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\apr_app.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(OUTDIR)\libaprapp-1.lib"
+ -@erase "..\Debug\libaprapp-1.idb"
+ -@erase "..\Debug\libaprapp-1.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../include" /I "../include/arch" /I "../include/arch/win32" /I "../include/arch/unix" /D "_DEBUG" /D "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-1" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libaprapp.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_app.obj" \
+ "$(INTDIR)\internal.obj"
+
+"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "libaprapp - Win32 Release9x"
+
+OUTDIR=.\..\9x\Release
+INTDIR=.\9x\Release
+# Begin Custom Macros
+OutDir=.\..\9x\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\libaprapp-1.lib"
+
+!ELSE
+
+ALL : "prelibaprapp - Win32 Release9x" "$(OUTDIR)\libaprapp-1.lib"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"prelibaprapp - Win32 Release9xCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\apr_app.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(OUTDIR)\libaprapp-1.lib"
+ -@erase "..\9x\Release\libaprapp-1.idb"
+ -@erase "..\9x\Release\libaprapp-1.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../include" /I "../include/arch" /I "../include/arch/win32" /I "../include/arch/unix" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-1" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libaprapp.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_app.obj" \
+ "$(INTDIR)\internal.obj"
+
+"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "libaprapp - Win32 Debug9x"
+
+OUTDIR=.\..\9x\Debug
+INTDIR=.\9x\Debug
+# Begin Custom Macros
+OutDir=.\..\9x\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\libaprapp-1.lib"
+
+!ELSE
+
+ALL : "prelibaprapp - Win32 Debug9x" "$(OUTDIR)\libaprapp-1.lib"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"prelibaprapp - Win32 Debug9xCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\apr_app.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(OUTDIR)\libaprapp-1.lib"
+ -@erase "..\9x\Debug\libaprapp-1.idb"
+ -@erase "..\9x\Debug\libaprapp-1.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../include" /I "../include/arch" /I "../include/arch/win32" /I "../include/arch/unix" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-1" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libaprapp.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_app.obj" \
+ "$(INTDIR)\internal.obj"
+
+"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "libaprapp - x64 Release"
+
+OUTDIR=.\..\x64\Release
+INTDIR=.\x64\Release
+# Begin Custom Macros
+OutDir=.\..\x64\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\libaprapp-1.lib"
+
+!ELSE
+
+ALL : "prelibaprapp - x64 Release" "$(OUTDIR)\libaprapp-1.lib"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"prelibaprapp - x64 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\apr_app.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(OUTDIR)\libaprapp-1.lib"
+ -@erase "..\x64\Release\libaprapp-1.idb"
+ -@erase "..\x64\Release\libaprapp-1.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../include" /I "../include/arch" /I "../include/arch/win32" /I "../include/arch/unix" /D "NDEBUG" /D "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-1" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libaprapp.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_app.obj" \
+ "$(INTDIR)\internal.obj"
+
+"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "libaprapp - x64 Debug"
+
+OUTDIR=.\..\x64\Debug
+INTDIR=.\x64\Debug
+# Begin Custom Macros
+OutDir=.\..\x64\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\libaprapp-1.lib"
+
+!ELSE
+
+ALL : "prelibaprapp - x64 Debug" "$(OUTDIR)\libaprapp-1.lib"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"prelibaprapp - x64 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\apr_app.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(OUTDIR)\libaprapp-1.lib"
+ -@erase "..\x64\Debug\libaprapp-1.idb"
+ -@erase "..\x64\Debug\libaprapp-1.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../include" /I "../include/arch" /I "../include/arch/win32" /I "../include/arch/unix" /D "_DEBUG" /D "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-1" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libaprapp.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_app.obj" \
+ "$(INTDIR)\internal.obj"
+
+"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("libaprapp.dep")
+!INCLUDE "libaprapp.dep"
+!ELSE
+!MESSAGE Warning: cannot find "libaprapp.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "libaprapp - Win32 Release" || "$(CFG)" == "libaprapp - Win32 Debug" || "$(CFG)" == "libaprapp - Win32 Release9x" || "$(CFG)" == "libaprapp - Win32 Debug9x" || "$(CFG)" == "libaprapp - x64 Release" || "$(CFG)" == "libaprapp - x64 Debug"
+
+!IF "$(CFG)" == "libaprapp - Win32 Release"
+
+"prelibaprapp - Win32 Release" :
+ cd "."
+ NMAKE /nologo /f NUL
+ cd "."
+
+"prelibaprapp - Win32 ReleaseCLEAN" :
+ cd "."
+ cd "."
+
+!ELSEIF "$(CFG)" == "libaprapp - Win32 Debug"
+
+"prelibaprapp - Win32 Debug" :
+ cd "."
+ NMAKE /nologo /f NUL
+ cd "."
+
+"prelibaprapp - Win32 DebugCLEAN" :
+ cd "."
+ cd "."
+
+!ELSEIF "$(CFG)" == "libaprapp - Win32 Release9x"
+
+"prelibaprapp - Win32 Release9x" :
+ cd "."
+ NMAKE /nologo /f NUL
+ cd "."
+
+"prelibaprapp - Win32 Release9xCLEAN" :
+ cd "."
+ cd "."
+
+!ELSEIF "$(CFG)" == "libaprapp - Win32 Debug9x"
+
+"prelibaprapp - Win32 Debug9x" :
+ cd "."
+ NMAKE /nologo /f NUL
+ cd "."
+
+"prelibaprapp - Win32 Debug9xCLEAN" :
+ cd "."
+ cd "."
+
+!ELSEIF "$(CFG)" == "libaprapp - x64 Release"
+
+"prelibaprapp - x64 Release" :
+ cd "."
+ NMAKE /nologo /f NUL
+ cd "."
+
+"prelibaprapp - x64 ReleaseCLEAN" :
+ cd "."
+ cd "."
+
+!ELSEIF "$(CFG)" == "libaprapp - x64 Debug"
+
+"prelibaprapp - x64 Debug" :
+ cd "."
+ NMAKE /nologo /f NUL
+ cd "."
+
+"prelibaprapp - x64 DebugCLEAN" :
+ cd "."
+ cd "."
+
+!ENDIF
+
+SOURCE=..\misc\win32\apr_app.c
+
+"$(INTDIR)\apr_app.obj" : $(SOURCE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\misc\win32\internal.c
+
+"$(INTDIR)\internal.obj" : $(SOURCE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+
+!ENDIF
+
diff --git a/srclib/apr/build/make_nw_export.awk b/srclib/apr/build/make_nw_export.awk
index cf44e5b0..b3e94834 100644
--- a/srclib/apr/build/make_nw_export.awk
+++ b/srclib/apr/build/make_nw_export.awk
@@ -1,33 +1,39 @@
+# 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.
+#
# Based on apr's make_export.awk, which is
# based on Ryan Bloom's make_export.pl
+#
BEGIN {
- printf(" ("EXPPREFIX")\n")
+ add_symbol("apr_wait_for_io_or_timeout")
+}
+
+function add_symbol(sym_name) {
+ sub(" ", "", sym_name)
+ exports[++idx] = sym_name
}
# List of functions that we don't support, yet??
#/apr_##name##_set_inherit/{next}
#/apr_##name##_unset_inherit/{next}
-
-function add_symbol (sym_name) {
- if (count) {
- found++
- }
- gsub (/ /, "", sym_name)
- line = line sym_name ",\n"
-
- if (count == 0) {
- printf(" %s", line)
- line = ""
- }
-}
-
/^[ \t]*AP[RUI]?_DECLARE[^(]*[(][^)]*[)]([^ ]* )*[^(]+[(]/ {
sub("[ \t]*AP[RUI]?_DECLARE[^(]*[(][^)]*[)][ \t]*", "")
sub("[(].*", "")
sub("([^ ]* (^([ \t]*[(])))+", "")
-
add_symbol($0)
next
}
@@ -37,7 +43,6 @@ function add_symbol (sym_name) {
symbol = args[2]
sub("^[ \t]+", "", symbol)
sub("[ \t]+$", "", symbol)
-
add_symbol("ap_hook_" symbol)
add_symbol("ap_hook_get_" symbol)
add_symbol("ap_run_" symbol)
@@ -65,15 +70,37 @@ function add_symbol (sym_name) {
next
}
-/^[ \t]*AP[RUI]?_DECLARE_DATA .*;$/ {
- varname = $NF;
- gsub( /[*;]/, "", varname);
- gsub( /\[.*\]/, "", varname);
- add_symbol(varname);
+/^[ \t]*AP[RUI]?_DECLARE_DATA .*;/ {
+ gsub(/[*;\n\r]/, "", $NF)
+ gsub(/\[.*\]/, "", $NF)
+ add_symbol($NF)
}
END {
- add_symbol("apr_wait_for_io_or_timeout");
-# printf(" %s", line)
+ printf("Added %d symbols to export list.\n", idx) > "/dev/stderr"
+ # sort symbols with shell sort
+ increment = int(idx / 2)
+ while (increment > 0) {
+ for (i = increment+1; i <= idx; i++) {
+ j = i
+ temp = exports[i]
+ while ((j >= increment+1) && (exports[j-increment] > temp)) {
+ exports[j] = exports[j-increment]
+ j -= increment
+ }
+ exports[j] = temp
+ }
+ if (increment == 2)
+ increment = 1
+ else
+ increment = int(increment*5/11)
+ }
+ # print the array
+ printf(" (%s)\n", EXPPREFIX)
+ while (x < idx - 1) {
+ printf(" %s,\n", exports[++x])
+ }
+ printf(" %s\n", exports[++x])
}
+
diff --git a/srclib/apr/buildconf b/srclib/apr/buildconf
index 1041af40..f8c4810f 100755
--- a/srclib/apr/buildconf
+++ b/srclib/apr/buildconf
@@ -40,25 +40,20 @@ fi
# Note: APR supplies its own config.guess and config.sub -- we do not
# rely on libtool's versions
#
-echo "Copying libtool helper files ..."
+echo "buildconf: copying libtool helper files using $libtoolize"
# Remove any libtool files so one can switch between libtool 1.3
# and libtool 1.4 by simply rerunning the buildconf script.
-(cd build ; rm -f ltconfig ltmain.sh libtool.m4)
-
-$libtoolize --copy --automake --force $verbose
-
-if [ -f libtool.m4 ]; then
- ltfile=`pwd`/libtool.m4
-elif grep all_pkgmacro_files $libtoolize > /dev/null; then
- # libtool 2.x
- aclocal_dir=`sed -n '/^aclocaldir=/{s/.*=//;p;q;}' < $libtoolize`
- ltfiles=`sed -n '/^all_pkgmacro_files=/{s/.*=//;;s/"//;p;q;}' < $libtoolize`
- for f in $ltfiles; do
- test -f "$aclocal_dir/$f" && cp "$aclocal_dir/$f" build
- done
- ltfile=$aclocal_dir/libtool.m4
-else
+(cd build ; rm -f ltconfig ltmain.sh libtool.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4)
+
+lt_pversion=`$libtoolize --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
+lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
+IFS=.; set $lt_version; IFS=' '
+if test "$1" = "1"; then
+ $libtoolize --copy --automake --force $verbose
+ if [ -f libtool.m4 ]; then
+ ltfile=`pwd`/libtool.m4
+ else
ltfindcmd="`sed -n \"/=[^\\\`]/p;/libtool_m4=/{s/.*=/echo /p;q;}\" \
< $libtoolize`"
ltfile=${LIBTOOL_M4-`eval "$ltfindcmd"`}
@@ -67,21 +62,17 @@ else
ltpath=`dirname $libtoolize`
ltfile=`cd $ltpath/../share/aclocal ; pwd`/libtool.m4
fi
-fi
-
-if [ ! -f $ltfile ]; then
+ fi
+ if [ ! -f $ltfile ]; then
echo "$ltfile not found"
exit 1
+ fi
+ # Do we need this anymore?
+ echo "buildconf: Using libtool.m4 at ${ltfile}."
+ cat $ltfile | sed -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' > build/libtool.m4
fi
-
-echo "buildconf: Using libtool.m4 at ${ltfile}."
-
-cat $ltfile | sed -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' > build/libtool.m4
-
-# libtool.m4 from 1.6 requires ltsugar.m4
-if [ -f ltsugar.m4 ]; then
- rm -f build/ltsugar.m4
- mv ltsugar.m4 build/ltsugar.m4
+if test "$1" = "2"; then
+ $libtoolize --copy --force $verbose
fi
# Clean up any leftovers
@@ -90,22 +81,22 @@ rm -f aclocal.m4 libtool.m4
#
# Generate the autoconf header and ./configure
#
-echo "Creating include/arch/unix/apr_private.h.in ..."
+echo "buildconf: creating include/arch/unix/apr_private.h.in ..."
${AUTOHEADER:-autoheader} $verbose
-echo "Creating configure ..."
+echo "buildconf: creating configure ..."
### do some work to toss config.cache?
${AUTOCONF:-autoconf} $verbose
# Remove autoconf 2.5x's cache directory
rm -rf autom4te*.cache
-echo "Generating 'make' outputs ..."
+echo "buildconf: generating 'make' outputs ..."
build/gen-build.py $verbose make
# Create RPM Spec file
if [ -f `which cut` ]; then
- echo rebuilding rpm spec file
+ echo "buildconf: rebuilding rpm spec file"
( REVISION=`build/get-version.sh all include/apr_version.h APR`
VERSION=`echo $REVISION | cut -d- -s -f1`
RELEASE=`echo $REVISION | cut -d- -s -f2`
diff --git a/srclib/apr/configure b/srclib/apr/configure
index 15a558b2..45de0cd2 100755
--- a/srclib/apr/configure
+++ b/srclib/apr/configure
@@ -809,6 +809,10 @@ EXTRA_LIBS
EXTRA_LDFLAGS
EXTRA_CFLAGS
EXTRA_CPPFLAGS
+apr_has_user
+apr_thread_func
+apr_procattr_user_set_requires_password
+apr_has_xthread_files
have_unicode_fs
have_ipv6
have_sa_storage
@@ -871,6 +875,7 @@ winsock2h
windowsh
semaphoreh
pthreadh
+processh
sys_waith
signalh
unistdh
@@ -968,7 +973,6 @@ NMEDIT
DSYMUTIL
STRIP
ECHO
-SED
APR_LIBNAME
apr_charset_ebcdic
EGREP
@@ -985,6 +989,7 @@ LN_S
AWK
CPP
SET_MAKE
+SED
OBJEXT
EXEEXT
ac_ct_CC
@@ -1072,6 +1077,7 @@ enable_nonportable_atomics
enable_threads
with_efence
with_sendfile
+enable_allocator_uses_mmap
enable_dso
enable_other_child
with_egd
@@ -1732,6 +1738,7 @@ Optional Features:
--disable-lfs Disable large file support on 32-bit platforms
--enable-nonportable-atomics Use optimized atomic code which may produce nonportable binaries
--enable-threads Enable threading support in APR.
+ --enable-allocator-uses-mmap Use mmap in apr_allocator instead of malloc (experimental)
--disable-dso Disable DSO support
--enable-other-child Enable reliable child processes
--disable-ipv6 Disable IPv6 support in APR.
@@ -2392,6 +2399,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007,
## 2008 Free Software Foundation, Inc.
@@ -4392,6 +4400,78 @@ 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:$LINENO: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${ac_cv_path_SED+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ $as_unset ac_script || ac_script=
+ if test -z "$SED"; then
+ ac_path_SED_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
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_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_SED_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
+
+
if test "x$apr_preload_done" != "xyes" ; then
@@ -4927,7 +5007,7 @@ if test "x$apr_preload_done" != "xyes" ; then
fi
;;
- *-linux-*)
+ *-linux*)
case `uname -r` in
2.* )
if test "x$CPPFLAGS" = "x"; then
@@ -5382,6 +5462,29 @@ if test "x$apr_preload_done" != "xyes" ; then
fi
# See issue 34332
;;
+ *-apple-darwin10.*)
+
+ if test "x$CPPFLAGS" = "x"; then
+ test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DDARWIN_10\""
+ CPPFLAGS="-DDARWIN_10"
+ else
+ apr_addto_bugger="-DDARWIN_10"
+ 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
+
+ ;;
esac
;;
*-dec-osf*)
@@ -7291,10 +7394,10 @@ if test "x$apr_preload_done" != "xyes" ; then
esac
if test "x$CPPFLAGS" = "x"; then
- test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DSIGPROCMASK_SETS_THREAD_MASK -DAP_AUTH_DBM_USE_APR\""
- CPPFLAGS="-DSIGPROCMASK_SETS_THREAD_MASK -DAP_AUTH_DBM_USE_APR"
+ test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DSIGPROCMASK_SETS_THREAD_MASK\""
+ CPPFLAGS="-DSIGPROCMASK_SETS_THREAD_MASK"
else
- apr_addto_bugger="-DSIGPROCMASK_SETS_THREAD_MASK -DAP_AUTH_DBM_USE_APR"
+ apr_addto_bugger="-DSIGPROCMASK_SETS_THREAD_MASK"
for i in $apr_addto_bugger; do
apr_addto_duplicate="0"
for j in $CPPFLAGS; do
@@ -7580,49 +7683,27 @@ _ACEOF
;;
*mingw*)
- if test "$ac_test_CFLAGS" != set; then
-
- if test "x$CFLAGS" = "x-O2"; then
- test "x$silent" != "xyes" && echo " nulling CFLAGS"
- CFLAGS=""
- else
- apr_new_bugger=""
- apr_removed=0
- for i in $CFLAGS; do
- if test "x$i" != "x-O2"; then
- apr_new_bugger="$apr_new_bugger $i"
- else
- apr_removed=1
- fi
- done
- if test $apr_removed = "1"; then
- test "x$silent" != "xyes" && echo " removed \"-O2\" from CFLAGS"
- CFLAGS=$apr_new_bugger
- fi
- fi
-
- if test "x$CFLAGS" = "x"; then
- test "x$silent" != "xyes" && echo " setting CFLAGS to \"-O0\""
- CFLAGS="-O0"
+ if test "x$CPPFLAGS" = "x"; then
+ test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DWIN32 -D__MSVCRT__\""
+ CPPFLAGS="-DWIN32 -D__MSVCRT__"
else
- apr_addto_bugger="-O0"
+ apr_addto_bugger="-DWIN32 -D__MSVCRT__"
for i in $apr_addto_bugger; do
apr_addto_duplicate="0"
- for j in $CFLAGS; do
+ 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 CFLAGS"
- CFLAGS="$CFLAGS $i"
+ test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $i"
fi
done
fi
- fi
if test "x$LDFLAGS" = "x"; then
test "x$silent" != "xyes" && echo " setting LDFLAGS to \"-Wl,--enable-auto-import,--subsystem,console\""
@@ -7645,6 +7726,18 @@ _ACEOF
fi
+ if test -z "$have_unicode_fs"; then
+ test "x$silent" != "xyes" && echo " setting have_unicode_fs to \"1\""
+ have_unicode_fs="1"
+ fi
+
+
+ if test -z "$have_proc_invoked"; then
+ test "x$silent" != "xyes" && echo " setting have_proc_invoked to \"1\""
+ have_proc_invoked="1"
+ fi
+
+
if test -z "$apr_lock_method"; then
test "x$silent" != "xyes" && echo " setting apr_lock_method to \"win32\""
apr_lock_method="win32"
@@ -7657,24 +7750,138 @@ _ACEOF
fi
- if test -z "$have_unicode_fs"; then
- test "x$silent" != "xyes" && echo " setting have_unicode_fs to \"1\""
- have_unicode_fs="1"
+ if test -z "$apr_cv_use_lfs64"; then
+ test "x$silent" != "xyes" && echo " setting apr_cv_use_lfs64 to \"yes\""
+ apr_cv_use_lfs64="yes"
fi
- if test -z "$have_proc_invoked"; then
- test "x$silent" != "xyes" && echo " setting have_proc_invoked to \"1\""
- have_proc_invoked="1"
+ if test -z "$apr_cv_osuuid"; then
+ test "x$silent" != "xyes" && echo " setting apr_cv_osuuid to \"yes\""
+ apr_cv_osuuid="yes"
fi
- if test -z "$apr_cv_use_lfs64"; then
- test "x$silent" != "xyes" && echo " setting apr_cv_use_lfs64 to \"yes\""
- apr_cv_use_lfs64="yes"
+ if test -z "$apr_cv_tcp_nodelay_with_cork"; then
+ test "x$silent" != "xyes" && echo " setting apr_cv_tcp_nodelay_with_cork to \"no\""
+ apr_cv_tcp_nodelay_with_cork="no"
fi
- ;;
+
+ if test -z "$apr_thread_func"; then
+ test "x$silent" != "xyes" && echo " setting apr_thread_func to \"__stdcall\""
+ apr_thread_func="__stdcall"
+ fi
+
+
+ if test -z "$ac_cv_o_nonblock_inherited"; then
+ test "x$silent" != "xyes" && echo " setting ac_cv_o_nonblock_inherited to \"yes\""
+ ac_cv_o_nonblock_inherited="yes"
+ fi
+
+
+ if test -z "$ac_cv_tcp_nodelay_inherited"; then
+ test "x$silent" != "xyes" && echo " setting ac_cv_tcp_nodelay_inherited to \"yes\""
+ ac_cv_tcp_nodelay_inherited="yes"
+ fi
+
+
+ if test -z "$ac_cv_file__dev_zero"; then
+ test "x$silent" != "xyes" && echo " setting ac_cv_file__dev_zero to \"no\""
+ ac_cv_file__dev_zero="no"
+ fi
+
+
+ if test -z "$ac_cv_func_setpgrp_void"; then
+ test "x$silent" != "xyes" && echo " setting ac_cv_func_setpgrp_void to \"no\""
+ ac_cv_func_setpgrp_void="no"
+ fi
+
+
+ if test -z "$ac_cv_func_mmap"; then
+ test "x$silent" != "xyes" && echo " setting ac_cv_func_mmap to \"yes\""
+ ac_cv_func_mmap="yes"
+ fi
+
+
+ if test -z "$ac_cv_define_sockaddr_in6"; then
+ test "x$silent" != "xyes" && echo " setting ac_cv_define_sockaddr_in6 to \"yes\""
+ ac_cv_define_sockaddr_in6="yes"
+ fi
+
+
+ if test -z "$ac_cv_working_getaddrinfo"; then
+ test "x$silent" != "xyes" && echo " setting ac_cv_working_getaddrinfo to \"yes\""
+ ac_cv_working_getaddrinfo="yes"
+ fi
+
+
+ if test -z "$ac_cv_working_getnameinfo"; then
+ test "x$silent" != "xyes" && echo " setting ac_cv_working_getnameinfo to \"yes\""
+ ac_cv_working_getnameinfo="yes"
+ fi
+
+
+ if test -z "$ac_cv_func_gai_strerror"; then
+ test "x$silent" != "xyes" && echo " setting ac_cv_func_gai_strerror to \"yes\""
+ ac_cv_func_gai_strerror="yes"
+ fi
+
+ case $host in
+ *mingw32*)
+
+ if test -z "$apr_has_xthread_files"; then
+ test "x$silent" != "xyes" && echo " setting apr_has_xthread_files to \"1\""
+ apr_has_xthread_files="1"
+ fi
+
+
+ if test -z "$apr_has_user"; then
+ test "x$silent" != "xyes" && echo " setting apr_has_user to \"1\""
+ apr_has_user="1"
+ fi
+
+
+ if test -z "$apr_procattr_user_set_requires_password"; then
+ test "x$silent" != "xyes" && echo " setting apr_procattr_user_set_requires_password to \"1\""
+ apr_procattr_user_set_requires_password="1"
+ fi
+
+
+ if test -z "$ac_cv_func_sendfile"; then
+ test "x$silent" != "xyes" && echo " setting ac_cv_func_sendfile to \"yes\""
+ ac_cv_func_sendfile="yes"
+ fi
+
+ ;;
+ *mingwce)
+
+ if test -z "$apr_has_xthread_files"; then
+ test "x$silent" != "xyes" && echo " setting apr_has_xthread_files to \"0\""
+ apr_has_xthread_files="0"
+ fi
+
+
+ if test -z "$apr_has_user"; then
+ test "x$silent" != "xyes" && echo " setting apr_has_user to \"0\""
+ apr_has_user="0"
+ fi
+
+
+ if test -z "$apr_procattr_user_set_requires_password"; then
+ test "x$silent" != "xyes" && echo " setting apr_procattr_user_set_requires_password to \"0\""
+ apr_procattr_user_set_requires_password="0"
+ fi
+
+
+ if test -z "$ac_cv_func_sendfile"; then
+ test "x$silent" != "xyes" && echo " setting ac_cv_func_sendfile to \"no\""
+ ac_cv_func_sendfile="no"
+ fi
+
+ ;;
+ esac
+ ;;
esac
fi
@@ -9188,6 +9395,10 @@ else
fi
+if test "x$Xsed" = "x"; then
+ Xsed="$SED -e 1s/^X//"
+fi
+
case $host in
*-os2*)
# Use a custom-made libtool replacement
@@ -9763,7 +9974,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 9766 "configure"' > conftest.$ac_ext
+ echo '#line 9977 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -12530,11 +12741,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12533: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12744: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12537: \$? = $ac_status" >&5
+ echo "$as_me:12748: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -12820,11 +13031,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12823: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13034: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12827: \$? = $ac_status" >&5
+ echo "$as_me:13038: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -12924,11 +13135,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12927: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13138: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12931: \$? = $ac_status" >&5
+ echo "$as_me:13142: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -15326,7 +15537,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 15329 "configure"
+#line 15540 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15426,7 +15637,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 15429 "configure"
+#line 15640 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -17839,11 +18050,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17842: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:18053: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:17846: \$? = $ac_status" >&5
+ echo "$as_me:18057: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -17943,11 +18154,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17946: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:18157: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:17950: \$? = $ac_status" >&5
+ echo "$as_me:18161: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -19528,11 +19739,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19531: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:19742: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:19535: \$? = $ac_status" >&5
+ echo "$as_me:19746: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -19632,11 +19843,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19635: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:19846: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:19639: \$? = $ac_status" >&5
+ echo "$as_me:19850: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -21853,11 +22064,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:21856: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:22067: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:21860: \$? = $ac_status" >&5
+ echo "$as_me:22071: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -22143,11 +22354,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:22146: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:22357: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:22150: \$? = $ac_status" >&5
+ echo "$as_me:22361: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -22247,11 +22458,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:22250: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:22461: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:22254: \$? = $ac_status" >&5
+ echo "$as_me:22465: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -25873,31 +26084,7 @@ _ACEOF
eolstr="\\n"
;;
*mingw*)
-
- if test "x$CPPFLAGS" = "x"; then
- test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DWIN32\""
- CPPFLAGS="-DWIN32"
- else
- apr_addto_bugger="-DWIN32"
- 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
-
OSDIR="win32"
- ac_cv_file__dev_zero="no"
- ac_cv_func_setpgrp_void="no"
- apr_cv_tcp_nodelay_with_cork="no"
enable_threads="system_threads"
eolstr="\\r\\n"
file_as_socket=0
@@ -25906,27 +26093,6 @@ _ACEOF
;;
*cygwin*)
OSDIR="unix"
-
- if test "x$CPPFLAGS" = "x"; then
- test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DCYGWIN\""
- CPPFLAGS="-DCYGWIN"
- else
- apr_addto_bugger="-DCYGWIN"
- 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
-
enable_threads="no"
eolstr="\\n"
;;
@@ -26126,649 +26292,27 @@ echo "${nl}Checking for libraries..."
case $host in
*mingw*)
+ if test "x$LIBS" = "x"; then
+ test "x$silent" != "xyes" && echo " setting LIBS to \"-lshell32 -ladvapi32 -lws2_32 -lrpcrt4 -lmswsock\""
+ LIBS="-lshell32 -ladvapi32 -lws2_32 -lrpcrt4 -lmswsock"
+ else
+ apr_addto_bugger="-lshell32 -ladvapi32 -lws2_32 -lrpcrt4 -lmswsock"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $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 LIBS"
+ LIBS="$LIBS $i"
+ fi
+ done
+ fi
-{ $as_echo "$as_me:$LINENO: checking for getpid in -lmsvcrt" >&5
-$as_echo_n "checking for getpid in -lmsvcrt... " >&6; }
-if test "${ac_cv_lib_msvcrt_getpid+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lmsvcrt $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* 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 getpid ();
-int
-main ()
-{
-return getpid ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- ac_cv_lib_msvcrt_getpid=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_msvcrt_getpid=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_msvcrt_getpid" >&5
-$as_echo "$ac_cv_lib_msvcrt_getpid" >&6; }
-if test "x$ac_cv_lib_msvcrt_getpid" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBMSVCRT 1
-_ACEOF
-
- LIBS="-lmsvcrt $LIBS"
-
-fi
-
-
-
-
-
-
-{ $as_echo "$as_me:$LINENO: checking for SetErrorMode@4 in kernel32" >&5
-$as_echo_n "checking for SetErrorMode@4 in kernel32... " >&6; }
-if test "${ac_cv_lib_kernel32_SetErrorMode+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
-
-
-ac_func_search_save_LIBS=$LIBS
-LIBS="$LIBS -lkernel32"
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#pragma pack(1)
-struct x {
- char c1;
- char c2;
- char c3;
- char c4;
-};
-__stdcall SetErrorMode(struct x);
-int
-main ()
-{
-
-struct x s = {0};
-SetErrorMode(s)
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- ac_cv_lib_kernel32_SetErrorMode=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_kernel32_SetErrorMode=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_kernel32_SetErrorMode" >&5
-$as_echo "$ac_cv_lib_kernel32_SetErrorMode" >&6; }
-if test $ac_cv_lib_kernel32_SetErrorMode = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBKERNEL32 /**/
-_ACEOF
-
- LIBS="-lkernel32 $LIBS"
-
-fi
-
-
-
-
-
-
-{ $as_echo "$as_me:$LINENO: checking for GetSecurityInfo@32 in advapi32" >&5
-$as_echo_n "checking for GetSecurityInfo@32 in advapi32... " >&6; }
-if test "${ac_cv_lib_advapi32_GetSecurityInfo+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
-
-
-ac_func_search_save_LIBS=$LIBS
-LIBS="$LIBS -ladvapi32"
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#pragma pack(1)
-struct x {
- char c1;
- char c2;
- char c3;
- char c4;
- char c5;
- char c6;
- char c7;
- char c8;
- char c9;
- char c10;
- char c11;
- char c12;
- char c13;
- char c14;
- char c15;
- char c16;
- char c17;
- char c18;
- char c19;
- char c20;
- char c21;
- char c22;
- char c23;
- char c24;
- char c25;
- char c26;
- char c27;
- char c28;
- char c29;
- char c30;
- char c31;
- char c32;
-};
-__stdcall GetSecurityInfo(struct x);
-int
-main ()
-{
-
-struct x s = {0};
-GetSecurityInfo(s)
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- ac_cv_lib_advapi32_GetSecurityInfo=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_advapi32_GetSecurityInfo=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_advapi32_GetSecurityInfo" >&5
-$as_echo "$ac_cv_lib_advapi32_GetSecurityInfo" >&6; }
-if test $ac_cv_lib_advapi32_GetSecurityInfo = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBADVAPI32 /**/
-_ACEOF
-
- LIBS="-ladvapi32 $LIBS"
-
-fi
-
-
-
-
-
-
-{ $as_echo "$as_me:$LINENO: checking for gethostbyname@4 in ws2_32" >&5
-$as_echo_n "checking for gethostbyname@4 in ws2_32... " >&6; }
-if test "${ac_cv_lib_ws2_32_gethostbyname+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
-
-
-ac_func_search_save_LIBS=$LIBS
-LIBS="$LIBS -lws2_32"
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#pragma pack(1)
-struct x {
- char c1;
- char c2;
- char c3;
- char c4;
-};
-__stdcall gethostbyname(struct x);
-int
-main ()
-{
-
-struct x s = {0};
-gethostbyname(s)
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- ac_cv_lib_ws2_32_gethostbyname=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_ws2_32_gethostbyname=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ws2_32_gethostbyname" >&5
-$as_echo "$ac_cv_lib_ws2_32_gethostbyname" >&6; }
-if test $ac_cv_lib_ws2_32_gethostbyname = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBWS2_32 /**/
-_ACEOF
-
- LIBS="-lws2_32 $LIBS"
-
-fi
-
-
-
-
-
-
-{ $as_echo "$as_me:$LINENO: checking for CommandLineToArgvW@8 in shell32" >&5
-$as_echo_n "checking for CommandLineToArgvW@8 in shell32... " >&6; }
-if test "${ac_cv_lib_shell32_CommandLineToArgvW+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
-
-
-ac_func_search_save_LIBS=$LIBS
-LIBS="$LIBS -lshell32"
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#pragma pack(1)
-struct x {
- char c1;
- char c2;
- char c3;
- char c4;
- char c5;
- char c6;
- char c7;
- char c8;
-};
-__stdcall CommandLineToArgvW(struct x);
-int
-main ()
-{
-
-struct x s = {0};
-CommandLineToArgvW(s)
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- ac_cv_lib_shell32_CommandLineToArgvW=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_shell32_CommandLineToArgvW=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_shell32_CommandLineToArgvW" >&5
-$as_echo "$ac_cv_lib_shell32_CommandLineToArgvW" >&6; }
-if test $ac_cv_lib_shell32_CommandLineToArgvW = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBSHELL32 /**/
-_ACEOF
-
- LIBS="-lshell32 $LIBS"
-
-fi
-
-
-
-
-
-
-{ $as_echo "$as_me:$LINENO: checking for CreateFileMappingA@24 in kernel32" >&5
-$as_echo_n "checking for CreateFileMappingA@24 in kernel32... " >&6; }
-if test "${ac_cv_lib_kernel32_CreateFileMappingA+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
-
-
-ac_func_search_save_LIBS=$LIBS
-LIBS="$LIBS -lkernel32"
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#pragma pack(1)
-struct x {
- char c1;
- char c2;
- char c3;
- char c4;
- char c5;
- char c6;
- char c7;
- char c8;
- char c9;
- char c10;
- char c11;
- char c12;
- char c13;
- char c14;
- char c15;
- char c16;
- char c17;
- char c18;
- char c19;
- char c20;
- char c21;
- char c22;
- char c23;
- char c24;
-};
-__stdcall CreateFileMappingA(struct x);
-int
-main ()
-{
-
-struct x s = {0};
-CreateFileMappingA(s)
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- ac_cv_lib_kernel32_CreateFileMappingA=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_kernel32_CreateFileMappingA=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_kernel32_CreateFileMappingA" >&5
-$as_echo "$ac_cv_lib_kernel32_CreateFileMappingA" >&6; }
-if test $ac_cv_lib_kernel32_CreateFileMappingA = yes; then
- ac_cv_func_CreateFileMapping=$ac_cv_lib_kernel32_CreateFileMappingA
-fi
-
-
-
-
-
-
-{ $as_echo "$as_me:$LINENO: checking for UuidCreate@4 in rpcrt4" >&5
-$as_echo_n "checking for UuidCreate@4 in rpcrt4... " >&6; }
-if test "${ac_cv_lib_rpcrt4_UuidCreate+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
-
-
-ac_func_search_save_LIBS=$LIBS
-LIBS="$LIBS -lrpcrt4"
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#pragma pack(1)
-struct x {
- char c1;
- char c2;
- char c3;
- char c4;
-};
-__stdcall UuidCreate(struct x);
-int
-main ()
-{
-
-struct x s = {0};
-UuidCreate(s)
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext 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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- ac_cv_lib_rpcrt4_UuidCreate=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_rpcrt4_UuidCreate=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_rpcrt4_UuidCreate" >&5
-$as_echo "$ac_cv_lib_rpcrt4_UuidCreate" >&6; }
-if test $ac_cv_lib_rpcrt4_UuidCreate = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBRPCRT4 /**/
-_ACEOF
-
- LIBS="-lrpcrt4 $LIBS"
-
-fi
-
+ ac_cv_func_CreateFileMapping=yes
;;
*)
{ $as_echo "$as_me:$LINENO: checking for library containing gethostbyname" >&5
@@ -35422,6 +34966,7 @@ fi
+
# Checking for h_errno in <netdb.h>
if test "$netdbh" = "1"; then
@@ -35590,6 +35135,53 @@ $as_echo "$as_me: error: can not find h_errno in netdb.h" >&2;}
fi
fi
+# Check whether --enable-allocator-uses-mmap was given.
+if test "${enable_allocator_uses_mmap+set}" = set; then
+ enableval=$enable_allocator_uses_mmap; if test "$enableval" = "yes"; then
+ ac_rc=yes
+for ac_spec in header:sys/mman.h func:mmap func:munmap define:MAP_ANON; do
+ ac_type=`echo "$ac_spec" | sed -e 's/:.*$//'`
+ ac_item=`echo "$ac_spec" | sed -e 's/^.*://'`
+ case $ac_type in
+ header )
+ ac_item=`echo "$ac_item" | sed 'y%./+-%__p_%'`
+ ac_var="ac_cv_header_$ac_item"
+ ;;
+ file )
+ ac_item=`echo "$ac_item" | sed 'y%./+-%__p_%'`
+ ac_var="ac_cv_file_$ac_item"
+ ;;
+ func ) ac_var="ac_cv_func_$ac_item" ;;
+ struct ) ac_var="ac_cv_struct_$ac_item" ;;
+ define ) ac_var="ac_cv_define_$ac_item" ;;
+ custom ) ac_var="$ac_item" ;;
+ esac
+ eval "ac_val=\$$ac_var"
+ if test ".$ac_val" != .yes; then
+ ac_rc=no
+ break
+ fi
+done
+if test ".$ac_rc" = .yes; then
+ :
+
+cat >>confdefs.h <<\_ACEOF
+#define APR_ALLOCATOR_USES_MMAP 1
+_ACEOF
+
+else
+ :
+ { { $as_echo "$as_me:$LINENO: error: mmap()/MAP_ANON not supported" >&5
+$as_echo "$as_me: error: mmap()/MAP_ANON not supported" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+
+ fi
+
+fi
+
+
{ $as_echo "$as_me:$LINENO: checking for off_t" >&5
$as_echo_n "checking for off_t... " >&6; }
if test "${ac_cv_type_off_t+set}" = set; then
@@ -38803,6 +38395,14 @@ case $host in
esac
size_t_fmt="lu"
;;
+ *-mingw*)
+ int64_t_fmt='#define APR_INT64_T_FMT "I64d"'
+ uint64_t_fmt='#define APR_UINT64_T_FMT "I64u"'
+ uint64_t_hex_fmt='#define APR_UINT64_T_HEX_FMT "I64x"'
+ int64_value="__int64"
+ long_value="__int64"
+ int64_strfn="_strtoi64"
+ ;;
esac
@@ -39437,13 +39037,12 @@ $as_echo "$as_me: error: could not determine the size of off_t" >&2;}
fi
# Per OS tuning...
case $host in
- *apple-darwin10.*)
- # off_t is a long long, but long == long long
- if test "$ac_cv_sizeof_long" = "$ac_cv_sizeof_long_long"; then
- off_t_fmt='#define APR_OFF_T_FMT "lld"'
- fi
- ;;
- esac
+ *-mingw*)
+ off_t_value=apr_int64_t
+ off_t_fmt='#define APR_OFF_T_FMT "I64d"'
+ off_t_strfn='_strtoi64'
+ ;;
+ esac
else
# Fallback on int
off_t_value=apr_int32_t
@@ -39453,77 +39052,103 @@ fi
{ $as_echo "$as_me:$LINENO: result: $off_t_value" >&5
$as_echo "$off_t_value" >&6; }
-# Regardless of whether _LARGEFILE64_SOURCE is used, on 32-bit
+# Regardless of whether _LARGEFILE64_SOURCE is used, on some
# platforms _FILE_OFFSET_BITS will affect the size of ino_t and hence
# the build-time ABI may be different from the apparent ABI when using
# APR with another package which *does* define _FILE_OFFSET_BITS.
# (Exactly as per the case above with off_t where LFS is *not* used)
#
-# To be safe, hard-code apr_ino_t as 'unsigned long' iff that is
-# exactly the size of ino_t here; otherwise use ino_t as existing
+# To be safe, hard-code apr_ino_t as 'unsigned long' or 'unsigned int'
+# iff that is exactly the size of ino_t here; otherwise use ino_t as existing
# releases did. To be correct, apr_ino_t should have been made an
# ino64_t as apr_off_t is off64_t, but this can't be done now without
# breaking ABI.
-ino_t_value=ino_t
-if test "$ac_cv_sizeof_long" = "4"; then
-
-{ $as_echo "$as_me:$LINENO: checking whether ino_t and unsigned long are the same" >&5
-$as_echo_n "checking whether ino_t and unsigned long are the same... " >&6; }
-if test "${apr_cv_typematch_ino_t_unsigned_long+set}" = set; then
+# Per OS tuning...
+case $host in
+*mingw*)
+ ino_t_value=apr_int64_t
+ ;;
+*)
+ ino_t_value=ino_t
+ { $as_echo "$as_me:$LINENO: checking size of ino_t" >&5
+$as_echo_n "checking size of ino_t... " >&6; }
+if test "${ac_cv_sizeof_ino_t+set}" = set; then
$as_echo_n "(cached) " >&6
else
-
-cat >conftest.$ac_ext <<_ACEOF
+ if test "$cross_compiling" = yes; then
+ ac_cv_sizeof_ino_t=$ac_cv_sizeof_long
+else
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+#include <stdio.h>
$ac_includes_default
-int
-main ()
+main()
{
-
- int foo[0 - !__builtin_types_compatible_p(ino_t, unsigned long)];
-
- ;
- return 0;
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+ fprintf(f, "%d\n", sizeof(ino_t));
+ exit(0);
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+rm -f 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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
+ (eval "$ac_link") 2>&5
ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- apr_cv_typematch_ino_t_unsigned_long=yes
-ino_t_value="unsigned long"
+ (exit $ac_status); } && { 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_ino_t=`cat conftestval`
else
- $as_echo "$as_me: failed program was:" >&5
+ $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
- apr_cv_typematch_ino_t_unsigned_long=no
+( exit $ac_status )
+ac_cv_sizeof_ino_t=0
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:$LINENO: result: $apr_cv_typematch_ino_t_unsigned_long" >&5
-$as_echo "$apr_cv_typematch_ino_t_unsigned_long" >&6; }
+
fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_ino_t" >&5
+$as_echo "$ac_cv_sizeof_ino_t" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_INO_T $ac_cv_sizeof_ino_t
+_ACEOF
+
+
+ if test $ac_cv_sizeof_ino_t = 4; then
+ if test $ac_cv_sizeof_long = 4; then
+ ino_t_value="unsigned long"
+ else
+ ino_t_value="unsigned int"
+ fi
+ fi
+ ;;
+esac
{ $as_echo "$as_me:$LINENO: using $ino_t_value for ino_t" >&5
$as_echo "$as_me: using $ino_t_value for ino_t" >&6;}
@@ -41086,9 +40711,8 @@ if test "x$ac_cv_func_NSLinkModule" = x""yes; then
dsotype=dyld
fi
;;
- *-hpux[1-9]\.*|*-hpux1[01]*)
- # shl is specific to hpux(?), and is suboptimal for 64 bit builds,
- # and most unlikely to be the choice of 12.x developers.
+ hppa*-hpux[1-9]\.*|hppa*-hpux1[01]*)
+ # shl is specific to parisc hpux SOM binaries, not used for 64 bit
{ $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
$as_echo_n "checking for shl_load in -ldld... " >&6; }
if test "${ac_cv_lib_dld_shl_load+set}" = set; then
@@ -48673,9 +48297,43 @@ done
-if test -z "$have_unicode_fs"; then
- have_unicode_fs="0"
-fi
+
+ if test -z "$have_unicode_fs"; then
+ test "x$silent" != "xyes" && echo " setting have_unicode_fs to \"0\""
+ have_unicode_fs="0"
+ fi
+
+
+
+
+ if test -z "$apr_has_xthread_files"; then
+ test "x$silent" != "xyes" && echo " setting apr_has_xthread_files to \"0\""
+ apr_has_xthread_files="0"
+ fi
+
+
+
+
+ if test -z "$apr_procattr_user_set_requires_password"; then
+ test "x$silent" != "xyes" && echo " setting apr_procattr_user_set_requires_password to \"0\""
+ apr_procattr_user_set_requires_password="0"
+ fi
+
+
+
+
+ if test -z "$apr_thread_func"; then
+ test "x$silent" != "xyes" && echo " setting apr_thread_func to \"\""
+ apr_thread_func=""
+ fi
+
+
+
+
+ if test -z "$apr_has_user"; then
+ test "x$silent" != "xyes" && echo " setting apr_has_user to \"1\""
+ apr_has_user="1"
+ fi
@@ -50085,15 +49743,6 @@ $as_echo "$as_me: $i is unchanged" >&6;}
rm -f $i.save
done
chmod +x apr-$APR_MAJOR_VERSION-config
-# for mingw builds, we currently won't allow the unix apr_private.h to exist.
-# instead, we will rely on the manually-crafted win32 apr_private.h instead.
-case $APR_PLATFORM in
- *-mingw*)
- rm include/arch/unix/apr_private.h
- ;;
- *)
- ;;
-esac
;;
esac
diff --git a/srclib/apr/configure.in b/srclib/apr/configure.in
index 460ffe43..9c20dd72 100644
--- a/srclib/apr/configure.in
+++ b/srclib/apr/configure.in
@@ -10,6 +10,7 @@ AC_INIT(build/apr_common.m4)
AC_CONFIG_HEADER(include/arch/unix/apr_private.h)
AC_CONFIG_MACRO_DIR(build)
AC_CONFIG_AUX_DIR(build)
+AC_CONFIG_MACRO_DIR(build)
dnl
dnl Include our own M4 macros along with those for libtool
@@ -42,6 +43,60 @@ AH_BOTTOM([
#endif
/*
+ * Darwin 10's default compiler (gcc42) builds for both 64 and
+ * 32 bit architectures unless specifically told not to.
+ * In those cases, we need to override types depending on how
+ * we're being built at compile time.
+ * NOTE: This is an ugly work-around for Darwin's
+ * concept of universal binaries, a single package
+ * (executable, lib, etc...) which contains both 32
+ * and 64 bit versions. The issue is that if APR is
+ * built universally, if something else is compiled
+ * against it, some bit sizes will depend on whether
+ * it is 32 or 64 bit. This is determined by the __LP64__
+ * flag. Since we need to support both, we have to
+ * handle OS X unqiuely.
+ */
+#ifdef DARWIN_10
+
+#undef APR_OFF_T_STRFN
+#undef APR_INT64_STRFN
+#undef SIZEOF_LONG
+#undef SIZEOF_SIZE_T
+#undef SIZEOF_SSIZE_T
+#undef SIZEOF_VOIDP
+#undef SIZEOF_STRUCT_IOVEC
+
+#ifdef __LP64__
+ #define APR_INT64_STRFN strtol
+ #define SIZEOF_LONG 8
+ #define SIZEOF_SIZE_T 8
+ #define SIZEOF_SSIZE_T 8
+ #define SIZEOF_VOIDP 8
+ #define SIZEOF_STRUCT_IOVEC 16
+#else
+ #define APR_INT64_STRFN strtoll
+ #define SIZEOF_LONG 4
+ #define SIZEOF_SIZE_T 4
+ #define SIZEOF_SSIZE_T 4
+ #define SIZEOF_VOIDP 4
+ #define SIZEOF_STRUCT_IOVEC 8
+#endif
+
+#undef APR_OFF_T_STRFN
+#define APR_OFF_T_STRFN APR_INT64_STRFN
+
+
+#undef SETPGRP_VOID
+#ifdef __DARWIN_UNIX03
+ #define SETPGRP_VOID 1
+#else
+/* #undef SETPGRP_VOID */
+#endif
+
+#endif /* DARWIN_10 */
+
+/*
* Include common private declarations.
*/
#include "../apr_private_common.h"
@@ -129,6 +184,12 @@ dnl can only be used once within a configure script, so this prevents a
dnl preload section from invoking the macro to get compiler info.
AC_PROG_CC
+dnl AC_PROG_SED is only avaliable in recent autoconf versions.
+dnl Use AC_CHECK_PROG instead if AC_PROG_SED is not present.
+ifdef([AC_PROG_SED],
+ [AC_PROG_SED],
+ [AC_CHECK_PROG(SED, sed, sed)])
+
dnl Preload
APR_PRELOAD
@@ -172,6 +233,11 @@ echo "performing libtool configuration..."
AC_ARG_ENABLE(experimental-libtool,[ --enable-experimental-libtool Use experimental custom libtool],
[experimental_libtool=$enableval],[experimental_libtool=no])
+dnl Workarounds for busted Libtool 2.x when we don't call AC_PROG_LIBTOOL
+if test "x$Xsed" = "x"; then
+ Xsed="$SED -e 1s/^X//"
+fi
+
case $host in
*-os2*)
# Use a custom-made libtool replacement
@@ -476,11 +542,7 @@ case $host in
eolstr="\\n"
;;
*mingw*)
- APR_ADDTO(CPPFLAGS,-DWIN32)
OSDIR="win32"
- ac_cv_file__dev_zero="no"
- ac_cv_func_setpgrp_void="no"
- apr_cv_tcp_nodelay_with_cork="no"
enable_threads="system_threads"
eolstr="\\r\\n"
file_as_socket=0
@@ -489,7 +551,6 @@ case $host in
;;
*cygwin*)
OSDIR="unix"
- APR_ADDTO(CPPFLAGS,-DCYGWIN)
enable_threads="no"
eolstr="\\n"
;;
@@ -608,16 +669,8 @@ dnl without the extra " " in that case, but they didn't do that. So, we
dnl end up LIBS="-lm -lcrypt -lnsl -ldl" which is an annoyance.
case $host in
*mingw*)
- dnl APR_ADDTO(LIBS,[-lmsvcrt --lshell32 -ladvapi32 -lws2_32])
-
- AC_CHECK_LIB(msvcrt, getpid)
- APR_CHECK_DLL_FUNC(kernel32, SetErrorMode@4)
- APR_CHECK_DLL_FUNC(advapi32, GetSecurityInfo@32)
- APR_CHECK_DLL_FUNC(ws2_32, gethostbyname@4)
- APR_CHECK_DLL_FUNC(shell32, CommandLineToArgvW@8)
- APR_CHECK_DLL_FUNC(kernel32,[CreateFileMappingA@24],
- [ac_cv_func_CreateFileMapping=$ac_cv_lib_kernel32_CreateFileMappingA])
- APR_CHECK_DLL_FUNC(rpcrt4,[UuidCreate@4])
+ APR_ADDTO(LIBS,[-lshell32 -ladvapi32 -lws2_32 -lrpcrt4 -lmswsock])
+ ac_cv_func_CreateFileMapping=yes
;;
*)
AC_SEARCH_LIBS(gethostbyname, nsl)
@@ -1465,6 +1518,7 @@ AC_SUBST(timeh)
AC_SUBST(unistdh)
AC_SUBST(signalh)
AC_SUBST(sys_waith)
+AC_SUBST(processh)
AC_SUBST(pthreadh)
AC_SUBST(semaphoreh)
AC_SUBST(windowsh)
@@ -1478,6 +1532,17 @@ if test "$netdbh" = "1"; then
fi
fi
+AC_ARG_ENABLE(allocator-uses-mmap,
+ [ --enable-allocator-uses-mmap Use mmap in apr_allocator instead of malloc (experimental)],
+ [ if test "$enableval" = "yes"; then
+ APR_IFALLYES(header:sys/mman.h func:mmap func:munmap define:MAP_ANON,
+ [AC_DEFINE(APR_ALLOCATOR_USES_MMAP, 1,
+ [Define if apr_allocator should use mmap]) ],
+ [AC_MSG_ERROR([mmap()/MAP_ANON not supported]) ]
+ )
+ fi ]
+)
+
dnl ----------------------------- Checks for standard typedefs
AC_TYPE_OFF_T
AC_TYPE_PID_T
@@ -1665,6 +1730,14 @@ case $host in
esac
size_t_fmt="lu"
;;
+ *-mingw*)
+ int64_t_fmt='#define APR_INT64_T_FMT "I64d"'
+ uint64_t_fmt='#define APR_UINT64_T_FMT "I64u"'
+ uint64_t_hex_fmt='#define APR_UINT64_T_HEX_FMT "I64x"'
+ int64_value="__int64"
+ long_value="__int64"
+ int64_strfn="_strtoi64"
+ ;;
esac
APR_CHECK_TYPES_COMPATIBLE(ssize_t, int, [ssize_t_fmt="d"])
@@ -1752,13 +1825,12 @@ elif test "$ac_cv_type_off_t" = "yes"; then
fi
# Per OS tuning...
case $host in
- *apple-darwin10.*)
- # off_t is a long long, but long == long long
- if test "$ac_cv_sizeof_long" = "$ac_cv_sizeof_long_long"; then
- off_t_fmt='#define APR_OFF_T_FMT "lld"'
- fi
- ;;
- esac
+ *-mingw*)
+ off_t_value=apr_int64_t
+ off_t_fmt='#define APR_OFF_T_FMT "I64d"'
+ off_t_strfn='_strtoi64'
+ ;;
+ esac
else
# Fallback on int
off_t_value=apr_int32_t
@@ -1767,22 +1839,35 @@ else
fi
AC_MSG_RESULT($off_t_value)
-# Regardless of whether _LARGEFILE64_SOURCE is used, on 32-bit
+# Regardless of whether _LARGEFILE64_SOURCE is used, on some
# platforms _FILE_OFFSET_BITS will affect the size of ino_t and hence
# the build-time ABI may be different from the apparent ABI when using
# APR with another package which *does* define _FILE_OFFSET_BITS.
# (Exactly as per the case above with off_t where LFS is *not* used)
#
-# To be safe, hard-code apr_ino_t as 'unsigned long' iff that is
-# exactly the size of ino_t here; otherwise use ino_t as existing
+# To be safe, hard-code apr_ino_t as 'unsigned long' or 'unsigned int'
+# iff that is exactly the size of ino_t here; otherwise use ino_t as existing
# releases did. To be correct, apr_ino_t should have been made an
# ino64_t as apr_off_t is off64_t, but this can't be done now without
# breaking ABI.
-ino_t_value=ino_t
-if test "$ac_cv_sizeof_long" = "4"; then
- APR_CHECK_TYPES_COMPATIBLE(ino_t, unsigned long,
- ino_t_value="unsigned long")
-fi
+
+# Per OS tuning...
+case $host in
+*mingw*)
+ ino_t_value=apr_int64_t
+ ;;
+*)
+ ino_t_value=ino_t
+ APR_CHECK_SIZEOF_EXTENDED(AC_INCLUDES_DEFAULT, ino_t, $ac_cv_sizeof_long)
+ if test $ac_cv_sizeof_ino_t = 4; then
+ if test $ac_cv_sizeof_long = 4; then
+ ino_t_value="unsigned long"
+ else
+ ino_t_value="unsigned int"
+ fi
+ fi
+ ;;
+esac
AC_MSG_NOTICE([using $ino_t_value for ino_t])
# Checks for endianness
@@ -1877,9 +1962,8 @@ if test "$dsotype" = "any"; then
*darwin[[0-8]]\.*)
# Original Darwin, not for 9.0!:
AC_CHECK_FUNC(NSLinkModule, [dsotype=dyld]);;
- *-hpux[[1-9]]\.*|*-hpux1[[01]]*)
- # shl is specific to hpux(?), and is suboptimal for 64 bit builds,
- # and most unlikely to be the choice of 12.x developers.
+ hppa*-hpux[[1-9]]\.*|hppa*-hpux1[[01]]*)
+ # shl is specific to parisc hpux SOM binaries, not used for 64 bit
AC_CHECK_LIB(dld, shl_load, [have_shl=1])
if test "$ac_cv_sizeof_voidp$have_shl" = "41"; then
dsotype=shl; APR_ADDTO(LIBS,-ldld)
@@ -2608,13 +2692,23 @@ dnl Check for langinfo support
AC_CHECK_HEADERS(langinfo.h)
AC_CHECK_FUNCS(nl_langinfo)
+dnl ------------------------------ Defaults for some platform nuances
+
dnl Do we have a Win32-centric Unicode FS?
+APR_SETIFNULL(have_unicode_fs, [0])
+AC_SUBST(have_unicode_fs)
-if test -z "$have_unicode_fs"; then
- have_unicode_fs="0"
-fi
+APR_SETIFNULL(apr_has_xthread_files, [0])
+AC_SUBST(apr_has_xthread_files)
-AC_SUBST(have_unicode_fs)
+APR_SETIFNULL(apr_procattr_user_set_requires_password, [0])
+AC_SUBST(apr_procattr_user_set_requires_password)
+
+APR_SETIFNULL(apr_thread_func, [])
+AC_SUBST(apr_thread_func)
+
+APR_SETIFNULL(apr_has_user, [1])
+AC_SUBST(apr_has_user)
dnl ----------------------------- Finalize the variables
@@ -2699,15 +2793,6 @@ for i in $APR_SAVE_HEADERS; do
rm -f $i.save
done
chmod +x apr-$APR_MAJOR_VERSION-config
-# for mingw builds, we currently won't allow the unix apr_private.h to exist.
-# instead, we will rely on the manually-crafted win32 apr_private.h instead.
-case $APR_PLATFORM in
- *-mingw*)
- rm include/arch/unix/apr_private.h
- ;;
- *)
- ;;
-esac
],[
dnl This section is expanded by configure UNQUOTED so variable
dnl references must be backslash-escaped as necessary.
diff --git a/srclib/apr/file_io/netware/mktemp.c b/srclib/apr/file_io/netware/mktemp.c
index c86954ff..4f78226e 100644
--- a/srclib/apr/file_io/netware/mktemp.c
+++ b/srclib/apr/file_io/netware/mktemp.c
@@ -28,8 +28,8 @@ APR_DECLARE(apr_status_t) apr_file_mktemp(apr_file_t **fp, char *template, apr_i
int fd;
apr_status_t rv;
- flags = (!flags) ? APR_CREATE | APR_READ | APR_WRITE |
- APR_DELONCLOSE : flags & ~APR_EXCL;
+ flags = (!flags) ? APR_FOPEN_CREATE | APR_FOPEN_READ | APR_FOPEN_WRITE |
+ APR_FOPEN_DELONCLOSE : flags & ~APR_FOPEN_EXCL;
fd = mkstemp(template);
if (fd == -1) {
@@ -39,11 +39,11 @@ APR_DECLARE(apr_status_t) apr_file_mktemp(apr_file_t **fp, char *template, apr_i
* Otherwise file locking will not allow the file to be shared.
*/
close(fd);
- if ((rv = apr_file_open(fp, template, flags|APR_FILE_NOCLEANUP,
+ if ((rv = apr_file_open(fp, template, flags|APR_FOPEN_NOCLEANUP,
APR_UREAD | APR_UWRITE, p)) == APR_SUCCESS) {
- if (!(flags & APR_FILE_NOCLEANUP)) {
+ if (!(flags & APR_FOPEN_NOCLEANUP)) {
int flags;
if ((flags = fcntl((*fp)->filedes, F_GETFD)) == -1)
diff --git a/srclib/apr/file_io/netware/pipe.c b/srclib/apr/file_io/netware/pipe.c
index 1abf4140..3e8f5593 100644
--- a/srclib/apr/file_io/netware/pipe.c
+++ b/srclib/apr/file_io/netware/pipe.c
@@ -114,7 +114,7 @@ APR_DECLARE(apr_status_t) apr_os_pipe_put_ex(apr_file_t **file,
(*file)->ungetchar = -1; /* no char avail */
(*file)->filedes = *dafile;
if (!register_cleanup) {
- (*file)->flags = APR_FILE_NOCLEANUP;
+ (*file)->flags = APR_FOPEN_NOCLEANUP;
}
(*file)->buffered = 0;
#if APR_HAS_THREADS
diff --git a/srclib/apr/file_io/os2/filedup.c b/srclib/apr/file_io/os2/filedup.c
index a9d0421e..b1063f57 100644
--- a/srclib/apr/file_io/os2/filedup.c
+++ b/srclib/apr/file_io/os2/filedup.c
@@ -112,7 +112,7 @@ APR_DECLARE(apr_status_t) apr_file_setaside(apr_file_t **new_file,
(*new_file)->fname = apr_pstrdup(p, old_file->fname);
}
- if (!(old_file->flags & APR_FILE_NOCLEANUP)) {
+ if (!(old_file->flags & APR_FOPEN_NOCLEANUP)) {
apr_pool_cleanup_register(p, (void *)(*new_file),
apr_file_cleanup,
apr_file_cleanup);
diff --git a/srclib/apr/file_io/os2/open.c b/srclib/apr/file_io/os2/open.c
index 386bd073..a1a55202 100644
--- a/srclib/apr/file_io/os2/open.c
+++ b/srclib/apr/file_io/os2/open.c
@@ -45,18 +45,18 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname, apr
dafile->flags = flag;
dafile->blocking = BLK_ON;
- if ((flag & APR_READ) && (flag & APR_WRITE)) {
+ if ((flag & APR_FOPEN_READ) && (flag & APR_FOPEN_WRITE)) {
mflags |= OPEN_ACCESS_READWRITE;
- } else if (flag & APR_READ) {
+ } else if (flag & APR_FOPEN_READ) {
mflags |= OPEN_ACCESS_READONLY;
- } else if (flag & APR_WRITE) {
+ } else if (flag & APR_FOPEN_WRITE) {
mflags |= OPEN_ACCESS_WRITEONLY;
} else {
dafile->filedes = -1;
return APR_EACCES;
}
- dafile->buffered = (flag & APR_BUFFERED) > 0;
+ dafile->buffered = (flag & APR_FOPEN_BUFFERED) > 0;
if (dafile->buffered) {
dafile->buffer = apr_palloc(pool, APR_FILE_DEFAULT_BUFSIZE);
@@ -67,18 +67,18 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname, apr
return rv;
}
- if (flag & APR_CREATE) {
+ if (flag & APR_FOPEN_CREATE) {
oflags |= OPEN_ACTION_CREATE_IF_NEW;
- if (!(flag & APR_EXCL) && !(flag & APR_TRUNCATE)) {
+ if (!(flag & APR_FOPEN_EXCL) && !(flag & APR_FOPEN_TRUNCATE)) {
oflags |= OPEN_ACTION_OPEN_IF_EXISTS;
}
}
- if ((flag & APR_EXCL) && !(flag & APR_CREATE))
+ if ((flag & APR_FOPEN_EXCL) && !(flag & APR_FOPEN_CREATE))
return APR_EACCES;
- if (flag & APR_TRUNCATE) {
+ if (flag & APR_FOPEN_TRUNCATE) {
oflags |= OPEN_ACTION_REPLACE_IF_EXISTS;
} else if ((oflags & 0xFF) == 0) {
oflags |= OPEN_ACTION_OPEN_IF_EXISTS;
@@ -86,7 +86,7 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname, apr
rv = DosOpen(fname, &(dafile->filedes), &action, 0, 0, oflags, mflags, NULL);
- if (rv == 0 && (flag & APR_APPEND)) {
+ if (rv == 0 && (flag & APR_FOPEN_APPEND)) {
ULONG newptr;
rv = DosSetFilePtr(dafile->filedes, 0, FILE_END, &newptr );
@@ -105,7 +105,7 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname, apr
dafile->direction = 0;
dafile->pipe = FALSE;
- if (!(flag & APR_FILE_NOCLEANUP)) {
+ if (!(flag & APR_FOPEN_NOCLEANUP)) {
apr_pool_cleanup_register(dafile->pool, dafile, apr_file_cleanup, apr_file_cleanup);
}
@@ -128,7 +128,7 @@ APR_DECLARE(apr_status_t) apr_file_close(apr_file_t *file)
if (rc == 0) {
file->isopen = FALSE;
- if (file->flags & APR_DELONCLOSE) {
+ if (file->flags & APR_FOPEN_DELONCLOSE) {
status = APR_FROM_OS_ERROR(DosDelete(file->fname));
}
/* else we return the status of the flush attempt
@@ -192,7 +192,7 @@ APR_DECLARE(apr_status_t) apr_os_file_put(apr_file_t **file, apr_os_file_t *thef
(*file)->eof_hit = FALSE;
(*file)->flags = flags;
(*file)->pipe = FALSE;
- (*file)->buffered = (flags & APR_BUFFERED) > 0;
+ (*file)->buffered = (flags & APR_FOPEN_BUFFERED) > 0;
if ((*file)->buffered) {
apr_status_t rv;
@@ -224,7 +224,7 @@ APR_DECLARE(apr_status_t) apr_file_open_flags_stderr(apr_file_t **thefile,
{
apr_os_file_t fd = 2;
- return apr_os_file_put(thefile, &fd, flags | APR_WRITE, pool);
+ return apr_os_file_put(thefile, &fd, flags | APR_FOPEN_WRITE, pool);
}
@@ -234,7 +234,7 @@ APR_DECLARE(apr_status_t) apr_file_open_flags_stdout(apr_file_t **thefile,
{
apr_os_file_t fd = 1;
- return apr_os_file_put(thefile, &fd, flags | APR_WRITE, pool);
+ return apr_os_file_put(thefile, &fd, flags | APR_FOPEN_WRITE, pool);
}
@@ -244,7 +244,7 @@ APR_DECLARE(apr_status_t) apr_file_open_flags_stdin(apr_file_t **thefile,
{
apr_os_file_t fd = 0;
- return apr_os_file_put(thefile, &fd, flags | APR_READ, pool);
+ return apr_os_file_put(thefile, &fd, flags | APR_FOPEN_READ, pool);
}
diff --git a/srclib/apr/file_io/os2/readwrite.c b/srclib/apr/file_io/os2/readwrite.c
index a7b591b3..d00591d7 100644
--- a/srclib/apr/file_io/os2/readwrite.c
+++ b/srclib/apr/file_io/os2/readwrite.c
@@ -140,7 +140,7 @@ APR_DECLARE(apr_status_t) apr_file_write(apr_file_t *thefile, const void *buf, a
apr_thread_mutex_lock(thefile->mutex);
if ( thefile->direction == 0 ) {
- // Position file pointer for writing at the offset we are logically reading from
+ /* Position file pointer for writing at the offset we are logically reading from */
ULONG offset = thefile->filePtr - thefile->dataRead + thefile->bufpos;
if (offset != thefile->filePtr)
DosSetFilePtr(thefile->filedes, offset, FILE_BEGIN, &thefile->filePtr );
@@ -149,7 +149,7 @@ APR_DECLARE(apr_status_t) apr_file_write(apr_file_t *thefile, const void *buf, a
}
while (rc == 0 && size > 0) {
- if (thefile->bufpos == thefile->bufsize) // write buffer is full
+ if (thefile->bufpos == thefile->bufsize) /* write buffer is full */
/* XXX bug; - rc is double-transformed os->apr below */
rc = apr_file_flush(thefile);
@@ -163,7 +163,7 @@ APR_DECLARE(apr_status_t) apr_file_write(apr_file_t *thefile, const void *buf, a
apr_thread_mutex_unlock(thefile->mutex);
return APR_FROM_OS_ERROR(rc);
} else {
- if (thefile->flags & APR_APPEND) {
+ if (thefile->flags & APR_FOPEN_APPEND) {
FILELOCK all = { 0, 0x7fffffff };
ULONG newpos;
rc = DosSetFileLocks(thefile->filedes, NULL, &all, -1, 0);
diff --git a/srclib/apr/file_io/unix/copy.c b/srclib/apr/file_io/unix/copy.c
index 3a1c59a6..df3a49c8 100644
--- a/srclib/apr/file_io/unix/copy.c
+++ b/srclib/apr/file_io/unix/copy.c
@@ -29,7 +29,7 @@ static apr_status_t apr_file_transfer_contents(const char *from_path,
apr_fileperms_t perms;
/* Open source file. */
- status = apr_file_open(&s, from_path, APR_READ, APR_OS_DEFAULT, pool);
+ status = apr_file_open(&s, from_path, APR_FOPEN_READ, APR_OS_DEFAULT, pool);
if (status)
return status;
@@ -101,7 +101,7 @@ APR_DECLARE(apr_status_t) apr_file_copy(const char *from_path,
apr_pool_t *pool)
{
return apr_file_transfer_contents(from_path, to_path,
- (APR_WRITE | APR_CREATE | APR_TRUNCATE),
+ (APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE),
perms,
pool);
}
@@ -112,7 +112,7 @@ APR_DECLARE(apr_status_t) apr_file_append(const char *from_path,
apr_pool_t *pool)
{
return apr_file_transfer_contents(from_path, to_path,
- (APR_WRITE | APR_CREATE | APR_APPEND),
+ (APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_APPEND),
perms,
pool);
}
diff --git a/srclib/apr/file_io/unix/filedup.c b/srclib/apr/file_io/unix/filedup.c
index 47ea4f33..eb4fbdc6 100644
--- a/srclib/apr/file_io/unix/filedup.c
+++ b/srclib/apr/file_io/unix/filedup.c
@@ -35,12 +35,12 @@ static apr_status_t file_dup(apr_file_t **new_file,
return APR_EINVAL;
}
#ifdef HAVE_DUP3
- if (!((*new_file)->flags & (APR_FILE_NOCLEANUP|APR_INHERIT)))
+ if (!((*new_file)->flags & (APR_FOPEN_NOCLEANUP|APR_INHERIT)))
flags |= O_CLOEXEC;
rv = dup3(old_file->filedes, (*new_file)->filedes, flags);
#else
rv = dup2(old_file->filedes, (*new_file)->filedes);
- if (!((*new_file)->flags & (APR_FILE_NOCLEANUP|APR_INHERIT))) {
+ if (!((*new_file)->flags & (APR_FOPEN_NOCLEANUP|APR_INHERIT))) {
int flags;
if (rv == -1)
@@ -106,12 +106,12 @@ static apr_status_t file_dup(apr_file_t **new_file,
}
/* apr_file_dup() retains all old_file flags with the exceptions
- * of APR_INHERIT and APR_FILE_NOCLEANUP.
+ * of APR_INHERIT and APR_FOPEN_NOCLEANUP.
* The user must call apr_file_inherit_set() on the dupped
* apr_file_t when desired.
*/
(*new_file)->flags = old_file->flags
- & ~(APR_INHERIT | APR_FILE_NOCLEANUP);
+ & ~(APR_INHERIT | APR_FOPEN_NOCLEANUP);
apr_pool_cleanup_register((*new_file)->pool, (void *)(*new_file),
apr_unix_file_cleanup,
@@ -164,7 +164,7 @@ APR_DECLARE(apr_status_t) apr_file_setaside(apr_file_t **new_file,
if (old_file->fname) {
(*new_file)->fname = apr_pstrdup(p, old_file->fname);
}
- if (!(old_file->flags & APR_FILE_NOCLEANUP)) {
+ if (!(old_file->flags & APR_FOPEN_NOCLEANUP)) {
apr_pool_cleanup_register(p, (void *)(*new_file),
apr_unix_file_cleanup,
((*new_file)->flags & APR_INHERIT)
diff --git a/srclib/apr/file_io/unix/mktemp.c b/srclib/apr/file_io/unix/mktemp.c
index a78b73ae..28aaf90e 100644
--- a/srclib/apr/file_io/unix/mktemp.c
+++ b/srclib/apr/file_io/unix/mktemp.c
@@ -178,8 +178,8 @@ APR_DECLARE(apr_status_t) apr_file_mktemp(apr_file_t **fp, char *template, apr_i
#ifdef HAVE_MKSTEMP
int fd;
#endif
- flags = (!flags) ? APR_CREATE | APR_READ | APR_WRITE | APR_EXCL |
- APR_DELONCLOSE : flags;
+ flags = (!flags) ? APR_FOPEN_CREATE | APR_FOPEN_READ | APR_FOPEN_WRITE | APR_FOPEN_EXCL |
+ APR_FOPEN_DELONCLOSE : flags;
#ifndef HAVE_MKSTEMP
return gettemp(template, fp, flags, p);
#else
@@ -203,7 +203,7 @@ APR_DECLARE(apr_status_t) apr_file_mktemp(apr_file_t **fp, char *template, apr_i
apr_os_file_put(fp, &fd, flags, p);
(*fp)->fname = apr_pstrdup(p, template);
- if (!(flags & APR_FILE_NOCLEANUP)) {
+ if (!(flags & APR_FOPEN_NOCLEANUP)) {
int flags;
if ((flags = fcntl(fd, F_GETFD)) == -1)
diff --git a/srclib/apr/file_io/unix/open.c b/srclib/apr/file_io/unix/open.c
index bf3b43b6..d8e17150 100644
--- a/srclib/apr/file_io/unix/open.c
+++ b/srclib/apr/file_io/unix/open.c
@@ -38,7 +38,7 @@ static apr_status_t file_cleanup(apr_file_t *file, int is_child)
if (close(fd) == 0) {
/* Only the parent process should delete the file! */
- if (!is_child && (file->flags & APR_DELONCLOSE)) {
+ if (!is_child && (file->flags & APR_FOPEN_DELONCLOSE)) {
unlink(file->fname);
}
#if APR_HAS_THREADS
@@ -100,37 +100,37 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new,
apr_status_t rv;
#endif
- if ((flag & APR_READ) && (flag & APR_WRITE)) {
+ if ((flag & APR_FOPEN_READ) && (flag & APR_FOPEN_WRITE)) {
oflags = O_RDWR;
}
- else if (flag & APR_READ) {
+ else if (flag & APR_FOPEN_READ) {
oflags = O_RDONLY;
}
- else if (flag & APR_WRITE) {
+ else if (flag & APR_FOPEN_WRITE) {
oflags = O_WRONLY;
}
else {
return APR_EACCES;
}
- if (flag & APR_CREATE) {
- oflags |= O_CREAT;
- if (flag & APR_EXCL) {
+ if (flag & APR_FOPEN_CREATE) {
+ oflags |= O_CREAT;
+ if (flag & APR_FOPEN_EXCL) {
oflags |= O_EXCL;
}
}
- if ((flag & APR_EXCL) && !(flag & APR_CREATE)) {
+ if ((flag & APR_FOPEN_EXCL) && !(flag & APR_FOPEN_CREATE)) {
return APR_EACCES;
}
- if (flag & APR_APPEND) {
+ if (flag & APR_FOPEN_APPEND) {
oflags |= O_APPEND;
}
- if (flag & APR_TRUNCATE) {
+ if (flag & APR_FOPEN_TRUNCATE) {
oflags |= O_TRUNC;
}
#ifdef O_BINARY
- if (flag & APR_BINARY) {
+ if (flag & APR_FOPEN_BINARY) {
oflags |= O_BINARY;
}
#endif
@@ -138,7 +138,7 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new,
#ifdef O_CLOEXEC
/* Introduced in Linux 2.6.23. Silently ignored on earlier Linux kernels.
*/
- if (!(flag & APR_FILE_NOCLEANUP)) {
+ if (!(flag & APR_FOPEN_NOCLEANUP)) {
oflags |= O_CLOEXEC;
}
#endif
@@ -146,13 +146,13 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new,
#if APR_HAS_LARGE_FILES && defined(_LARGEFILE64_SOURCE)
oflags |= O_LARGEFILE;
#elif defined(O_LARGEFILE)
- if (flag & APR_LARGEFILE) {
+ if (flag & APR_FOPEN_LARGEFILE) {
oflags |= O_LARGEFILE;
}
#endif
#if APR_HAS_THREADS
- if ((flag & APR_BUFFERED) && (flag & APR_XTHREAD)) {
+ if ((flag & APR_FOPEN_BUFFERED) && (flag & APR_FOPEN_XTHREAD)) {
rv = apr_thread_mutex_create(&thlock,
APR_THREAD_MUTEX_DEFAULT, pool);
if (rv) {
@@ -170,15 +170,17 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new,
if (fd < 0) {
return errno;
}
- if (!(flag & APR_FILE_NOCLEANUP)) {
+ if (!(flag & APR_FOPEN_NOCLEANUP)) {
int flags;
if ((flags = fcntl(fd, F_GETFD)) == -1)
return errno;
- flags |= FD_CLOEXEC;
- if (fcntl(fd, F_SETFD, flags) == -1)
- return errno;
+ if ((flags & FD_CLOEXEC) == 0) {
+ flags |= FD_CLOEXEC;
+ if (fcntl(fd, F_SETFD, flags) == -1)
+ return errno;
+ }
}
(*new) = (apr_file_t *)apr_pcalloc(pool, sizeof(apr_file_t));
@@ -189,13 +191,13 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new,
(*new)->fname = apr_pstrdup(pool, fname);
(*new)->blocking = BLK_ON;
- (*new)->buffered = (flag & APR_BUFFERED) > 0;
+ (*new)->buffered = (flag & APR_FOPEN_BUFFERED) > 0;
if ((*new)->buffered) {
(*new)->buffer = apr_palloc(pool, APR_FILE_DEFAULT_BUFSIZE);
(*new)->bufsize = APR_FILE_DEFAULT_BUFSIZE;
#if APR_HAS_THREADS
- if ((*new)->flags & APR_XTHREAD) {
+ if ((*new)->flags & APR_FOPEN_XTHREAD) {
(*new)->thlock = thlock;
}
#endif
@@ -218,7 +220,7 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new,
*/
(*new)->pollset = NULL;
#endif
- if (!(flag & APR_FILE_NOCLEANUP)) {
+ if (!(flag & APR_FOPEN_NOCLEANUP)) {
apr_pool_cleanup_register((*new)->pool, (void *)(*new),
apr_unix_file_cleanup,
apr_unix_child_file_cleanup);
@@ -271,8 +273,8 @@ APR_DECLARE(apr_status_t) apr_os_file_put(apr_file_t **file,
(*file)->timeout = -1;
(*file)->ungetchar = -1; /* no char avail */
(*file)->filedes = *dafile;
- (*file)->flags = flags | APR_FILE_NOCLEANUP;
- (*file)->buffered = (flags & APR_BUFFERED) > 0;
+ (*file)->flags = flags | APR_FOPEN_NOCLEANUP;
+ (*file)->buffered = (flags & APR_FOPEN_BUFFERED) > 0;
#ifndef WAITIO_USES_POLL
/* Start out with no pollset. apr_wait_for_io_or_timeout() will
@@ -285,7 +287,7 @@ APR_DECLARE(apr_status_t) apr_os_file_put(apr_file_t **file,
(*file)->buffer = apr_palloc(pool, APR_FILE_DEFAULT_BUFSIZE);
(*file)->bufsize = APR_FILE_DEFAULT_BUFSIZE;
#if APR_HAS_THREADS
- if ((*file)->flags & APR_XTHREAD) {
+ if ((*file)->flags & APR_FOPEN_XTHREAD) {
apr_status_t rv;
rv = apr_thread_mutex_create(&((*file)->thlock),
APR_THREAD_MUTEX_DEFAULT, pool);
@@ -312,7 +314,7 @@ APR_DECLARE(apr_status_t) apr_file_open_flags_stderr(apr_file_t **thefile,
{
int fd = STDERR_FILENO;
- return apr_os_file_put(thefile, &fd, flags | APR_WRITE, pool);
+ return apr_os_file_put(thefile, &fd, flags | APR_FOPEN_WRITE, pool);
}
APR_DECLARE(apr_status_t) apr_file_open_flags_stdout(apr_file_t **thefile,
@@ -321,7 +323,7 @@ APR_DECLARE(apr_status_t) apr_file_open_flags_stdout(apr_file_t **thefile,
{
int fd = STDOUT_FILENO;
- return apr_os_file_put(thefile, &fd, flags | APR_WRITE, pool);
+ return apr_os_file_put(thefile, &fd, flags | APR_FOPEN_WRITE, pool);
}
APR_DECLARE(apr_status_t) apr_file_open_flags_stdin(apr_file_t **thefile,
@@ -330,7 +332,7 @@ APR_DECLARE(apr_status_t) apr_file_open_flags_stdin(apr_file_t **thefile,
{
int fd = STDIN_FILENO;
- return apr_os_file_put(thefile, &fd, flags | APR_READ, pool);
+ return apr_os_file_put(thefile, &fd, flags | APR_FOPEN_READ, pool);
}
APR_DECLARE(apr_status_t) apr_file_open_stderr(apr_file_t **thefile,
@@ -358,7 +360,7 @@ APR_IMPLEMENT_INHERIT_SET(file, flags, pool, apr_unix_file_cleanup)
* suitable on Unix (see PR 41119). */
APR_DECLARE(apr_status_t) apr_file_inherit_unset(apr_file_t *thefile)
{
- if (thefile->flags & APR_FILE_NOCLEANUP) {
+ if (thefile->flags & APR_FOPEN_NOCLEANUP) {
return APR_EINVAL;
}
if (thefile->flags & APR_INHERIT) {
diff --git a/srclib/apr/file_io/unix/pipe.c b/srclib/apr/file_io/unix/pipe.c
index 0411aa5f..7b8f01fb 100644
--- a/srclib/apr/file_io/unix/pipe.c
+++ b/srclib/apr/file_io/unix/pipe.c
@@ -149,7 +149,7 @@ APR_DECLARE(apr_status_t) apr_os_pipe_put_ex(apr_file_t **file,
(*file)->ungetchar = -1; /* no char avail */
(*file)->filedes = *dafile;
if (!register_cleanup) {
- (*file)->flags = APR_FILE_NOCLEANUP;
+ (*file)->flags = APR_FOPEN_NOCLEANUP;
}
(*file)->buffered = 0;
#if APR_HAS_THREADS
diff --git a/srclib/apr/file_io/unix/readwrite.c b/srclib/apr/file_io/unix/readwrite.c
index f2e07534..4b3e7368 100644
--- a/srclib/apr/file_io/unix/readwrite.c
+++ b/srclib/apr/file_io/unix/readwrite.c
@@ -311,12 +311,16 @@ apr_status_t apr_file_flush_locked(apr_file_t *thefile)
apr_status_t rv = APR_SUCCESS;
if (thefile->direction == 1 && thefile->bufpos) {
- apr_ssize_t written;
+ apr_ssize_t written = 0, ret;
do {
- written = write(thefile->filedes, thefile->buffer, thefile->bufpos);
- } while (written == -1 && errno == EINTR);
- if (written == -1) {
+ ret = write(thefile->filedes, thefile->buffer + written,
+ thefile->bufpos - written);
+ if (ret > 0)
+ written += ret;
+ } while (written < thefile->bufpos &&
+ (ret > 0 || (ret == -1 && errno == EINTR)));
+ if (ret == -1) {
rv = errno;
} else {
thefile->filePtr += written;
diff --git a/srclib/apr/file_io/win32/dir.c b/srclib/apr/file_io/win32/dir.c
index 9e16bc19..574e7270 100644
--- a/srclib/apr/file_io/win32/dir.c
+++ b/srclib/apr/file_io/win32/dir.c
@@ -76,8 +76,8 @@ APR_DECLARE(apr_status_t) apr_dir_open(apr_dir_t **new, const char *dirname,
ELSE_WIN_OS_IS_ANSI
{
/* Note that we won't open a directory that is greater than MAX_PATH,
- * including the trailing /* wildcard suffix. If a * won't fit, then
- * neither will any other file name within the directory.
+ * counting the additional '/' '*' wildcard suffix. If a * won't fit
+ * then neither will any other file name within the directory.
* The length not including the trailing '*' is stored as rootlen, to
* skip over all paths which are too long.
*/
@@ -128,9 +128,9 @@ APR_DECLARE(apr_status_t) apr_dir_read(apr_finfo_t *finfo, apr_int32_t wanted,
if (thedir->dirhand == INVALID_HANDLE_VALUE)
{
apr_status_t rv;
- if (rv = utf8_to_unicode_path(wdirname, sizeof(wdirname)
- / sizeof(apr_wchar_t),
- thedir->dirname)) {
+ if ((rv = utf8_to_unicode_path(wdirname, sizeof(wdirname)
+ / sizeof(apr_wchar_t),
+ thedir->dirname))) {
return rv;
}
eos = wcschr(wdirname, '\0');
@@ -162,8 +162,8 @@ APR_DECLARE(apr_status_t) apr_dir_read(apr_finfo_t *finfo, apr_int32_t wanted,
return apr_get_os_error();
}
}
- if (rv = unicode_to_utf8_path(thedir->name, APR_FILE_MAX * 3 + 1,
- thedir->w.entry->cFileName))
+ if ((rv = unicode_to_utf8_path(thedir->name, APR_FILE_MAX * 3 + 1,
+ thedir->w.entry->cFileName)))
return rv;
fname = thedir->name;
}
@@ -280,8 +280,9 @@ APR_DECLARE(apr_status_t) apr_dir_make(const char *path, apr_fileperms_t perm,
{
apr_wchar_t wpath[APR_PATH_MAX];
apr_status_t rv;
- if (rv = utf8_to_unicode_path(wpath, sizeof(wpath)
- / sizeof(apr_wchar_t), path)) {
+ if ((rv = utf8_to_unicode_path(wpath,
+ sizeof(wpath) / sizeof(apr_wchar_t),
+ path))) {
return rv;
}
if (!CreateDirectoryW(wpath, NULL)) {
@@ -357,8 +358,9 @@ APR_DECLARE(apr_status_t) apr_dir_remove(const char *path, apr_pool_t *pool)
{
apr_wchar_t wpath[APR_PATH_MAX];
apr_status_t rv;
- if (rv = utf8_to_unicode_path(wpath, sizeof(wpath)
- / sizeof(apr_wchar_t), path)) {
+ if ((rv = utf8_to_unicode_path(wpath,
+ sizeof(wpath) / sizeof(apr_wchar_t),
+ path))) {
return rv;
}
if (!RemoveDirectoryW(wpath)) {
diff --git a/srclib/apr/file_io/win32/filedup.c b/srclib/apr/file_io/win32/filedup.c
index e96ef2bc..b44b2561 100644
--- a/srclib/apr/file_io/win32/filedup.c
+++ b/srclib/apr/file_io/win32/filedup.c
@@ -71,7 +71,6 @@ APR_DECLARE(apr_status_t) apr_file_dup2(apr_file_t *new_file,
#ifdef _WIN32_WCE
return APR_ENOTIMPL;
#else
- DWORD stdhandle = 0;
HANDLE hproc = GetCurrentProcess();
HANDLE newhand = NULL;
apr_int32_t newflags;
@@ -208,7 +207,7 @@ APR_DECLARE(apr_status_t) apr_file_setaside(apr_file_t **new_file,
if (old_file->fname) {
(*new_file)->fname = apr_pstrdup(p, old_file->fname);
}
- if (!(old_file->flags & APR_FILE_NOCLEANUP)) {
+ if (!(old_file->flags & APR_FOPEN_NOCLEANUP)) {
apr_pool_cleanup_register(p, (void *)(*new_file),
file_cleanup,
file_cleanup);
diff --git a/srclib/apr/file_io/win32/filepath.c b/srclib/apr/file_io/win32/filepath.c
index 766e35f8..559d1b28 100644
--- a/srclib/apr/file_io/win32/filepath.c
+++ b/srclib/apr/file_io/win32/filepath.c
@@ -327,6 +327,27 @@ APR_DECLARE(apr_status_t) apr_filepath_root(const char **rootpath,
#endif /* ndef(NETWARE) */
}
+#if !defined(NETWARE)
+static int same_drive(const char *path1, const char *path2)
+{
+ char drive1 = path1[0];
+ char drive2 = path2[0];
+
+ if (!drive1 || !drive2 || path1[1] != ':' || path2[1] != ':')
+ return FALSE;
+
+ if (drive1 == drive2)
+ return TRUE;
+
+ if (drive1 >= 'a' && drive1 <= 'z')
+ drive1 += 'A' - 'a';
+
+ if (drive2 >= 'a' && drive2 <= 'z')
+ drive2 += 'A' - 'a';
+
+ return (drive1 == drive2);
+}
+#endif
APR_DECLARE(apr_status_t) apr_filepath_merge(char **newpath,
const char *basepath,
@@ -540,7 +561,7 @@ APR_DECLARE(apr_status_t) apr_filepath_merge(char **newpath,
* use the basepath _if_ it matches this drive letter!
* Otherwise we must discard the basepath.
*/
- if (addroot[0] == baseroot[0] && baseroot[1] == ':') {
+ if (same_drive(addroot, baseroot)) {
#endif
/* Base the result path on the basepath
*/
@@ -949,8 +970,7 @@ APR_DECLARE(apr_status_t) apr_filepath_merge(char **newpath,
}
}
- *newpath = apr_pmemdup(p, path, pathlen + 1);
- (*newpath)[pathlen] = '\0';
+ *newpath = apr_pstrmemdup(p, path, pathlen);
return APR_SUCCESS;
}
diff --git a/srclib/apr/file_io/win32/filestat.c b/srclib/apr/file_io/win32/filestat.c
index f409fc24..0d2225a9 100644
--- a/srclib/apr/file_io/win32/filestat.c
+++ b/srclib/apr/file_io/win32/filestat.c
@@ -97,7 +97,7 @@ static void resolve_prot(apr_finfo_t *finfo, apr_int32_t wanted, PACL dacl)
* there is no reason for os_level testing here.
*/
if ((wanted & APR_FINFO_WPROT) && !worldid) {
- SID_IDENTIFIER_AUTHORITY SIDAuth = SECURITY_WORLD_SID_AUTHORITY;
+ SID_IDENTIFIER_AUTHORITY SIDAuth = {SECURITY_WORLD_SID_AUTHORITY};
if (AllocateAndInitializeSid(&SIDAuth, 1, SECURITY_WORLD_RID,
0, 0, 0, 0, 0, 0, 0, &worldid))
atexit(free_world);
@@ -268,7 +268,7 @@ apr_status_t more_finfo(apr_finfo_t *finfo, const void *ufile,
((wanted & APR_FINFO_PROT) ? &dacl : NULL),
NULL, &pdesc);
else
- return APR_INCOMPLETE;
+ return APR_INCOMPLETE; /* should not occur */
if (rv == ERROR_SUCCESS)
apr_pool_cleanup_register(finfo->pool, pdesc, free_localheap,
apr_pool_cleanup_null);
@@ -319,6 +319,8 @@ apr_status_t more_finfo(apr_finfo_t *finfo, const void *ufile,
sizelo = GetCompressedFileSizeW((apr_wchar_t*)ufile, &sizehi);
else if (whatfile == MORE_OF_FSPEC)
sizelo = GetCompressedFileSizeA((char*)ufile, &sizehi);
+ else
+ return APR_EGENERAL; /* should not occur */
if (sizelo != INVALID_FILE_SIZE || GetLastError() == NO_ERROR) {
#if APR_HAS_LARGE_FILES
@@ -439,7 +441,7 @@ APR_DECLARE(apr_status_t) apr_file_info_get(apr_finfo_t *finfo, apr_int32_t want
* don't need to take chances while the handle is already open.
*/
DWORD FileType;
- if (FileType = GetFileType(thefile->filehand)) {
+ if ((FileType = GetFileType(thefile->filehand))) {
if (FileType == FILE_TYPE_CHAR) {
finfo->filetype = APR_CHR;
}
@@ -532,8 +534,8 @@ APR_DECLARE(apr_status_t) apr_stat(apr_finfo_t *finfo, const char *fname,
wanted &= ~finfo->valid;
}
- if (rv = utf8_to_unicode_path(wfname, sizeof(wfname)
- / sizeof(apr_wchar_t), fname))
+ if ((rv = utf8_to_unicode_path(wfname, sizeof(wfname)
+ / sizeof(apr_wchar_t), fname)))
return rv;
if (!(wanted & APR_FINFO_NAME)) {
if (!GetFileAttributesExW(wfname, GetFileExInfoStandard,
@@ -718,9 +720,9 @@ APR_DECLARE(apr_status_t) apr_file_attrs_set(const char *fname,
#if APR_HAS_UNICODE_FS
IF_WIN_OS_IS_UNICODE
{
- if (rv = utf8_to_unicode_path(wfname,
- sizeof(wfname) / sizeof(wfname[0]),
- fname))
+ if ((rv = utf8_to_unicode_path(wfname,
+ sizeof(wfname) / sizeof(wfname[0]),
+ fname)))
return rv;
flags = GetFileAttributesW(wfname);
}
@@ -779,7 +781,7 @@ APR_DECLARE(apr_status_t) apr_file_mtime_set(const char *fname,
apr_status_t rv;
rv = apr_file_open(&thefile, fname,
- APR_READ | APR_WRITEATTRS,
+ APR_FOPEN_READ | APR_WRITEATTRS,
APR_OS_DEFAULT, pool);
if (!rv)
{
diff --git a/srclib/apr/file_io/win32/filesys.c b/srclib/apr/file_io/win32/filesys.c
index ad31e338..e8121395 100644
--- a/srclib/apr/file_io/win32/filesys.c
+++ b/srclib/apr/file_io/win32/filesys.c
@@ -70,8 +70,8 @@ apr_status_t filepath_root_test(char *path, apr_pool_t *p)
if (apr_os_level >= APR_WIN_NT)
{
apr_wchar_t wpath[APR_PATH_MAX];
- if (rv = utf8_to_unicode_path(wpath, sizeof(wpath)
- / sizeof(apr_wchar_t), path))
+ if ((rv = utf8_to_unicode_path(wpath, sizeof(wpath)
+ / sizeof(apr_wchar_t), path)))
return rv;
rv = GetDriveTypeW(wpath);
}
@@ -143,8 +143,8 @@ apr_status_t filepath_root_case(char **rootpath, char *root, apr_pool_t *p)
/* ???: This needs review, apparently "\\?\d:." returns "\\?\d:"
* as if that is useful for anything.
*/
- if (rv = utf8_to_unicode_path(wroot, sizeof(wroot)
- / sizeof(apr_wchar_t), root))
+ if ((rv = utf8_to_unicode_path(wroot, sizeof(wroot)
+ / sizeof(apr_wchar_t), root)))
return rv;
if (!GetFullPathNameW(wroot, sizeof(wpath) / sizeof(apr_wchar_t), wpath, &ignored))
return apr_get_os_error();
@@ -211,8 +211,8 @@ APR_DECLARE(apr_status_t) apr_filepath_set(const char *rootpath,
{
apr_wchar_t wpath[APR_PATH_MAX];
apr_status_t rv;
- if (rv = utf8_to_unicode_path(wpath, sizeof(wpath)
- / sizeof(apr_wchar_t), rootpath))
+ if ((rv = utf8_to_unicode_path(wpath, sizeof(wpath)
+ / sizeof(apr_wchar_t), rootpath)))
return rv;
if (!SetCurrentDirectoryW(wpath))
return apr_get_os_error();
diff --git a/srclib/apr/file_io/win32/open.c b/srclib/apr/file_io/win32/open.c
index 1ea9b75a..cb438750 100644
--- a/srclib/apr/file_io/win32/open.c
+++ b/srclib/apr/file_io/win32/open.c
@@ -86,7 +86,7 @@ apr_status_t utf8_to_unicode_path(apr_wchar_t* retstr, apr_size_t retlen,
}
}
- if (rv = apr_conv_utf8_to_ucs2(srcstr, &srcremains, t, &retlen)) {
+ if ((rv = apr_conv_utf8_to_ucs2(srcstr, &srcremains, t, &retlen))) {
return (rv == APR_INCOMPLETE) ? APR_EINVAL : rv;
}
if (srcremains) {
@@ -127,7 +127,7 @@ apr_status_t unicode_to_utf8_path(char* retstr, apr_size_t retlen,
}
}
- if (rv = apr_conv_ucs2_to_utf8(srcstr, &srcremains, t, &retlen)) {
+ if ((rv = apr_conv_ucs2_to_utf8(srcstr, &srcremains, t, &retlen))) {
return rv;
}
if (srcremains) {
@@ -169,7 +169,7 @@ void *res_name_from_filename(const char *file, int global, apr_pool_t *pool)
wfile = apr_palloc(pool, (r + n) * sizeof(apr_wchar_t));
wcscpy(wfile, wpre);
d = n;
- if (rv = apr_conv_utf8_to_ucs2(file, &n, wfile + r, &d)) {
+ if ((rv = apr_conv_utf8_to_ucs2(file, &n, wfile + r, &d))) {
return NULL;
}
for (ch = wfile + r; *ch; ++ch) {
@@ -331,10 +331,10 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname,
DWORD sharemode = FILE_SHARE_READ | FILE_SHARE_WRITE;
apr_status_t rv;
- if (flag & APR_READ) {
+ if (flag & APR_FOPEN_READ) {
oflags |= GENERIC_READ;
}
- if (flag & APR_WRITE) {
+ if (flag & APR_FOPEN_WRITE) {
oflags |= GENERIC_WRITE;
}
if (flag & APR_WRITEATTRS) {
@@ -344,18 +344,18 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname,
if (apr_os_level >= APR_WIN_NT)
sharemode |= FILE_SHARE_DELETE;
- if (flag & APR_CREATE) {
- if (flag & APR_EXCL) {
+ if (flag & APR_FOPEN_CREATE) {
+ if (flag & APR_FOPEN_EXCL) {
/* only create new if file does not already exist */
createflags = CREATE_NEW;
- } else if (flag & APR_TRUNCATE) {
+ } else if (flag & APR_FOPEN_TRUNCATE) {
/* truncate existing file or create new */
createflags = CREATE_ALWAYS;
} else {
/* open existing but create if necessary */
createflags = OPEN_ALWAYS;
}
- } else if (flag & APR_TRUNCATE) {
+ } else if (flag & APR_FOPEN_TRUNCATE) {
/* only truncate if file already exists */
createflags = TRUNCATE_EXISTING;
} else {
@@ -363,11 +363,11 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname,
createflags = OPEN_EXISTING;
}
- if ((flag & APR_EXCL) && !(flag & APR_CREATE)) {
+ if ((flag & APR_FOPEN_EXCL) && !(flag & APR_FOPEN_CREATE)) {
return APR_EACCES;
}
- if (flag & APR_DELONCLOSE) {
+ if (flag & APR_FOPEN_DELONCLOSE) {
attributes |= FILE_FLAG_DELETE_ON_CLOSE;
}
@@ -382,7 +382,7 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname,
* FILE_FLAG_BACKUP_SEMANTICS to allow us to open directories.
* See the static resolve_ident() fn in file_io/win32/filestat.c
*/
- if (!(flag & (APR_READ | APR_WRITE))) {
+ if (!(flag & (APR_FOPEN_READ | APR_FOPEN_WRITE))) {
if (flag & APR_OPENINFO) {
if (apr_os_level >= APR_WIN_NT) {
attributes |= FILE_FLAG_BACKUP_SEMANTICS;
@@ -395,7 +395,7 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname,
oflags |= READ_CONTROL;
}
- if (flag & APR_XTHREAD) {
+ if (flag & APR_FOPEN_XTHREAD) {
/* This win32 specific feature is required
* to allow multiple threads to work with the file.
*/
@@ -407,16 +407,16 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname,
{
apr_wchar_t wfname[APR_PATH_MAX];
- if (flag & APR_SENDFILE_ENABLED) {
+ if (flag & APR_FOPEN_SENDFILE_ENABLED) {
/* This feature is required to enable sendfile operations
- * against the file on Win32. Also implies APR_XTHREAD.
+ * against the file on Win32. Also implies APR_FOPEN_XTHREAD.
*/
- flag |= APR_XTHREAD;
+ flag |= APR_FOPEN_XTHREAD;
attributes |= FILE_FLAG_SEQUENTIAL_SCAN | FILE_FLAG_OVERLAPPED;
}
- if (rv = utf8_to_unicode_path(wfname, sizeof(wfname)
- / sizeof(apr_wchar_t), fname))
+ if ((rv = utf8_to_unicode_path(wfname, sizeof(wfname)
+ / sizeof(apr_wchar_t), fname)))
return rv;
handle = CreateFileW(wfname, oflags, sharemode,
NULL, createflags, attributes, 0);
@@ -427,7 +427,7 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname,
handle = CreateFileA(fname, oflags, sharemode,
NULL, createflags, attributes, 0);
/* This feature is not supported on this platform. */
- flag &= ~APR_SENDFILE_ENABLED;
+ flag &= ~APR_FOPEN_SENDFILE_ENABLED;
}
#endif
if (handle == INVALID_HANDLE_VALUE) {
@@ -442,11 +442,11 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname,
(*new)->timeout = -1;
(*new)->ungetchar = -1;
- if (flag & APR_APPEND) {
+ if (flag & APR_FOPEN_APPEND) {
(*new)->append = 1;
SetFilePointer((*new)->filehand, 0, NULL, FILE_END);
}
- if (flag & APR_BUFFERED) {
+ if (flag & APR_FOPEN_BUFFERED) {
(*new)->buffered = 1;
(*new)->buffer = apr_palloc(pool, APR_FILE_DEFAULT_BUFSIZE);
(*new)->bufsize = APR_FILE_DEFAULT_BUFSIZE;
@@ -481,7 +481,7 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname,
/* ### check return codes */
(void) apr_pollset_create(&(*new)->pollset, 1, pool, 0);
- if (!(flag & APR_FILE_NOCLEANUP)) {
+ if (!(flag & APR_FOPEN_NOCLEANUP)) {
apr_pool_cleanup_register((*new)->pool, (void *)(*new), file_cleanup,
apr_pool_cleanup_null);
}
@@ -510,8 +510,8 @@ APR_DECLARE(apr_status_t) apr_file_remove(const char *path, apr_pool_t *pool)
{
apr_wchar_t wpath[APR_PATH_MAX];
apr_status_t rv;
- if (rv = utf8_to_unicode_path(wpath, sizeof(wpath)
- / sizeof(apr_wchar_t), path)) {
+ if ((rv = utf8_to_unicode_path(wpath, sizeof(wpath)
+ / sizeof(apr_wchar_t), path))) {
return rv;
}
if (DeleteFileW(wpath))
@@ -535,12 +535,14 @@ APR_DECLARE(apr_status_t) apr_file_rename(const char *frompath,
#if APR_HAS_UNICODE_FS
apr_wchar_t wfrompath[APR_PATH_MAX], wtopath[APR_PATH_MAX];
apr_status_t rv;
- if (rv = utf8_to_unicode_path(wfrompath, sizeof(wfrompath)
- / sizeof(apr_wchar_t), frompath)) {
+ if ((rv = utf8_to_unicode_path(wfrompath,
+ sizeof(wfrompath) / sizeof(apr_wchar_t),
+ frompath))) {
return rv;
}
- if (rv = utf8_to_unicode_path(wtopath, sizeof(wtopath)
- / sizeof(apr_wchar_t), topath)) {
+ if ((rv = utf8_to_unicode_path(wtopath,
+ sizeof(wtopath) / sizeof(apr_wchar_t),
+ topath))) {
return rv;
}
#ifndef _WIN32_WCE
@@ -592,11 +594,13 @@ APR_DECLARE(apr_status_t) apr_file_link(const char *from_path,
apr_wchar_t wfrom_path[APR_PATH_MAX];
apr_wchar_t wto_path[APR_PATH_MAX];
- if (rv = utf8_to_unicode_path(wfrom_path, sizeof(wfrom_path)
- / sizeof(apr_wchar_t), from_path))
+ if ((rv = utf8_to_unicode_path(wfrom_path,
+ sizeof(wfrom_path) / sizeof(apr_wchar_t),
+ from_path)))
return rv;
- if (rv = utf8_to_unicode_path(wto_path, sizeof(wto_path)
- / sizeof(apr_wchar_t), to_path))
+ if ((rv = utf8_to_unicode_path(wto_path,
+ sizeof(wto_path) / sizeof(apr_wchar_t),
+ to_path)))
return rv;
if (!CreateHardLinkW(wto_path, wfrom_path, NULL))
@@ -605,8 +609,8 @@ APR_DECLARE(apr_status_t) apr_file_link(const char *from_path,
#endif
#if APR_HAS_ANSI_FS
ELSE_WIN_OS_IS_ANSI {
- if (!CreateHardLinkA(wto_path, wfrom_path))
- return apr_get_os_error()
+ if (!CreateHardLinkA(to_path, from_path, NULL))
+ return apr_get_os_error();
}
#endif
return rv;
@@ -631,10 +635,10 @@ APR_DECLARE(apr_status_t) apr_os_file_put(apr_file_t **file,
(*file)->timeout = -1;
(*file)->flags = flags;
- if (flags & APR_APPEND) {
+ if (flags & APR_FOPEN_APPEND) {
(*file)->append = 1;
}
- if (flags & APR_BUFFERED) {
+ if (flags & APR_FOPEN_BUFFERED) {
(*file)->buffered = 1;
(*file)->buffer = apr_palloc(pool, APR_FILE_DEFAULT_BUFSIZE);
(*file)->bufsize = APR_FILE_DEFAULT_BUFSIZE;
@@ -687,7 +691,7 @@ APR_DECLARE(apr_status_t) apr_file_open_flags_stderr(apr_file_t **thefile,
file_handle = INVALID_HANDLE_VALUE;
return apr_os_file_put(thefile, &file_handle,
- flags | APR_WRITE | APR_STDERR_FLAG, pool);
+ flags | APR_FOPEN_WRITE | APR_STDERR_FLAG, pool);
#endif
}
@@ -706,7 +710,7 @@ APR_DECLARE(apr_status_t) apr_file_open_flags_stdout(apr_file_t **thefile,
file_handle = INVALID_HANDLE_VALUE;
return apr_os_file_put(thefile, &file_handle,
- flags | APR_WRITE | APR_STDOUT_FLAG, pool);
+ flags | APR_FOPEN_WRITE | APR_STDOUT_FLAG, pool);
#endif
}
@@ -725,7 +729,7 @@ APR_DECLARE(apr_status_t) apr_file_open_flags_stdin(apr_file_t **thefile,
file_handle = INVALID_HANDLE_VALUE;
return apr_os_file_put(thefile, &file_handle,
- flags | APR_READ | APR_STDIN_FLAG, pool);
+ flags | APR_FOPEN_READ | APR_STDIN_FLAG, pool);
#endif
}
diff --git a/srclib/apr/file_io/win32/pipe.c b/srclib/apr/file_io/win32/pipe.c
index 4ee629d9..9344c7ae 100644
--- a/srclib/apr/file_io/win32/pipe.c
+++ b/srclib/apr/file_io/win32/pipe.c
@@ -29,6 +29,9 @@
#if APR_HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif
+#if APR_HAVE_PROCESS_H
+#include <process.h> /* for getpid() on Win32 */
+#endif
#include "apr_arch_misc.h"
APR_DECLARE(apr_status_t) apr_file_pipe_timeout_set(apr_file_t *thepipe,
@@ -43,8 +46,7 @@ APR_DECLARE(apr_status_t) apr_file_pipe_timeout_set(apr_file_t *thepipe,
return APR_ENOTIMPL;
}
if (timeout && !(thepipe->pOverlapped)) {
- /* Cannot be nonzero if a pipe was opened blocking
- */
+ /* Cannot be nonzero if a pipe was opened blocking */
return APR_EINVAL;
}
thepipe->timeout = timeout;
@@ -82,7 +84,7 @@ APR_DECLARE(apr_status_t) apr_file_pipe_create_ex(apr_file_t **in,
char name[50];
sa.nLength = sizeof(sa);
-
+
#if APR_HAS_UNICODE_FS
IF_WIN_OS_IS_UNICODE
sa.bInheritHandle = FALSE;
@@ -139,10 +141,10 @@ APR_DECLARE(apr_status_t) apr_file_pipe_create_ex(apr_file_t **in,
(*in)->filehand = CreateNamedPipe(name,
dwOpenMode,
dwPipeMode,
- 1, //nMaxInstances,
- 0, //nOutBufferSize,
- 65536, //nInBufferSize,
- 1, //nDefaultTimeOut,
+ 1, /* nMaxInstances, */
+ 0, /* nOutBufferSize, */
+ 65536, /* nInBufferSize, */
+ 1, /* nDefaultTimeOut, */
&sa);
/* Create the write end of the pipe */
@@ -154,14 +156,14 @@ APR_DECLARE(apr_status_t) apr_file_pipe_create_ex(apr_file_t **in,
(*out)->pOverlapped->hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
(*out)->timeout = 0;
}
-
+
(*out)->filehand = CreateFile(name,
- GENERIC_WRITE, // access mode
- 0, // share mode
- &sa, // Security attributes
- OPEN_EXISTING, // dwCreationDisposition
- dwOpenMode, // Pipe attributes
- NULL); // handle to template file
+ GENERIC_WRITE, /* access mode */
+ 0, /* share mode */
+ &sa, /* Security attributes */
+ OPEN_EXISTING, /* dwCreationDisposition */
+ dwOpenMode, /* Pipe attributes */
+ NULL); /* handle to template file */
}
else {
/* Pipes on Win9* are blocking. Live with it. */
@@ -229,8 +231,9 @@ APR_DECLARE(apr_status_t) apr_os_pipe_put(apr_file_t **file,
static apr_status_t create_socket_pipe(SOCKET *rd, SOCKET *wr)
{
static int id = 0;
-
+ FD_SET rs;
SOCKET ls;
+ struct timeval socktm;
struct sockaddr_in pa;
struct sockaddr_in la;
struct sockaddr_in ca;
@@ -238,7 +241,7 @@ static apr_status_t create_socket_pipe(SOCKET *rd, SOCKET *wr)
apr_status_t rv = APR_SUCCESS;
int ll = sizeof(la);
int lc = sizeof(ca);
- int bm = 1;
+ unsigned long bm = 1;
int uid[2];
int iid[2];
@@ -290,17 +293,41 @@ static apr_status_t create_socket_pipe(SOCKET *rd, SOCKET *wr)
goto cleanup;
}
for (;;) {
+ int ns;
+ int nc = 0;
/* Listening socket is nonblocking by now.
- * The accept must create the socket
- * immediatelly because we connected already.
+ * The accept should create the socket
+ * immediatelly because we are connected already.
+ * However on buys systems this can take a while
+ * until winsock gets a chance to handle the events.
*/
+ FD_ZERO(&rs);
+ FD_SET(ls, &rs);
+
+ socktm.tv_sec = 1;
+ socktm.tv_usec = 0;
+ if ((ns = select(0, &rs, NULL, NULL, &socktm)) == SOCKET_ERROR) {
+ /* Accept still not signaled */
+ Sleep(100);
+ continue;
+ }
+ if (ns == 0) {
+ /* No connections in the last second */
+ continue;
+ }
if ((*rd = accept(ls, (SOCKADDR *)&ca, &lc)) == INVALID_SOCKET) {
rv = apr_get_netos_error();
goto cleanup;
}
/* Verify the connection by reading the send identification.
*/
- nrd = recv(*rd, (char *)iid, sizeof(iid), 0);
+ do {
+ if (nc++)
+ Sleep(1);
+ nrd = recv(*rd, (char *)iid, sizeof(iid), 0);
+ rv = nrd == SOCKET_ERROR ? apr_get_netos_error() : APR_SUCCESS;
+ } while (APR_STATUS_IS_EAGAIN(rv));
+
if (nrd == sizeof(iid)) {
if (memcmp(uid, iid, sizeof(uid)) == 0) {
/* Wow, we recived what we send.
@@ -316,7 +343,6 @@ static apr_status_t create_socket_pipe(SOCKET *rd, SOCKET *wr)
}
}
else if (nrd == SOCKET_ERROR) {
- rv = apr_get_netos_error();
goto cleanup;
}
closesocket(*rd);
@@ -412,3 +438,4 @@ apr_status_t apr_file_socket_pipe_close(apr_file_t *file)
}
return stat;
}
+
diff --git a/srclib/apr/file_io/win32/readwrite.c b/srclib/apr/file_io/win32/readwrite.c
index ecbe7dda..1d0014d5 100644
--- a/srclib/apr/file_io/win32/readwrite.c
+++ b/srclib/apr/file_io/win32/readwrite.c
@@ -154,7 +154,7 @@ APR_DECLARE(apr_status_t) apr_file_read(apr_file_t *thefile, void *buf, apr_size
* initialize the overlapped and io completion event (hEvent).
* Threads should NOT share an apr_file_t or its hEvent.
*/
- if ((thefile->flags & APR_XTHREAD) && !thefile->pOverlapped ) {
+ if ((thefile->flags & APR_FOPEN_XTHREAD) && !thefile->pOverlapped ) {
thefile->pOverlapped = (OVERLAPPED*) apr_pcalloc(thefile->pool,
sizeof(OVERLAPPED));
thefile->pOverlapped->hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
@@ -245,7 +245,7 @@ APR_DECLARE(apr_status_t) apr_file_write(apr_file_t *thefile, const void *buf, a
* initialize the overlapped and io completion event (hEvent).
* Threads should NOT share an apr_file_t or its hEvent.
*/
- if ((thefile->flags & APR_XTHREAD) && !thefile->pOverlapped ) {
+ if ((thefile->flags & APR_FOPEN_XTHREAD) && !thefile->pOverlapped ) {
thefile->pOverlapped = (OVERLAPPED*) apr_pcalloc(thefile->pool,
sizeof(OVERLAPPED));
thefile->pOverlapped->hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
@@ -263,10 +263,10 @@ APR_DECLARE(apr_status_t) apr_file_write(apr_file_t *thefile, const void *buf, a
apr_thread_mutex_lock(thefile->mutex);
if (thefile->direction == 0) {
- // Position file pointer for writing at the offset we are logically reading from
+ /* Position file pointer for writing at the offset we are logically reading from */
apr_off_t offset = thefile->filePtr - thefile->dataRead + thefile->bufpos;
DWORD offlo = (DWORD)offset;
- DWORD offhi = (DWORD)(offset >> 32);
+ LONG offhi = (LONG)(offset >> 32);
if (offset != thefile->filePtr)
SetFilePointer(thefile->filehand, offlo, &offhi, FILE_BEGIN);
thefile->bufpos = thefile->dataRead = 0;
diff --git a/srclib/apr/file_io/win32/seek.c b/srclib/apr/file_io/win32/seek.c
index 53e53dd7..b412fd4c 100644
--- a/srclib/apr/file_io/win32/seek.c
+++ b/srclib/apr/file_io/win32/seek.c
@@ -44,7 +44,7 @@ static apr_status_t setptr(apr_file_t *thefile, apr_off_t pos )
rv = APR_SUCCESS;
} else {
DWORD offlo = (DWORD)pos;
- DWORD offhi = (DWORD)(pos >> 32);
+ LONG offhi = (LONG)(pos >> 32);
rc = SetFilePointer(thefile->filehand, offlo, &offhi, FILE_BEGIN);
if (rc == (DWORD)-1)
@@ -100,10 +100,10 @@ APR_DECLARE(apr_status_t) apr_file_seek(apr_file_t *thefile, apr_seek_where_t wh
*offset = thefile->filePtr - thefile->dataRead + thefile->bufpos;
return rc;
}
- /* A file opened with APR_XTHREAD has been opened for overlapped i/o.
+ /* A file opened with APR_FOPEN_XTHREAD has been opened for overlapped i/o.
* APR must explicitly track the file pointer in this case.
*/
- else if (thefile->pOverlapped || thefile->flags & APR_XTHREAD) {
+ else if (thefile->pOverlapped || thefile->flags & APR_FOPEN_XTHREAD) {
switch(where) {
case APR_SET:
thefile->filePtr = *offset;
@@ -158,7 +158,7 @@ APR_DECLARE(apr_status_t) apr_file_trunc(apr_file_t *thefile, apr_off_t offset)
{
apr_status_t rv;
DWORD offlo = (DWORD)offset;
- DWORD offhi = (DWORD)(offset >> 32);
+ LONG offhi = (LONG)(offset >> 32);
DWORD rc;
rc = SetFilePointer(thefile->filehand, offlo, &offhi, FILE_BEGIN);
diff --git a/srclib/apr/include/apr.h.in b/srclib/apr/include/apr.h.in
index 9f1fb6f9..a411dd02 100644
--- a/srclib/apr/include/apr.h.in
+++ b/srclib/apr/include/apr.h.in
@@ -63,10 +63,10 @@
#define __attribute__(__x)
#endif
#define APR_INLINE
-#define APR_HAS_INLINE 0
+#define APR_HAS_INLINE 0
#else
#define APR_INLINE __inline__
-#define APR_HAS_INLINE 1
+#define APR_HAS_INLINE 1
#endif
#define APR_HAVE_ARPA_INET_H @arpa_ineth@
@@ -83,6 +83,7 @@
#define APR_HAVE_NETINET_SCTP_H @netinet_sctph@
#define APR_HAVE_NETINET_SCTP_UIO_H @netinet_sctp_uioh@
#define APR_HAVE_NETINET_TCP_H @netinet_tcph@
+#define APR_HAVE_PROCESS_H @processh@
#define APR_HAVE_PTHREAD_H @pthreadh@
#define APR_HAVE_SEMAPHORE_H @semaphoreh@
#define APR_HAVE_SIGNAL_H @signalh@
@@ -116,13 +117,49 @@
*/
#if APR_HAVE_WINDOWS_H
-#include <windows.h>
+/* If windows.h was already included, our preferences don't matter.
+ * If not, include a restricted set of windows headers to our tastes.
+ */
+#ifndef _WINDOWS_
+
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
#endif
-#if APR_HAVE_WINSOCK2_H
+#ifndef _WIN32_WINNT
+/* Restrict the server to a subset of Windows XP header files by default
+ */
+#define _WIN32_WINNT 0x0501
+#endif
+
+#ifndef NOUSER
+#define NOUSER
+#endif
+#ifndef NOMCX
+#define NOMCX
+#endif
+#ifndef NOIME
+#define NOIME
+#endif
+
+#include <windows.h>
+/*
+ * Add a _very_few_ declarations missing from the restricted set of headers
+ * (If this list becomes extensive, re-enable the required headers above!)
+ * winsock headers were excluded by WIN32_LEAN_AND_MEAN, so include them now
+ */
+#define SW_HIDE 0
+#ifndef _WIN32_WCE
#include <winsock2.h>
+#include <ws2tcpip.h>
+#include <mswsock.h>
+#else
+#include <winsock.h>
#endif
+#endif /* ndef _WINDOWS_ */
+#endif /* APR_HAVE_WINDOWS_H */
+
#if APR_HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
@@ -238,12 +275,12 @@ extern "C" {
#define APR_HAS_SO_ACCEPTFILTER @acceptfilter@
#define APR_HAS_UNICODE_FS @have_unicode_fs@
#define APR_HAS_PROC_INVOKED @have_proc_invoked@
-#define APR_HAS_USER 1
+#define APR_HAS_USER @apr_has_user@
#define APR_HAS_LARGE_FILES @aprlfs@
-#define APR_HAS_XTHREAD_FILES 0
+#define APR_HAS_XTHREAD_FILES @apr_has_xthread_files@
#define APR_HAS_OS_UUID @osuuid@
-#define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 0
+#define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD @apr_procattr_user_set_requires_password@
/* APR sets APR_FILES_AS_SOCKETS to 1 on systems where it is possible
* to poll on files/pipes.
@@ -277,8 +314,44 @@ typedef unsigned @short_value@ apr_uint16_t;
typedef @int_value@ apr_int32_t;
typedef unsigned @int_value@ apr_uint32_t;
-typedef @long_value@ apr_int64_t;
-typedef unsigned @long_value@ apr_uint64_t;
+#define APR_SIZEOF_VOIDP @voidp_size@
+
+/*
+ * Darwin 10's default compiler (gcc42) builds for both 64 and
+ * 32 bit architectures unless specifically told not to.
+ * In those cases, we need to override types depending on how
+ * we're being built at compile time.
+ * NOTE: This is an ugly work-around for Darwin's
+ * concept of universal binaries, a single package
+ * (executable, lib, etc...) which contains both 32
+ * and 64 bit versions. The issue is that if APR is
+ * built universally, if something else is compiled
+ * against it, some bit sizes will depend on whether
+ * it is 32 or 64 bit. This is determined by the __LP64__
+ * flag. Since we need to support both, we have to
+ * handle OS X unqiuely.
+ */
+#ifdef DARWIN_10
+#undef APR_SIZEOF_VOIDP
+#undef INT64_C
+#undef UINT64_C
+#ifdef __LP64__
+ typedef long apr_int64_t;
+ typedef unsigned long apr_uint64_t;
+ #define APR_SIZEOF_VOIDP 8
+ #define INT64_C(v) (v ## L)
+ #define UINT64_C(v) (v ## UL)
+#else
+ typedef long long apr_int64_t;
+ typedef unsigned long long apr_uint64_t;
+ #define APR_SIZEOF_VOIDP 4
+ #define INT64_C(v) (v ## LL)
+ #define UINT64_C(v) (v ## ULL)
+#endif
+#else
+ typedef @long_value@ apr_int64_t;
+ typedef unsigned @long_value@ apr_uint64_t;
+#endif
typedef @size_t_value@ apr_size_t;
typedef @ssize_t_value@ apr_ssize_t;
@@ -286,8 +359,6 @@ typedef @off_t_value@ apr_off_t;
typedef @socklen_t_value@ apr_socklen_t;
typedef @ino_t_value@ apr_ino_t;
-#define APR_SIZEOF_VOIDP @voidp_size@
-
#if APR_SIZEOF_VOIDP == 8
typedef apr_uint64_t apr_uintptr_t;
#else
@@ -380,7 +451,7 @@ typedef apr_uint32_t apr_uintptr_t;
*
* </PRE>
*/
-#define APR_THREAD_FUNC
+#define APR_THREAD_FUNC @apr_thread_func@
/**
* The public APR functions are declared with APR_DECLARE(), so they may
@@ -442,6 +513,7 @@ typedef apr_uint32_t apr_uintptr_t;
* to find the logic for this definition search for "ssize_t_fmt" in
* configure.in.
*/
+
@ssize_t_fmt@
/* And APR_SIZE_T_FMT */
@@ -462,6 +534,43 @@ typedef apr_uint32_t apr_uintptr_t;
/* And APR_UINT64_T_HEX_FMT */
@uint64_t_hex_fmt@
+/*
+ * Ensure we work with universal binaries on Darwin
+ */
+#ifdef DARWIN_10
+
+#undef APR_HAS_LARGE_FILES
+#undef APR_SIZEOF_VOIDP
+#undef APR_INT64_T_FMT
+#undef APR_UINT64_T_FMT
+#undef APR_UINT64_T_HEX_FMT
+
+#ifdef __LP64__
+ #define APR_HAS_LARGE_FILES 0
+ #define APR_SIZEOF_VOIDP 8
+ #define APR_INT64_T_FMT "ld"
+ #define APR_UINT64_T_FMT "lu"
+ #define APR_UINT64_T_HEX_FMT "lx"
+#else
+ #define APR_HAS_LARGE_FILES 1
+ #define APR_SIZEOF_VOIDP 4
+ #define APR_INT64_T_FMT "lld"
+ #define APR_UINT64_T_FMT "llu"
+ #define APR_UINT64_T_HEX_FMT "llx"
+#endif
+
+#undef APR_IS_BIGENDIAN
+#ifdef __BIG_ENDIAN__
+ #define APR_IS_BIGENDIAN 1
+#else
+ #define APR_IS_BIGENDIAN 0
+#endif
+
+#undef APR_OFF_T_FMT
+#define APR_OFF_T_FMT "lld"
+
+#endif /* DARWIN_10 */
+
/* Does the proc mutex lock threads too */
#define APR_PROC_MUTEX_IS_GLOBAL @proc_mutex_is_global@
diff --git a/srclib/apr/include/apr.hnw b/srclib/apr/include/apr.hnw
index 2b2d091e..d0c77e00 100644
--- a/srclib/apr/include/apr.hnw
+++ b/srclib/apr/include/apr.hnw
@@ -25,19 +25,20 @@
* And please, make an effort to stub apr.hw and apr.h.in in the process.
*
* This is the NetWare specific version of apr.h. It is copied from
- * apr.hnw at the start of a NetWare build by prebuildNW.bat.
+ * apr.hnw at the start of a NetWare build by the ./build/NWGNmakefile.
*/
/**
* @file apr.h
* @brief APR Platform Definitions
* @remark This is a generated header generated from include/apr.h.in by
- * ./configure, or copied from include/apr.hw or include/apr.hnw
+ * ./configure, or copied from include/apr.hw or include/apr.hnw
* for Win32 or Netware by those build environments, respectively.
*/
#if defined(NETWARE) || defined(DOXYGEN)
+#undef FD_SETSIZE
#define FD_SETSIZE 1024
#include <sys/types.h>
@@ -48,21 +49,22 @@
#include <stdlib.h>
#include <string.h>
#include <limits.h>
+#include <netware.h>
#include <nks/thread.h>
#include <nks/synch.h>
#include <nks/time.h>
#include <signal.h>
#ifdef USE_WINSOCK
#include <novsock2.h>
+#ifdef NW_BUILD_IPV6
+#include <novtcpip.h>
+#endif
#else
#include <sys/socket.h>
+#include <sys/select.h>
#endif
#include <sys/types.h>
-#ifdef NW_BUILD_IPV6
-#include <novtcpip.h>
-#endif
-
#define _POSIX_THREAD_SAFE_FUNCTIONS 1
#define READDIR_IS_THREAD_SAFE 1
@@ -74,161 +76,161 @@ extern "C" {
/**
* @defgroup apr_platform Platform Definitions
- * @ingroup APR
+ * @ingroup APR
* @{
*/
-#define APR_INLINE
-#define APR_HAS_INLINE 0
+#define APR_INLINE
+#define APR_HAS_INLINE 0
#ifndef __attribute__
#define __attribute__(__x)
#endif
#define ENUM_BITFIELD(e,n,w) signed int n : w
-#define APR_HAVE_CONIO_H 0
-#define APR_HAVE_CRYPT_H 0
-#define APR_HAVE_CTYPE_H 1
-#define APR_HAVE_DIRENT_H 1
-#define APR_HAVE_ERRNO_H 1
-#define APR_HAVE_FCNTL_H 1
-#define APR_HAVE_IO_H 0
-#define APR_HAVE_LIMITS_H 1
+#define APR_HAVE_CONIO_H 0
+#define APR_HAVE_CRYPT_H 0
+#define APR_HAVE_CTYPE_H 1
+#define APR_HAVE_DIRENT_H 1
+#define APR_HAVE_ERRNO_H 1
+#define APR_HAVE_FCNTL_H 1
+#define APR_HAVE_IO_H 0
+#define APR_HAVE_LIMITS_H 1
#ifdef USE_WINSOCK
-#define APR_HAVE_ARPA_INET_H 0
-#define APR_HAVE_NETDB_H 0
-#define APR_HAVE_NETINET_IN_H 0
+#define APR_HAVE_ARPA_INET_H 0
+#define APR_HAVE_NETDB_H 0
+#define APR_HAVE_NETINET_IN_H 0
#else
-#define APR_HAVE_ARPA_INET_H 1
-#define APR_HAVE_NETDB_H 1
-#define APR_HAVE_NETINET_IN_H 1
+#define APR_HAVE_ARPA_INET_H 1
+#define APR_HAVE_NETDB_H 1
+#define APR_HAVE_NETINET_IN_H 1
#endif
-#define APR_HAVE_NETINET_SCTP_H 0
-#define APR_HAVE_NETINET_SCTP_UIO_H 0
-#define APR_HAVE_NETINET_TCP_H 0
-#define APR_HAVE_PTHREAD_H 0
-#define APR_HAVE_SIGNAL_H 1
-#define APR_HAVE_STDARG_H 1
-#define APR_HAVE_STDINT_H 0
-#define APR_HAVE_STDIO_H 1
-#define APR_HAVE_STDLIB_H 1
-#define APR_HAVE_STRING_H 1
-#define APR_HAVE_STRINGS_H 0
-#define APR_HAVE_STRTOLL 1
-#define APR_HAVE_SYS_SENDFILE_H 0
-#define APR_HAVE_SYS_SYSLIMITS_H 0
+#define APR_HAVE_NETINET_SCTP_H 0
+#define APR_HAVE_NETINET_SCTP_UIO_H 0
+#define APR_HAVE_NETINET_TCP_H 0
+#define APR_HAVE_PTHREAD_H 0
+#define APR_HAVE_SIGNAL_H 1
+#define APR_HAVE_STDARG_H 1
+#define APR_HAVE_STDINT_H 0
+#define APR_HAVE_STDIO_H 1
+#define APR_HAVE_STDLIB_H 1
+#define APR_HAVE_STRING_H 1
+#define APR_HAVE_STRINGS_H 0
+#define APR_HAVE_STRTOLL 1
+#define APR_HAVE_SYS_SENDFILE_H 0
+#define APR_HAVE_SYS_SYSLIMITS_H 0
#ifdef USE_WINSOCK
-#define APR_HAVE_SYS_SOCKET_H 0
-#define APR_HAVE_SYS_SOCKIO_H 0
-#define APR_HAVE_SYS_TIME_H 0
+#define APR_HAVE_SYS_SOCKET_H 0
+#define APR_HAVE_SYS_SOCKIO_H 0
+#define APR_HAVE_SYS_UN_H 0
#else
-#define APR_HAVE_SYS_SOCKET_H 1
-#define APR_HAVE_SYS_SOCKIO_H 1
-#define APR_HAVE_SYS_TIME_H 1
+#define APR_HAVE_SYS_SOCKET_H 1
+#define APR_HAVE_SYS_SOCKIO_H 1
+#define APR_HAVE_SYS_UN_H 1
#endif
-#define APR_HAVE_SYS_SIGNAL_H 1
-#define APR_HAVE_SYS_TYPES_H 1
-#define APR_HAVE_SYS_UIO_H 1
-#define APR_HAVE_SYS_UN_H 1
-#define APR_HAVE_SYS_WAIT_H 1
-#define APR_HAVE_TIME_H 1
-#define APR_HAVE_UNISTD_H 1
-
-#define APR_HAVE_SHMEM_MMAP_TMP 0
-#define APR_HAVE_SHMEM_MMAP_SHM 0
-#define APR_HAVE_SHMEM_MMAP_ZERO 0
-#define APR_HAVE_SHMEM_SHMGET_ANON 0
-#define APR_HAVE_SHMEM_SHMGET 0
-#define APR_HAVE_SHMEM_MMAP_ANON 0
-#define APR_HAVE_SHMEM_BEOS 0
-
-#define APR_USE_SHMEM_MMAP_TMP 0
-#define APR_USE_SHMEM_MMAP_SHM 0
-#define APR_USE_SHMEM_MMAP_ZERO 0
-#define APR_USE_SHMEM_SHMGET_ANON 0
-#define APR_USE_SHMEM_SHMGET 0
-#define APR_USE_SHMEM_MMAP_ANON 0
-#define APR_USE_SHMEM_BEOS 0
-
-#define APR_USE_FLOCK_SERIALIZE 0
-#define APR_USE_SYSVSEM_SERIALIZE 0
-#define APR_USE_FCNTL_SERIALIZE 0
-#define APR_USE_PROC_PTHREAD_SERIALIZE 0
-#define APR_USE_PTHREAD_SERIALIZE 0
-
-#define APR_HAS_FLOCK_SERIALIZE 0
-#define APR_HAS_SYSVSEM_SERIALIZE 0
-#define APR_HAS_FCNTL_SERIALIZE 0
-#define APR_HAS_PROC_PTHREAD_SERIALIZE 0
-#define APR_HAS_RWLOCK_SERIALIZE 0
-
-#define APR_HAS_LOCK_CREATE_NP 0
-
-#define APR_PROCESS_LOCK_IS_GLOBAL 1
-
-#define APR_FILE_BASED_SHM 0
-
-#define APR_HAVE_CORKABLE_TCP 0
-#define APR_HAVE_GETRLIMIT 0
-#define APR_HAVE_ICONV 0
-#define APR_HAVE_IN_ADDR 1
-#define APR_HAVE_INET_ADDR 1
-#define APR_HAVE_INET_NETWORK 0
+#define APR_HAVE_SYS_SIGNAL_H 1
+#define APR_HAVE_SYS_TIME_H 1
+#define APR_HAVE_SYS_TYPES_H 1
+#define APR_HAVE_SYS_UIO_H 1
+#define APR_HAVE_SYS_WAIT_H 1
+#define APR_HAVE_TIME_H 1
+#define APR_HAVE_UNISTD_H 1
+
+#define APR_HAVE_SHMEM_MMAP_TMP 0
+#define APR_HAVE_SHMEM_MMAP_SHM 0
+#define APR_HAVE_SHMEM_MMAP_ZERO 0
+#define APR_HAVE_SHMEM_SHMGET_ANON 0
+#define APR_HAVE_SHMEM_SHMGET 0
+#define APR_HAVE_SHMEM_MMAP_ANON 0
+#define APR_HAVE_SHMEM_BEOS 0
+
+#define APR_USE_SHMEM_MMAP_TMP 0
+#define APR_USE_SHMEM_MMAP_SHM 0
+#define APR_USE_SHMEM_MMAP_ZERO 0
+#define APR_USE_SHMEM_SHMGET_ANON 0
+#define APR_USE_SHMEM_SHMGET 0
+#define APR_USE_SHMEM_MMAP_ANON 0
+#define APR_USE_SHMEM_BEOS 0
+
+#define APR_USE_FLOCK_SERIALIZE 0
+#define APR_USE_SYSVSEM_SERIALIZE 0
+#define APR_USE_FCNTL_SERIALIZE 0
+#define APR_USE_PROC_PTHREAD_SERIALIZE 0
+#define APR_USE_PTHREAD_SERIALIZE 0
+
+#define APR_HAS_FLOCK_SERIALIZE 0
+#define APR_HAS_SYSVSEM_SERIALIZE 0
+#define APR_HAS_FCNTL_SERIALIZE 0
+#define APR_HAS_PROC_PTHREAD_SERIALIZE 0
+#define APR_HAS_RWLOCK_SERIALIZE 0
+
+#define APR_HAS_LOCK_CREATE_NP 0
+
+#define APR_PROCESS_LOCK_IS_GLOBAL 1
+
+#define APR_FILE_BASED_SHM 0
+
+#define APR_HAVE_CORKABLE_TCP 0
+#define APR_HAVE_GETRLIMIT 0
+#define APR_HAVE_ICONV 0
+#define APR_HAVE_IN_ADDR 1
+#define APR_HAVE_INET_ADDR 1
+#define APR_HAVE_INET_NETWORK 0
#ifdef NW_BUILD_IPV6
-#define APR_HAVE_IPV6 1
+#define APR_HAVE_IPV6 1
#else
-#define APR_HAVE_IPV6 0
+#define APR_HAVE_IPV6 0
#endif
-#define APR_HAVE_MEMCHR 1
-#define APR_HAVE_MEMMOVE 1
-#define APR_HAVE_SETRLIMIT 0
-#define APR_HAVE_SIGACTION 0
-#define APR_HAVE_SIGSUSPEND 0
-#define APR_HAVE_SIGWAIT 0
-#define APR_HAVE_STRCASECMP 1
-#define APR_HAVE_STRDUP 1
-#define APR_HAVE_STRICMP 1
-#define APR_HAVE_STRNCASECMP 1
-#define APR_HAVE_STRNICMP 1
-#define APR_HAVE_STRSTR 1
-#define APR_HAVE_STRUCT_RLIMIT 0
-#define APR_HAVE_UNION_SEMUN 0
-#define APR_HAVE_SCTP 0
-#define APR_HAVE_IOVEC 1
+#define APR_HAVE_MEMCHR 1
+#define APR_HAVE_MEMMOVE 1
+#define APR_HAVE_SETRLIMIT 0
+#define APR_HAVE_SIGACTION 0
+#define APR_HAVE_SIGSUSPEND 0
+#define APR_HAVE_SIGWAIT 0
+#define APR_HAVE_STRCASECMP 1
+#define APR_HAVE_STRDUP 1
+#define APR_HAVE_STRICMP 1
+#define APR_HAVE_STRNCASECMP 1
+#define APR_HAVE_STRNICMP 1
+#define APR_HAVE_STRSTR 1
+#define APR_HAVE_STRUCT_RLIMIT 0
+#define APR_HAVE_UNION_SEMUN 0
+#define APR_HAVE_SCTP 0
+#define APR_HAVE_IOVEC 1
/* APR Feature Macros */
-#define APR_HAS_SHARED_MEMORY 0
-#define APR_HAS_THREADS 1
-#define APR_HAS_SENDFILE 0
-#define APR_HAS_MMAP 0
-#define APR_HAS_FORK 0
-#define APR_HAS_RANDOM 1
-#define APR_HAS_OTHER_CHILD 0
-#define APR_HAS_DSO 1
-#define APR_HAS_SO_ACCEPTFILTER 0
-#define APR_HAS_UNICODE_FS 0
-#define APR_HAS_PROC_INVOKED 0
-#define APR_HAS_USER 1
-#define APR_HAS_LARGE_FILES 1
-#define APR_HAS_XTHREAD_FILES 0
-#define APR_HAS_OS_UUID 0
+#define APR_HAS_SHARED_MEMORY 0
+#define APR_HAS_THREADS 1
+#define APR_HAS_SENDFILE 0
+#define APR_HAS_MMAP 0
+#define APR_HAS_FORK 0
+#define APR_HAS_RANDOM 1
+#define APR_HAS_OTHER_CHILD 0
+#define APR_HAS_DSO 1
+#define APR_HAS_SO_ACCEPTFILTER 0
+#define APR_HAS_UNICODE_FS 0
+#define APR_HAS_PROC_INVOKED 0
+#define APR_HAS_USER 1
+#define APR_HAS_LARGE_FILES 1
+#define APR_HAS_XTHREAD_FILES 0
+#define APR_HAS_OS_UUID 0
#define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 0
/* Netware can poll on files/pipes.
*/
-#define APR_FILES_AS_SOCKETS 1
+#define APR_FILES_AS_SOCKETS 1
/* This macro indicates whether or not EBCDIC is the native character set.
*/
-#define APR_CHARSET_EBCDIC 0
+#define APR_CHARSET_EBCDIC 0
/* Is the TCP_NODELAY socket option inherited from listening sockets?
*/
-#define APR_TCP_NODELAY_INHERITED 1
+#define APR_TCP_NODELAY_INHERITED 1
/* Is the O_NONBLOCK flag inherited from listening sockets?
*/
-#define APR_O_NONBLOCK_INHERITED 1
+#define APR_O_NONBLOCK_INHERITED 1
/* Typedefs that APR needs. */
@@ -259,7 +261,7 @@ typedef apr_uint64_t apr_ino_t;
/* Are we big endian? */
/* XXX: Fatal assumption on Alpha platforms */
-#define APR_IS_BIGENDIAN 0
+#define APR_IS_BIGENDIAN 0
#ifdef UNKNOWN_NETWARE_64BIT_FLAG_NEEDED
#define APR_SIZEOF_VOIDP 8
@@ -349,8 +351,8 @@ typedef apr_uint32_t apr_uintptr_t;
#define APR_END_DECLS
#endif
-/**
- * Thread callbacks from APR functions must be declared with APR_THREAD_FUNC,
+/**
+ * Thread callbacks from APR functions must be declared with APR_THREAD_FUNC,
* so that they follow the platform's calling convention.
* @example
*/
@@ -360,7 +362,7 @@ typedef apr_uint32_t apr_uintptr_t;
/**
* The public APR functions are declared with APR_DECLARE(), so they may
- * use the most appropriate calling convention. Public APR functions with
+ * use the most appropriate calling convention. Public APR functions with
* variable arguments must use APR_DECLARE_NONSTD().
*
* @remark Both the declaration and implementations must use the same macro.
@@ -368,20 +370,20 @@ typedef apr_uint32_t apr_uintptr_t;
*/
/** APR_DECLARE(rettype) apr_func(args)
* @see APR_DECLARE_NONSTD @see APR_DECLARE_DATA
- * @remark Note that when APR compiles the library itself, it passes the
- * symbol -DAPR_DECLARE_EXPORT to the compiler on some platforms (e.g. Win32)
+ * @remark Note that when APR compiles the library itself, it passes the
+ * symbol -DAPR_DECLARE_EXPORT to the compiler on some platforms (e.g. Win32)
* to export public symbols from the dynamic library build.\n
* The user must define the APR_DECLARE_STATIC when compiling to target
- * the static APR library on some platforms (e.g. Win32.) The public symbols
+ * the static APR library on some platforms (e.g. Win32.) The public symbols
* are neither exported nor imported when APR_DECLARE_STATIC is defined.\n
* By default, compiling an application and including the APR public
* headers, without defining APR_DECLARE_STATIC, will prepare the code to be
* linked to the dynamic library.
*/
-#define APR_DECLARE(type) type
+#define APR_DECLARE(type) type
/**
- * The public APR functions using variable arguments are declared with
+ * The public APR functions using variable arguments are declared with
* APR_DECLARE_NONSTD(), as they must follow the C language calling convention.
* @see APR_DECLARE @see APR_DECLARE_DATA
* @remark Both the declaration and implementations must use the same macro.
@@ -392,7 +394,7 @@ typedef apr_uint32_t apr_uintptr_t;
#define APR_DECLARE_NONSTD(type) type
/**
- * The public APR variables are declared with AP_MODULE_DECLARE_DATA.
+ * The public APR variables are declared with APR_DECLARE_DATA.
* This assures the appropriate indirection is invoked at compile time.
* @see APR_DECLARE @see APR_DECLARE_NONSTD
* @remark Note that the declaration and implementations use different forms,
diff --git a/srclib/apr/include/apr.hw b/srclib/apr/include/apr.hw
index 9c6b4618..0aaa62c6 100644
--- a/srclib/apr/include/apr.hw
+++ b/srclib/apr/include/apr.hw
@@ -282,6 +282,7 @@ extern "C" {
#define APR_HAVE_SIGACTION 0
#define APR_HAVE_SIGSUSPEND 0
#define APR_HAVE_SIGWAIT 0
+#define APR_HAVE_SA_STORAGE 0
#define APR_HAVE_STRCASECMP 0
#define APR_HAVE_STRDUP 1
#define APR_HAVE_STRNCASECMP 0
diff --git a/srclib/apr/include/apr_file_io.h b/srclib/apr/include/apr_file_io.h
index 80d9fbe7..ca997514 100644
--- a/srclib/apr/include/apr_file_io.h
+++ b/srclib/apr/include/apr_file_io.h
@@ -542,11 +542,12 @@ APR_DECLARE(apr_status_t) apr_file_getc(char *ch, apr_file_t *thefile);
APR_DECLARE(apr_status_t) apr_file_ungetc(char ch, apr_file_t *thefile);
/**
- * Read a string from the specified file.
+ * Read a line from the specified file
* @param str The buffer to store the string in.
* @param len The length of the string
* @param thefile The file descriptor to read from
* @remark The buffer will be NUL-terminated if any characters are stored.
+ * The newline at the end of the line will not be stripped.
*/
APR_DECLARE(apr_status_t) apr_file_gets(char *str, int len,
apr_file_t *thefile);
diff --git a/srclib/apr/include/apr_poll.h b/srclib/apr/include/apr_poll.h
index 73a01dc8..3e8d092b 100644
--- a/srclib/apr/include/apr_poll.h
+++ b/srclib/apr/include/apr_poll.h
@@ -259,6 +259,8 @@ APR_DECLARE(apr_status_t) apr_pollset_remove(apr_pollset_t *pollset,
* @remark Multiple signalled conditions for the same descriptor may be reported
* in one or more returned apr_pollfd_t structures, depending on the
* implementation.
+ * @bug With versions 1.4.2 and prior on Windows, a call with no descriptors
+ * and timeout will return immediately with the wrong error code.
*/
APR_DECLARE(apr_status_t) apr_pollset_poll(apr_pollset_t *pollset,
apr_interval_time_t timeout,
@@ -288,6 +290,8 @@ APR_DECLARE(apr_status_t) apr_pollset_wakeup(apr_pollset_t *pollset);
* descriptor has been signalled or the timeout has expired.
* @remark The rtnevents field in the apr_pollfd_t array will only be filled-
* in if the return value is APR_SUCCESS.
+ * @bug With versions 1.4.2 and prior on Windows, a call with no descriptors
+ * and timeout will return immediately with the wrong error code.
*/
APR_DECLARE(apr_status_t) apr_poll(apr_pollfd_t *aprset, apr_int32_t numsock,
apr_int32_t *nsds,
@@ -393,6 +397,8 @@ typedef apr_status_t (*apr_pollcb_cb_t)(void *baton, apr_pollfd_t *descriptor);
* @remark Multiple signalled conditions for the same descriptor may be reported
* in one or more calls to the callback function, depending on the
* implementation.
+ * @bug With versions 1.4.2 and prior on Windows, a call with no descriptors
+ * and timeout will return immediately with the wrong error code.
*/
APR_DECLARE(apr_status_t) apr_pollcb_poll(apr_pollcb_t *pollcb,
apr_interval_time_t timeout,
diff --git a/srclib/apr/include/apr_portable.h b/srclib/apr/include/apr_portable.h
index 7e52afc4..45d53eb1 100644
--- a/srclib/apr/include/apr_portable.h
+++ b/srclib/apr/include/apr_portable.h
@@ -321,6 +321,7 @@ APR_DECLARE(apr_os_thread_t) apr_os_thread_current(void);
* Compare two thread id's
* @param tid1 1st Thread ID to compare
* @param tid2 2nd Thread ID to compare
+ * @return non-zero if the two threads are equal, zero otherwise
*/
APR_DECLARE(int) apr_os_thread_equal(apr_os_thread_t tid1,
apr_os_thread_t tid2);
@@ -471,6 +472,10 @@ APR_DECLARE(apr_status_t) apr_os_dso_handle_put(apr_dso_handle_t **dso,
APR_DECLARE(apr_status_t) apr_os_dso_handle_get(apr_os_dso_handle_t *dso,
apr_dso_handle_t *aprdso);
+/** @} */
+#endif /* APR_HAS_DSO */
+
+
#if APR_HAS_OS_UUID
/**
* Private: apr-util's apr_uuid module when supported by the platform
@@ -478,9 +483,6 @@ APR_DECLARE(apr_status_t) apr_os_dso_handle_get(apr_os_dso_handle_t *dso,
APR_DECLARE(apr_status_t) apr_os_uuid_get(unsigned char *uuid_data);
#endif
-/** @} */
-#endif /* APR_HAS_DSO */
-
/**
* Get the name of the system default character set.
diff --git a/srclib/apr/include/apr_ring.h b/srclib/apr/include/apr_ring.h
index 935b07fc..eec735fc 100644
--- a/srclib/apr/include/apr_ring.h
+++ b/srclib/apr/include/apr_ring.h
@@ -90,8 +90,8 @@
*/
#define APR_RING_HEAD(head, elem) \
struct head { \
- struct elem *next; \
- struct elem *prev; \
+ struct elem * volatile next; \
+ struct elem * volatile prev; \
}
/**
diff --git a/srclib/apr/include/apr_tables.h b/srclib/apr/include/apr_tables.h
index b2526e0b..1e7a57d1 100644
--- a/srclib/apr/include/apr_tables.h
+++ b/srclib/apr/include/apr_tables.h
@@ -36,9 +36,19 @@ extern "C" {
/**
* @defgroup apr_tables Table and Array Functions
* @ingroup APR
- * Tables are used to store entirely opaque structures
- * for applications, while Arrays are usually used to
- * deal with string lists.
+ * Arrays are used to store data which is referenced sequentially or
+ * as a stack. Functions are provided to push and pop individual
+ * elements as well as to operate on the entire array.
+ *
+ * Tables are used to store data which can be referenced by key.
+ * Limited capabilities are provided for tables with multiple elements
+ * which share a key; while key lookup will return only a single
+ * element, iteration is available. Additionally, a table can be
+ * compressed to resolve duplicates.
+ *
+ * Both arrays and tables may store string or binary data; some features,
+ * such as concatenation or merging of elements, work only for string
+ * data.
* @{
*/
@@ -81,28 +91,28 @@ struct apr_table_entry_t {
};
/**
- * Get the elements from a table
+ * Get the elements from a table.
* @param t The table
* @return An array containing the contents of the table
*/
APR_DECLARE(const apr_array_header_t *) apr_table_elts(const apr_table_t *t);
/**
- * Determine if the table is empty (either NULL or having no elements)
+ * Determine if the table is empty (either NULL or having no elements).
* @param t The table to check
* @return True if empty, False otherwise
*/
APR_DECLARE(int) apr_is_empty_table(const apr_table_t *t);
/**
- * Determine if the array is empty (either NULL or having no elements)
+ * Determine if the array is empty (either NULL or having no elements).
* @param a The array to check
* @return True if empty, False otherwise
*/
APR_DECLARE(int) apr_is_empty_array(const apr_array_header_t *a);
/**
- * Create an array
+ * Create an array.
* @param p The pool to allocate the memory out of
* @param nelts the number of elements in the initial array
* @param elt_size The size of each element in the array.
@@ -112,7 +122,7 @@ APR_DECLARE(apr_array_header_t *) apr_array_make(apr_pool_t *p,
int nelts, int elt_size);
/**
- * Add a new element to an array (as a first-in, last-out stack)
+ * Add a new element to an array (as a first-in, last-out stack).
* @param arr The array to add an element to.
* @return Location for the new element in the array.
* @remark If there are no free spots in the array, then this function will
@@ -140,7 +150,7 @@ APR_DECLARE(void *) apr_array_push(apr_array_header_t *arr);
#define APR_ARRAY_PUSH(ary,type) (*((type *)apr_array_push(ary)))
/**
- * Remove an element from an array (as a first-in, last-out stack)
+ * Remove an element from an array (as a first-in, last-out stack).
* @param arr The array to remove an element from.
* @return Location of the element in the array.
* @remark If there are no elements in the array, NULL is returned.
@@ -156,7 +166,7 @@ APR_DECLARE(void *) apr_array_pop(apr_array_header_t *arr);
APR_DECLARE(void) apr_array_clear(apr_array_header_t *arr);
/**
- * Concatenate two arrays together
+ * Concatenate two arrays together.
* @param dst The destination array, and the one to go first in the combined
* array
* @param src The source array to add to the destination array
@@ -165,7 +175,7 @@ APR_DECLARE(void) apr_array_cat(apr_array_header_t *dst,
const apr_array_header_t *src);
/**
- * Copy the entire array
+ * Copy the entire array.
* @param p The pool to allocate the copy of the array out of
* @param arr The array to copy
* @return An exact copy of the array passed in
@@ -198,7 +208,7 @@ APR_DECLARE(apr_array_header_t *) apr_array_append(apr_pool_t *p,
const apr_array_header_t *second);
/**
- * Generates a new string from the apr_pool_t containing the concatenated
+ * Generate a new string from the apr_pool_t containing the concatenated
* sequence of substrings referenced as elements within the array. The string
* will be empty if all substrings are empty or null, or if there are no
* elements in the array. If sep is non-NUL, it will be inserted between
@@ -213,7 +223,7 @@ APR_DECLARE(char *) apr_array_pstrcat(apr_pool_t *p,
const char sep);
/**
- * Make a new table
+ * Make a new table.
* @param p The pool to allocate the pool out of
* @param nelts The number of elements in the initial table.
* @return The new table.
@@ -222,7 +232,7 @@ APR_DECLARE(char *) apr_array_pstrcat(apr_pool_t *p,
APR_DECLARE(apr_table_t *) apr_table_make(apr_pool_t *p, int nelts);
/**
- * Create a new table and copy another table into it
+ * Create a new table and copy another table into it.
* @param p The pool to allocate the new table out of
* @param t The table to copy
* @return A copy of the table passed in
@@ -243,25 +253,25 @@ APR_DECLARE(apr_table_t *) apr_table_clone(apr_pool_t *p,
const apr_table_t *t);
/**
- * Delete all of the elements from a table
+ * Delete all of the elements from a table.
* @param t The table to clear
*/
APR_DECLARE(void) apr_table_clear(apr_table_t *t);
/**
* Get the value associated with a given key from the table. After this call,
- * The data is still in the table
+ * the data is still in the table.
* @param t The table to search for the key
- * @param key The key to search for
+ * @param key The key to search for (case does not matter)
* @return The value associated with the key, or NULL if the key does not exist.
*/
APR_DECLARE(const char *) apr_table_get(const apr_table_t *t, const char *key);
/**
- * Add a key/value pair to a table, if another element already exists with the
- * same key, this will over-write the old data.
+ * Add a key/value pair to a table. If another element already exists with the
+ * same key, this will overwrite the old data.
* @param t The table to add the data to.
- * @param key The key to use
+ * @param key The key to use (case does not matter)
* @param val The value to add
* @remark When adding data, this function makes a copy of both the key and the
* value.
@@ -270,10 +280,10 @@ APR_DECLARE(void) apr_table_set(apr_table_t *t, const char *key,
const char *val);
/**
- * Add a key/value pair to a table, if another element already exists with the
- * same key, this will over-write the old data.
+ * Add a key/value pair to a table. If another element already exists with the
+ * same key, this will overwrite the old data.
* @param t The table to add the data to.
- * @param key The key to use
+ * @param key The key to use (case does not matter)
* @param val The value to add
* @warning When adding data, this function does not make a copy of the key or
* the value, so care should be taken to ensure that the values will
@@ -283,17 +293,18 @@ APR_DECLARE(void) apr_table_setn(apr_table_t *t, const char *key,
const char *val);
/**
- * Remove data from the table
+ * Remove data from the table.
* @param t The table to remove data from
- * @param key The key of the data being removed
+ * @param key The key of the data being removed (case does not matter)
*/
APR_DECLARE(void) apr_table_unset(apr_table_t *t, const char *key);
/**
* Add data to a table by merging the value with data that has already been
- * stored
+ * stored. The merging is done by concatenating the two values, separated
+ * by the string ", ".
* @param t The table to search for the data
- * @param key The key to merge data for
+ * @param key The key to merge data for (case does not matter)
* @param val The data to add
* @remark If the key is not found, then this function acts like apr_table_add
*/
@@ -302,9 +313,10 @@ APR_DECLARE(void) apr_table_merge(apr_table_t *t, const char *key,
/**
* Add data to a table by merging the value with data that has already been
- * stored
+ * stored. The merging is done by concatenating the two values, separated
+ * by the string ", ".
* @param t The table to search for the data
- * @param key The key to merge data for
+ * @param key The key to merge data for (case does not matter)
* @param val The data to add
* @remark If the key is not found, then this function acts like apr_table_addn
*/
@@ -331,13 +343,13 @@ APR_DECLARE(void) apr_table_add(apr_table_t *t, const char *key,
* @param val The value to add.
* @remark When adding data, this function does not make a copy of the key or the
* value, so care should be taken to ensure that the values will not
- * change after they have been added..
+ * change after they have been added.
*/
APR_DECLARE(void) apr_table_addn(apr_table_t *t, const char *key,
const char *val);
/**
- * Merge two tables into one new table
+ * Merge two tables into one new table.
* @param p The pool to use for the new table
* @param overlay The first table to put in the new table
* @param base The table to add at the end of the new table
@@ -420,6 +432,8 @@ APR_DECLARE(int) apr_table_vdo(apr_table_do_callback_fn_t *comp,
* @param flags How to add the table to table a. One of:
* APR_OVERLAP_TABLES_SET Use apr_table_setn
* APR_OVERLAP_TABLES_MERGE Use apr_table_mergen
+ * @remark When merging duplicates, the two values are concatenated,
+ * separated by the string ", ".
* @remark This function is highly optimized, and uses less memory and CPU cycles
* than a function that just loops through table b calling other functions.
*/
@@ -454,11 +468,13 @@ APR_DECLARE(void) apr_table_overlap(apr_table_t *a, const apr_table_t *b,
/**
* Eliminate redundant entries in a table by either overwriting
- * or merging duplicates
+ * or merging duplicates.
*
* @param t Table.
* @param flags APR_OVERLAP_TABLES_MERGE to merge, or
* APR_OVERLAP_TABLES_SET to overwrite
+ * @remark When merging duplicates, the two values are concatenated,
+ * separated by the string ", ".
*/
APR_DECLARE(void) apr_table_compress(apr_table_t *t, unsigned flags);
diff --git a/srclib/apr/include/apr_version.h b/srclib/apr/include/apr_version.h
index 18f40f2b..19fbd961 100644
--- a/srclib/apr/include/apr_version.h
+++ b/srclib/apr/include/apr_version.h
@@ -59,14 +59,14 @@
* The Patch Level never includes API changes, simply bug fixes.
* Reset to 0 when upgrading APR_MINOR_VERSION
*/
-#define APR_PATCH_VERSION 2
+#define APR_PATCH_VERSION 5
/**
* The symbol APR_IS_DEV_VERSION is only defined for internal,
* "development" copies of APR. It is undefined for released versions
* of APR.
*/
-/* #undef APR_IS_DEV_VERSION */
+/* #define APR_IS_DEV_VERSION */
/**
* Check at compile time if the APR version is at least a certain
diff --git a/srclib/apr/include/apr_want.h b/srclib/apr/include/apr_want.h
index 6b2fbde4..2863b001 100644
--- a/srclib/apr/include/apr_want.h
+++ b/srclib/apr/include/apr_want.h
@@ -89,19 +89,16 @@
#else
+#ifndef APR_IOVEC_DEFINED
+#define APR_IOVEC_DEFINED
struct iovec
{
void *iov_base;
size_t iov_len;
};
+#endif /* !APR_IOVEC_DEFINED */
-#endif
-
-/* apr_want is included at several layers; redefining APR_HAVE_IOVEC
- * now to ensure that our struct is not introduced several times.
- */
-#undef APR_HAVE_IOVEC
-#define APR_HAVE_IOVEC 1
+#endif /* APR_HAVE_IOVEC */
#undef APR_WANT_IOVEC
#endif
diff --git a/srclib/apr/include/arch/netware/apr_arch_file_io.h b/srclib/apr/include/arch/netware/apr_arch_file_io.h
index 0676eb27..8bd2a72c 100644
--- a/srclib/apr/include/arch/netware/apr_arch_file_io.h
+++ b/srclib/apr/include/arch/netware/apr_arch_file_io.h
@@ -165,6 +165,9 @@ apr_status_t filepath_compare_drive(const char *path1, const char *path2, apr_po
apr_status_t apr_unix_file_cleanup(void *);
apr_status_t apr_unix_child_file_cleanup(void *);
+mode_t apr_unix_perms2mode(apr_fileperms_t perms);
+apr_fileperms_t apr_unix_mode2perms(mode_t mode);
+
apr_status_t apr_file_flush_locked(apr_file_t *thefile);
apr_status_t apr_file_info_get_locked(apr_finfo_t *finfo, apr_int32_t wanted,
apr_file_t *thefile);
diff --git a/srclib/apr/include/arch/netware/apr_arch_pre_nw.h b/srclib/apr/include/arch/netware/apr_arch_pre_nw.h
index 36d9942c..7380e118 100644
--- a/srclib/apr/include/arch/netware/apr_arch_pre_nw.h
+++ b/srclib/apr/include/arch/netware/apr_arch_pre_nw.h
@@ -1,16 +1,3 @@
-#ifndef __pre_nw__
-#define __pre_nw__
-
-#include <stdint.h>
-
-#ifndef __GNUC__
-#pragma precompile_target "precomp.mch"
-#endif
-
-#define NETWARE
-
-#define N_PLAT_NLM
-
/* 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.
@@ -26,6 +13,19 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+#ifndef __pre_nw__
+#define __pre_nw__
+
+#include <stdint.h>
+
+#ifndef __GNUC__
+#pragma precompile_target "precomp.mch"
+#endif
+
+#define NETWARE
+
+#define N_PLAT_NLM
+
#define FAR
#define far
@@ -51,16 +51,6 @@
#define __int64 long long
#endif
-/* expat version */
-#define VERSION "expat_1.95.1"
-#define EXPAT_MAJOR_VERSION 1
-#define EXPAT_MINOR_VERSION 95
-#define EXPAT_EDIT 2
-
-#define XML_MAJOR_VERSION EXPAT_MAJOR_VERSION
-#define XML_MINOR_VERSION EXPAT_MINOR_VERSION
-#define XML_MICRO_VERSION EXPAT_EDIT
-
#endif
diff --git a/srclib/apr/include/arch/netware/apr_arch_threadproc.h b/srclib/apr/include/arch/netware/apr_arch_threadproc.h
index 713ed295..2fee2c00 100644
--- a/srclib/apr/include/arch/netware/apr_arch_threadproc.h
+++ b/srclib/apr/include/arch/netware/apr_arch_threadproc.h
@@ -68,11 +68,13 @@ struct apr_thread_once_t {
unsigned long value;
};
-//struct apr_proc_t {
-// apr_pool_t *pool;
-// pid_t pid;
-// apr_procattr_t *attr;
-//};
+/*
+struct apr_proc_t {
+ apr_pool_t *pool;
+ pid_t pid;
+ apr_procattr_t *attr;
+};
+*/
#endif /* ! THREAD_PROC_H */
diff --git a/srclib/apr/include/arch/netware/apr_private.h b/srclib/apr/include/arch/netware/apr_private.h
index a4e9b1e7..dbb3d215 100644
--- a/srclib/apr/include/arch/netware/apr_private.h
+++ b/srclib/apr/include/arch/netware/apr_private.h
@@ -16,8 +16,8 @@
/*
* Note:
- * This is the windows specific autoconf-like config file
- * which unix would create at build time.
+ * This is the netware-specific autoconf-like config file
+ * which unix creates at ./configure time.
*/
#ifdef NETWARE
@@ -25,10 +25,16 @@
#ifndef APR_PRIVATE_H
#define APR_PRIVATE_H
-/* Include the public APR symbols, include our idea of the 'right'
- * subset of the Windows.h header. This saves us repetition.
+/* Pick up publicly advertised headers and symbols before the
+ * APR internal private headers and symbols
*/
-#include "apr.h"
+#include <apr.h>
+
+/* Pick up privately consumed headers */
+#include <ndkvers.h>
+
+/* Include alloca.h to get compiler-dependent defines */
+#include <alloca.h>
#include <sys/types.h>
#include <stddef.h>
@@ -72,16 +78,13 @@
#define HAVE_GETPASS_R 1
/*
- * check for older NDKs which have only the getpassword() function.
+ * Hack around older NDKs which have only the getpassword() function,
+ * a threadsafe, API-equivilant of getpass_r().
*/
-#include <ndkvers.h>
#if (CURRENT_NDK_THRESHOLD < 709060000)
-#define getpass_r getpassword
+#define getpass_r getpassword
#endif
-/* 64-bit integer conversion function */
-#define APR_INT64_STRFN strtoll
-
/*#define DSO_USE_DLFCN */
#ifdef NW_BUILD_IPV6
@@ -97,8 +100,8 @@
/* 6 is used for SIGTERM on netware */
/* 7 is used for SIGPOLL on netware */
+#if (CURRENT_NDK_THRESHOLD < 306030000)
#define SIGKILL 11
-#define SA_NOCLDSTOP 12
#define SIGALRM 13
#define SIGCHLD 14
#define SIGCONT 15
@@ -111,10 +114,10 @@
#define SIGTTOU 22
#define SIGUSR1 23
#define SIGUSR2 24
-
+#endif
+
#define SIGTRAP 25
#define SIGIOT 26
-#define SIGBUS 27
#define SIGSTKFLT 28
#define SIGURG 29
#define SIGXCPU 30
@@ -124,29 +127,23 @@
#define SIGWINCH 34
#define SIGIO 35
-#if 0
-#define __attribute__(__x)
-
-/* APR COMPATABILITY FUNCTIONS
- * This section should be used to define functions and
- * macros which are need to make Windows features look
- * like POSIX features.
- */
-typedef void (Sigfunc)(int);
+#if (CURRENT_NDK_THRESHOLD < 406230000)
+#undef SA_NOCLDSTOP
+#define SA_NOCLDSTOP 0x00000001
+#endif
+#ifndef SIGBUS
+#define SIGBUS SIGSEGV
#endif
-#define strcasecmp(s1, s2) stricmp(s1, s2)
-#define Sleep(t) delay(t)
-#define lstat(a,b) stat(a,b)
-#define _getch() getcharacter()
+#define _getch getcharacter
-#define SIZEOF_SHORT 2
-#define SIZEOF_INT 4
-#define SIZEOF_LONGLONG 8
-#define SIZEOF_CHAR 1
-#define SIZEOF_SSIZE_T SIZEOF_INT
+#define SIZEOF_SHORT 2
+#define SIZEOF_INT 4
+#define SIZEOF_LONGLONG 8
+#define SIZEOF_CHAR 1
+#define SIZEOF_SSIZE_T SIZEOF_INT
-void netware_pool_proc_cleanup ();
+void netware_pool_proc_cleanup();
/* NLM registration routines for managing which NLMs
are using the library. */
@@ -183,15 +180,21 @@ void* getStatCache();
and can be shared by the library. */
#undef malloc
#define malloc(x) library_malloc(gLibHandle,x)
+#ifndef __MWERKS__
+#define _alloca alloca
+#endif
+
+/* 64-bit integer conversion function */
+#define APR_INT64_STRFN strtoll
#if APR_HAS_LARGE_FILES
-#define APR_OFF_T_STRFN strtoll
+#define APR_OFF_T_STRFN strtoll
#else
-#define APR_OFF_T_STRFN strtol
+#define APR_OFF_T_STRFN strtol
#endif
/* used to check DWORD overflow for 64bit compiles */
-#define APR_DWORD_MAX 0xFFFFFFFFUL
+#define APR_DWORD_MAX 0xFFFFFFFFUL
/*
* Include common private declarations.
diff --git a/srclib/apr/include/arch/os2/apr_arch_file_io.h b/srclib/apr/include/arch/os2/apr_arch_file_io.h
index 39937123..79a57964 100644
--- a/srclib/apr/include/arch/os2/apr_arch_file_io.h
+++ b/srclib/apr/include/arch/os2/apr_arch_file_io.h
@@ -49,12 +49,13 @@ struct apr_file_t {
/* Stuff for buffered mode */
char *buffer;
- apr_size_t bufsize; // Read/Write position in buffer
- apr_size_t bufpos; // Read/Write position in buffer
- unsigned long dataRead; // amount of valid data read into buffer
- int direction; // buffer being used for 0 = read, 1 = write
- unsigned long filePtr; // position in file of handle
- apr_thread_mutex_t *mutex;// mutex semaphore, must be owned to access the above fields
+ apr_size_t bufsize; /* Read/Write position in buffer */
+ apr_size_t bufpos; /* Read/Write position in buffer */
+ unsigned long dataRead; /* amount of valid data read into buffer */
+ int direction; /* buffer being used for 0 = read, 1 = write */
+ unsigned long filePtr; /* position in file of handle */
+ apr_thread_mutex_t *mutex; /* mutex semaphore, must be owned to access
+ the above fields */
};
struct apr_dir_t {
diff --git a/srclib/apr/include/arch/unix/apr_arch_inherit.h b/srclib/apr/include/arch/unix/apr_arch_inherit.h
index 6ae2435f..21543c1e 100644
--- a/srclib/apr/include/arch/unix/apr_arch_inherit.h
+++ b/srclib/apr/include/arch/unix/apr_arch_inherit.h
@@ -24,7 +24,7 @@
#define APR_IMPLEMENT_INHERIT_SET(name, flag, pool, cleanup) \
apr_status_t apr_##name##_inherit_set(apr_##name##_t *the##name) \
{ \
- if (the##name->flag & APR_FILE_NOCLEANUP) \
+ if (the##name->flag & APR_FOPEN_NOCLEANUP) \
return APR_EINVAL; \
if (!(the##name->flag & APR_INHERIT)) { \
int flags = fcntl(the##name->name##des, F_GETFD); \
@@ -44,7 +44,7 @@ apr_status_t apr_##name##_inherit_set(apr_##name##_t *the##name) \
#define APR_IMPLEMENT_INHERIT_UNSET(name, flag, pool, cleanup) \
apr_status_t apr_##name##_inherit_unset(apr_##name##_t *the##name) \
{ \
- if (the##name->flag & APR_FILE_NOCLEANUP) \
+ if (the##name->flag & APR_FOPEN_NOCLEANUP) \
return APR_EINVAL; \
if (the##name->flag & APR_INHERIT) { \
int flags; \
diff --git a/srclib/apr/include/arch/unix/apr_arch_poll_private.h b/srclib/apr/include/arch/unix/apr_arch_poll_private.h
index a2673049..1d31f96c 100644
--- a/srclib/apr/include/arch/unix/apr_arch_poll_private.h
+++ b/srclib/apr/include/arch/unix/apr_arch_poll_private.h
@@ -115,6 +115,7 @@ struct apr_pollset_t
apr_uint32_t flags;
/* Pipe descriptors used for wakeup */
apr_file_t *wakeup_pipe[2];
+ apr_pollfd_t wakeup_pfd;
apr_pollset_private_t *p;
apr_pollset_provider_t *provider;
};
diff --git a/srclib/apr/include/arch/unix/apr_private.h.in b/srclib/apr/include/arch/unix/apr_private.h.in
index bc232cfd..9616ab53 100644
--- a/srclib/apr/include/arch/unix/apr_private.h.in
+++ b/srclib/apr/include/arch/unix/apr_private.h.in
@@ -8,6 +8,9 @@
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
+/* Define if apr_allocator should use mmap */
+#undef APR_ALLOCATOR_USES_MMAP
+
/* Define as function which can be used for conversion of strings to
apr_int64_t */
#undef APR_INT64_STRFN
@@ -241,33 +244,15 @@
/* Define to 1 if you have the <langinfo.h> header file. */
#undef HAVE_LANGINFO_H
-/* Enable if this library is available */
-#undef HAVE_LIBADVAPI32
-
/* Define to 1 if you have the `bsd' library (-lbsd). */
#undef HAVE_LIBBSD
-/* Enable if this library is available */
-#undef HAVE_LIBKERNEL32
-
-/* Define to 1 if you have the `msvcrt' library (-lmsvcrt). */
-#undef HAVE_LIBMSVCRT
-
-/* Enable if this library is available */
-#undef HAVE_LIBRPCRT4
-
/* Define to 1 if you have the `sendfile' library (-lsendfile). */
#undef HAVE_LIBSENDFILE
-/* Enable if this library is available */
-#undef HAVE_LIBSHELL32
-
/* Define to 1 if you have the `truerand' library (-ltruerand). */
#undef HAVE_LIBTRUERAND
-/* Enable if this library is available */
-#undef HAVE_LIBWS2_32
-
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
@@ -760,6 +745,9 @@
/* The size of `char', as computed by sizeof. */
#undef SIZEOF_CHAR
+/* The size of ino_t */
+#undef SIZEOF_INO_T
+
/* The size of `int', as computed by sizeof. */
#undef SIZEOF_INT
@@ -941,6 +929,60 @@
#endif
/*
+ * Darwin 10's default compiler (gcc42) builds for both 64 and
+ * 32 bit architectures unless specifically told not to.
+ * In those cases, we need to override types depending on how
+ * we're being built at compile time.
+ * NOTE: This is an ugly work-around for Darwin's
+ * concept of universal binaries, a single package
+ * (executable, lib, etc...) which contains both 32
+ * and 64 bit versions. The issue is that if APR is
+ * built universally, if something else is compiled
+ * against it, some bit sizes will depend on whether
+ * it is 32 or 64 bit. This is determined by the __LP64__
+ * flag. Since we need to support both, we have to
+ * handle OS X unqiuely.
+ */
+#ifdef DARWIN_10
+
+#undef APR_OFF_T_STRFN
+#undef APR_INT64_STRFN
+#undef SIZEOF_LONG
+#undef SIZEOF_SIZE_T
+#undef SIZEOF_SSIZE_T
+#undef SIZEOF_VOIDP
+#undef SIZEOF_STRUCT_IOVEC
+
+#ifdef __LP64__
+ #define APR_INT64_STRFN strtol
+ #define SIZEOF_LONG 8
+ #define SIZEOF_SIZE_T 8
+ #define SIZEOF_SSIZE_T 8
+ #define SIZEOF_VOIDP 8
+ #define SIZEOF_STRUCT_IOVEC 16
+#else
+ #define APR_INT64_STRFN strtoll
+ #define SIZEOF_LONG 4
+ #define SIZEOF_SIZE_T 4
+ #define SIZEOF_SSIZE_T 4
+ #define SIZEOF_VOIDP 4
+ #define SIZEOF_STRUCT_IOVEC 8
+#endif
+
+#undef APR_OFF_T_STRFN
+#define APR_OFF_T_STRFN APR_INT64_STRFN
+
+
+#undef SETPGRP_VOID
+#ifdef __DARWIN_UNIX03
+ #define SETPGRP_VOID 1
+#else
+/* #undef SETPGRP_VOID */
+#endif
+
+#endif /* DARWIN_10 */
+
+/*
* Include common private declarations.
*/
#include "../apr_private_common.h"
diff --git a/srclib/apr/include/arch/win32/apr_arch_file_io.h b/srclib/apr/include/arch/win32/apr_arch_file_io.h
index c8c7bdee..38efa277 100644
--- a/srclib/apr/include/arch/win32/apr_arch_file_io.h
+++ b/srclib/apr/include/arch/win32/apr_arch_file_io.h
@@ -155,13 +155,13 @@ apr_status_t more_finfo(apr_finfo_t *finfo, const void *ufile,
* correctly when writing to a file with this flag set TRUE.
*/
-// for apr_poll.c;
+/* for apr_poll.c */
#define filedes filehand
struct apr_file_t {
apr_pool_t *pool;
HANDLE filehand;
- BOOLEAN pipe; // Is this a pipe of a file?
+ BOOLEAN pipe; /* Is this a pipe of a file? */
OVERLAPPED *pOverlapped;
apr_interval_time_t timeout;
apr_int32_t flags;
@@ -252,4 +252,12 @@ apr_status_t filepath_root_case(char **rootpath, char *root, apr_pool_t *p);
apr_status_t file_cleanup(void *);
+extern apr_status_t
+apr_file_socket_pipe_create(apr_file_t **in,
+ apr_file_t **out,
+ apr_pool_t *p);
+
+extern apr_status_t
+apr_file_socket_pipe_close(apr_file_t *file);
+
#endif /* ! FILE_IO_H */
diff --git a/srclib/apr/include/arch/win32/apr_arch_misc.h b/srclib/apr/include/arch/win32/apr_arch_misc.h
index 1de496ed..ed05bcd2 100644
--- a/srclib/apr/include/arch/win32/apr_arch_misc.h
+++ b/srclib/apr/include/arch/win32/apr_arch_misc.h
@@ -66,7 +66,7 @@ struct apr_other_child_rec_t {
*/
extern int APR_DECLARE_DATA apr_app_init_complete;
-int apr_wastrtoastr(char const * const * *retarr,
+int apr_wastrtoastr(char const * const * *retarr,
wchar_t const * const *arr, int args);
/* Platform specific designation of run time os version.
@@ -74,38 +74,38 @@ int apr_wastrtoastr(char const * const * *retarr,
* export new kernel or winsock functions or behavior.
*/
typedef enum {
- APR_WIN_UNK = 0,
- APR_WIN_UNSUP = 1,
- APR_WIN_95 = 10,
- APR_WIN_95_B = 11,
- APR_WIN_95_OSR2 = 12,
- APR_WIN_98 = 14,
- APR_WIN_98_SE = 16,
- APR_WIN_ME = 18,
-
- APR_WIN_UNICODE = 20, /* Prior versions support only narrow chars */
-
- APR_WIN_CE_3 = 23, /* CE is an odd beast, not supporting */
- /* some pre-NT features, such as the */
- APR_WIN_NT = 30, /* narrow charset APIs (fooA fns), while */
- APR_WIN_NT_3_5 = 35, /* not supporting some NT-family features. */
- APR_WIN_NT_3_51 = 36,
-
- APR_WIN_NT_4 = 40,
- APR_WIN_NT_4_SP2 = 42,
- APR_WIN_NT_4_SP3 = 43,
- APR_WIN_NT_4_SP4 = 44,
- APR_WIN_NT_4_SP5 = 45,
- APR_WIN_NT_4_SP6 = 46,
-
- APR_WIN_2000 = 50,
- APR_WIN_2000_SP1 = 51,
- APR_WIN_2000_SP2 = 52,
- APR_WIN_XP = 60,
- APR_WIN_XP_SP1 = 61,
- APR_WIN_XP_SP2 = 62,
- APR_WIN_2003 = 70,
- APR_WIN_VISTA = 80
+ APR_WIN_UNK = 0,
+ APR_WIN_UNSUP = 1,
+ APR_WIN_95 = 10,
+ APR_WIN_95_B = 11,
+ APR_WIN_95_OSR2 = 12,
+ APR_WIN_98 = 14,
+ APR_WIN_98_SE = 16,
+ APR_WIN_ME = 18,
+
+ APR_WIN_UNICODE = 20, /* Prior versions support only narrow chars */
+
+ APR_WIN_CE_3 = 23, /* CE is an odd beast, not supporting */
+ /* some pre-NT features, such as the */
+ APR_WIN_NT = 30, /* narrow charset APIs (fooA fns), while */
+ APR_WIN_NT_3_5 = 35, /* not supporting some NT-family features. */
+ APR_WIN_NT_3_51 = 36,
+
+ APR_WIN_NT_4 = 40,
+ APR_WIN_NT_4_SP2 = 42,
+ APR_WIN_NT_4_SP3 = 43,
+ APR_WIN_NT_4_SP4 = 44,
+ APR_WIN_NT_4_SP5 = 45,
+ APR_WIN_NT_4_SP6 = 46,
+
+ APR_WIN_2000 = 50,
+ APR_WIN_2000_SP1 = 51,
+ APR_WIN_2000_SP2 = 52,
+ APR_WIN_XP = 60,
+ APR_WIN_XP_SP1 = 61,
+ APR_WIN_XP_SP2 = 62,
+ APR_WIN_2003 = 70,
+ APR_WIN_VISTA = 80
} apr_oslevel_e;
extern APR_DECLARE_DATA apr_oslevel_e apr_os_level;
@@ -172,13 +172,13 @@ static APR_INLINE void* apr_realloc_dbg(void* userData, size_t newSize,
#endif /* ! _MSC_VER */
typedef enum {
- DLL_WINBASEAPI = 0, // kernel32 From WinBase.h
- DLL_WINADVAPI = 1, // advapi32 From WinBase.h
- DLL_WINSOCKAPI = 2, // mswsock From WinSock.h
- DLL_WINSOCK2API = 3, // ws2_32 From WinSock2.h
- DLL_SHSTDAPI = 4, // shell32 From ShellAPI.h
- DLL_NTDLL = 5, // shell32 From our real kernel
- DLL_defined = 6 // must define as last idx_ + 1
+ DLL_WINBASEAPI = 0, /* kernel32 From WinBase.h */
+ DLL_WINADVAPI = 1, /* advapi32 From WinBase.h */
+ DLL_WINSOCKAPI = 2, /* mswsock From WinSock.h */
+ DLL_WINSOCK2API = 3, /* ws2_32 From WinSock2.h */
+ DLL_SHSTDAPI = 4, /* shell32 From ShellAPI.h */
+ DLL_NTDLL = 5, /* shell32 From our real kernel */
+ DLL_defined = 6 /* must define as last idx_ + 1 */
} apr_dlltoken_e;
FARPROC apr_load_dll_func(apr_dlltoken_e fnLib, char *fnName, int ordinal);
@@ -186,18 +186,24 @@ FARPROC apr_load_dll_func(apr_dlltoken_e fnLib, char *fnName, int ordinal);
/* The apr_load_dll_func call WILL return 0 set error to
* ERROR_INVALID_FUNCTION if the function cannot be loaded
*/
-
#define APR_DECLARE_LATE_DLL_FUNC(lib, rettype, calltype, fn, ord, args, names) \
typedef rettype (calltype *apr_winapi_fpt_##fn) args; \
static apr_winapi_fpt_##fn apr_winapi_pfn_##fn = NULL; \
- static APR_INLINE rettype apr_winapi_##fn args \
- { if (!apr_winapi_pfn_##fn) \
+ static int apr_winapi_chk_##fn = 0; \
+ static APR_INLINE int apr_winapi_ld_##fn(void) \
+ { if (apr_winapi_pfn_##fn) return 1; \
+ if (apr_winapi_chk_##fn ++) return 0; \
+ if (!apr_winapi_pfn_##fn) \
apr_winapi_pfn_##fn = (apr_winapi_fpt_##fn) \
apr_load_dll_func(lib, #fn, ord); \
- if (apr_winapi_pfn_##fn) \
+ if (apr_winapi_pfn_##fn) return 1; else return 0; }; \
+ static APR_INLINE rettype apr_winapi_##fn args \
+ { if (apr_winapi_ld_##fn()) \
return (*(apr_winapi_pfn_##fn)) names; \
else { SetLastError(ERROR_INVALID_FUNCTION); return 0;} }; \
+#define APR_HAVE_LATE_DLL_FUNC(fn) apr_winapi_ld_##fn()
+
/* Provide late bound declarations of every API function missing from
* one or more supported releases of the Win32 API
*
@@ -273,8 +279,8 @@ APR_DECLARE_LATE_DLL_FUNC(DLL_WINADVAPI, BOOL, WINAPI, GetNamedSecurityInfoW, 0,
OUT PACL *ppDacl,
OUT PACL *ppSacl,
OUT PSECURITY_DESCRIPTOR *ppSecurityDescriptor),
- (pObjectName, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup,
- ppDacl, ppSacl, ppSecurityDescriptor));
+ (pObjectName, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup,
+ ppDacl, ppSacl, ppSecurityDescriptor));
#define GetNamedSecurityInfoW apr_winapi_GetNamedSecurityInfoW
APR_DECLARE_LATE_DLL_FUNC(DLL_WINADVAPI, BOOL, WINAPI, GetNamedSecurityInfoA, 0, (
@@ -286,8 +292,8 @@ APR_DECLARE_LATE_DLL_FUNC(DLL_WINADVAPI, BOOL, WINAPI, GetNamedSecurityInfoA, 0,
OUT PACL *ppDacl,
OUT PACL *ppSacl,
OUT PSECURITY_DESCRIPTOR *ppSecurityDescriptor),
- (pObjectName, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup,
- ppDacl, ppSacl, ppSecurityDescriptor));
+ (pObjectName, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup,
+ ppDacl, ppSacl, ppSecurityDescriptor));
#define GetNamedSecurityInfoA apr_winapi_GetNamedSecurityInfoA
#undef GetNamedSecurityInfo
#define GetNamedSecurityInfo apr_winapi_GetNamedSecurityInfoA
@@ -301,12 +307,12 @@ APR_DECLARE_LATE_DLL_FUNC(DLL_WINADVAPI, BOOL, WINAPI, GetSecurityInfo, 0, (
OUT PACL *ppDacl,
OUT PACL *ppSacl,
OUT PSECURITY_DESCRIPTOR *ppSecurityDescriptor),
- (handle, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup,
- ppDacl, ppSacl, ppSecurityDescriptor));
+ (handle, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup,
+ ppDacl, ppSacl, ppSecurityDescriptor));
#define GetSecurityInfo apr_winapi_GetSecurityInfo
APR_DECLARE_LATE_DLL_FUNC(DLL_SHSTDAPI, LPWSTR *, WINAPI, CommandLineToArgvW, 0, (
- LPCWSTR lpCmdLine,
+ LPCWSTR lpCmdLine,
int *pNumArgs),
(lpCmdLine, pNumArgs));
#define CommandLineToArgvW apr_winapi_CommandLineToArgvW
@@ -432,6 +438,49 @@ APR_DECLARE_LATE_DLL_FUNC(DLL_WINBASEAPI, BOOL, WINAPI, Process32NextW, 0, (
(hSnapshot, lppe));
#define Process32NextW apr_winapi_Process32NextW
+#if !defined(POLLERR)
+/* Event flag definitions for WSAPoll(). */
+#define POLLRDNORM 0x0100
+#define POLLRDBAND 0x0200
+#define POLLIN (POLLRDNORM | POLLRDBAND)
+#define POLLPRI 0x0400
+
+#define POLLWRNORM 0x0010
+#define POLLOUT (POLLWRNORM)
+#define POLLWRBAND 0x0020
+
+#define POLLERR 0x0001
+#define POLLHUP 0x0002
+#define POLLNVAL 0x0004
+
+typedef struct pollfd {
+ SOCKET fd;
+ SHORT events;
+ SHORT revents;
+
+} WSAPOLLFD, *PWSAPOLLFD, FAR *LPWSAPOLLFD;
+
+#endif /* !defined(POLLERR) */
+#ifdef WSAPoll
+#undef WSAPoll
+#endif
+APR_DECLARE_LATE_DLL_FUNC(DLL_WINSOCK2API, int, WSAAPI, WSAPoll, 0, (
+ IN OUT LPWSAPOLLFD fdArray,
+ IN ULONG fds,
+ IN INT timeout),
+ (fdArray, fds, timeout));
+#define WSAPoll apr_winapi_WSAPoll
+#define HAVE_POLL 1
+
+#ifdef SetDllDirectoryW
+#undef SetDllDirectoryW
+#endif
+APR_DECLARE_LATE_DLL_FUNC(DLL_WINBASEAPI, BOOL, WINAPI, SetDllDirectoryW, 0, (
+ IN LPCWSTR lpPathName),
+ (lpPathName));
+#define SetDllDirectoryW apr_winapi_SetDllDirectoryW
+
#endif /* !defined(_WIN32_WCE) */
#endif /* ! MISC_H */
+
diff --git a/srclib/apr/libapr.dep b/srclib/apr/libapr.dep
new file mode 100644
index 00000000..3efb8ec1
--- /dev/null
+++ b/srclib/apr/libapr.dep
@@ -0,0 +1,561 @@
+# Microsoft Developer Studio Generated Dependency File, included by libapr.mak
+
+.\atomic\win32\apr_atomic.c : \
+ ".\include\apr_atomic.h"\
+
+
+.\dso\win32\dso.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_dso.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\buffer.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\unix\copy.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\dir.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\unix\fileacc.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\filedup.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\filepath.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\unix\filepath_util.c : \
+ ".\include\apr_strings.h"\
+
+
+.\file_io\win32\filestat.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\filesys.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\flock.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\unix\fullrw.c : \
+
+
+.\file_io\unix\mktemp.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\open.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\pipe.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\readwrite.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\win32\seek.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\file_io\unix\tempdir.c : \
+ ".\include\apr_env.h"\
+ ".\include\apr_strings.h"\
+
+
+.\locks\win32\proc_mutex.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_proc_mutex.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\locks\win32\thread_cond.c : \
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_thread_cond.h"\
+ ".\include\arch\win32\apr_arch_thread_cond.h"\
+ ".\include\arch\win32\apr_arch_thread_mutex.h"\
+
+
+.\locks\win32\thread_mutex.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_thread_mutex.h"\
+
+
+.\locks\win32\thread_rwlock.c : \
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_thread_rwlock.h"\
+ ".\include\arch\win32\apr_arch_thread_rwlock.h"\
+
+
+.\memory\unix\apr_pools.c : \
+ ".\include\apr_atomic.h"\
+ ".\include\apr_env.h"\
+ ".\include\apr_hash.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+
+
+.\misc\win32\charset.c : \
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+
+
+.\misc\win32\env.c : \
+ ".\include\apr_env.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\misc\unix\errorcodes.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+
+
+.\misc\unix\getopt.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+
+
+.\misc\win32\internal.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\misc\win32\misc.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_dbg_win32_handles.h"\
+
+
+.\misc\unix\otherchild.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\misc\win32\rand.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_portable.h"\
+
+
+.\misc\win32\start.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_signal.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\misc\win32\utf8.c : \
+ ".\include\apr_lib.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\misc\unix\version.c : \
+ ".\include\apr_version.h"\
+
+
+.\mmap\unix\common.c : \
+ ".\include\apr_mmap.h"\
+
+
+.\mmap\win32\mmap.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_mmap.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\network_io\unix\inet_ntop.c : \
+ ".\include\apr_poll.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+
+
+.\network_io\unix\inet_pton.c : \
+ ".\include\apr_poll.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+
+
+.\network_io\unix\multicast.c : \
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_support.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+
+
+.\network_io\win32\sendrecv.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\network_io\unix\sockaddr.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+
+
+.\network_io\unix\socket_util.c : \
+ ".\include\apr_poll.h"\
+
+
+.\network_io\win32\sockets.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+
+
+.\network_io\win32\sockopt.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+
+
+.\passwd\apr_getpass.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_strings.h"\
+
+
+.\poll\unix\poll.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\unix\apr_arch_poll_private.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\poll\unix\pollcb.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\unix\apr_arch_poll_private.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\poll\unix\pollset.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\unix\apr_arch_poll_private.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\poll\unix\select.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\unix\apr_arch_poll_private.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\random\unix\apr_random.c : \
+ ".\include\apr_random.h"\
+
+
+.\random\unix\sha2.c : \
+ ".\random\unix\sha2.h"\
+
+
+.\random\unix\sha2_glue.c : \
+ ".\include\apr_random.h"\
+ ".\random\unix\sha2.h"\
+
+
+.\shmem\win32\shm.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\strings\apr_cpystrn.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_strings.h"\
+
+
+.\strings\apr_fnmatch.c : \
+ ".\include\apr_fnmatch.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_strings.h"\
+
+
+.\strings\apr_snprintf.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+
+
+.\strings\apr_strings.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_strings.h"\
+
+
+.\strings\apr_strnatcmp.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_strings.h"\
+
+
+.\strings\apr_strtok.c : \
+ ".\include\apr_strings.h"\
+
+
+.\tables\apr_hash.c : \
+ ".\include\apr_hash.h"\
+
+
+.\tables\apr_tables.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_strings.h"\
+
+
+.\threadproc\win32\proc.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\threadproc\win32\signals.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_signal.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+.\threadproc\win32\thread.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+
+
+.\threadproc\win32\threadpriv.c : \
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+
+
+.\time\win32\time.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_portable.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+
+
+.\time\win32\timestr.c : \
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+
+
+.\user\win32\groupinfo.c : \
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+
+
+.\user\win32\userinfo.c : \
+ ".\include\apr_getopt.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_strings.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+
+
+!IF "$(CFG)" == "libapr - Win32 Release"
+
+!ELSEIF "$(CFG)" == "libapr - Win32 Debug"
+
+!ELSEIF "$(CFG)" == "libapr - Win32 Release9x"
+
+!ELSEIF "$(CFG)" == "libapr - Win32 Debug9x"
+
+!ELSEIF "$(CFG)" == "libapr - x64 Release"
+
+!ELSEIF "$(CFG)" == "libapr - x64 Debug"
+
+!ENDIF
+
+.\libapr.rc : \
+ ".\include\apr_version.h"\
+
diff --git a/srclib/apr/libapr.dsp b/srclib/apr/libapr.dsp
index b8b199f8..b1783bf3 100644
--- a/srclib/apr/libapr.dsp
+++ b/srclib/apr/libapr.dsp
@@ -468,6 +468,10 @@ SOURCE=.\passwd\apr_getpass.c
# PROP Default_Filter ""
# Begin Source File
+SOURCE=.\poll\unix\poll.c
+# End Source File
+# Begin Source File
+
SOURCE=.\poll\unix\pollcb.c
# End Source File
# Begin Source File
@@ -568,10 +572,6 @@ SOURCE=.\threadproc\win32\threadpriv.c
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\time\win32\access.c
-# End Source File
-# Begin Source File
-
SOURCE=.\time\win32\time.c
# End Source File
# Begin Source File
diff --git a/srclib/apr/libapr.mak b/srclib/apr/libapr.mak
new file mode 100644
index 00000000..10be02fe
--- /dev/null
+++ b/srclib/apr/libapr.mak
@@ -0,0 +1,1917 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on libapr.dsp
+!IF "$(CFG)" == ""
+CFG=libapr - Win32 Release
+!MESSAGE No configuration specified. Defaulting to libapr - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "libapr - Win32 Release" && "$(CFG)" != "libapr - Win32 Debug" && "$(CFG)" != "libapr - Win32 Release9x" && "$(CFG)" != "libapr - Win32 Debug9x" && "$(CFG)" != "libapr - x64 Release" && "$(CFG)" != "libapr - x64 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "libapr.mak" CFG="libapr - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "libapr - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "libapr - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "libapr - Win32 Release9x" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "libapr - Win32 Debug9x" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "libapr - x64 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "libapr - x64 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "libapr - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+ALL : "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\buffer.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\libapr.res"
+ -@erase "$(INTDIR)\libapr_src.idb"
+ -@erase "$(INTDIR)\libapr_src.pdb"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\poll.obj"
+ -@erase "$(INTDIR)\pollcb.obj"
+ -@erase "$(INTDIR)\pollset.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\socket_util.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\libapr-1.dll"
+ -@erase "$(OUTDIR)\libapr-1.exp"
+ -@erase "$(OUTDIR)\libapr-1.lib"
+ -@erase "$(OUTDIR)\libapr-1.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "NDEBUG" /D "APR_DECLARE_EXPORT" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "NDEBUG" /d "APR_VERSION_ONLY"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X86 /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\apr_atomic.obj" \
+ "$(INTDIR)\dso.obj" \
+ "$(INTDIR)\buffer.obj" \
+ "$(INTDIR)\copy.obj" \
+ "$(INTDIR)\dir.obj" \
+ "$(INTDIR)\fileacc.obj" \
+ "$(INTDIR)\filedup.obj" \
+ "$(INTDIR)\filepath.obj" \
+ "$(INTDIR)\filepath_util.obj" \
+ "$(INTDIR)\filestat.obj" \
+ "$(INTDIR)\filesys.obj" \
+ "$(INTDIR)\flock.obj" \
+ "$(INTDIR)\fullrw.obj" \
+ "$(INTDIR)\mktemp.obj" \
+ "$(INTDIR)\open.obj" \
+ "$(INTDIR)\pipe.obj" \
+ "$(INTDIR)\readwrite.obj" \
+ "$(INTDIR)\seek.obj" \
+ "$(INTDIR)\tempdir.obj" \
+ "$(INTDIR)\proc_mutex.obj" \
+ "$(INTDIR)\thread_cond.obj" \
+ "$(INTDIR)\thread_mutex.obj" \
+ "$(INTDIR)\thread_rwlock.obj" \
+ "$(INTDIR)\apr_pools.obj" \
+ "$(INTDIR)\charset.obj" \
+ "$(INTDIR)\env.obj" \
+ "$(INTDIR)\errorcodes.obj" \
+ "$(INTDIR)\getopt.obj" \
+ "$(INTDIR)\internal.obj" \
+ "$(INTDIR)\misc.obj" \
+ "$(INTDIR)\otherchild.obj" \
+ "$(INTDIR)\rand.obj" \
+ "$(INTDIR)\start.obj" \
+ "$(INTDIR)\utf8.obj" \
+ "$(INTDIR)\version.obj" \
+ "$(INTDIR)\common.obj" \
+ "$(INTDIR)\mmap.obj" \
+ "$(INTDIR)\inet_ntop.obj" \
+ "$(INTDIR)\inet_pton.obj" \
+ "$(INTDIR)\multicast.obj" \
+ "$(INTDIR)\sendrecv.obj" \
+ "$(INTDIR)\sockaddr.obj" \
+ "$(INTDIR)\sockets.obj" \
+ "$(INTDIR)\socket_util.obj" \
+ "$(INTDIR)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.obj" \
+ "$(INTDIR)\poll.obj" \
+ "$(INTDIR)\pollcb.obj" \
+ "$(INTDIR)\pollset.obj" \
+ "$(INTDIR)\select.obj" \
+ "$(INTDIR)\apr_random.obj" \
+ "$(INTDIR)\sha2.obj" \
+ "$(INTDIR)\sha2_glue.obj" \
+ "$(INTDIR)\shm.obj" \
+ "$(INTDIR)\apr_cpystrn.obj" \
+ "$(INTDIR)\apr_fnmatch.obj" \
+ "$(INTDIR)\apr_snprintf.obj" \
+ "$(INTDIR)\apr_strings.obj" \
+ "$(INTDIR)\apr_strnatcmp.obj" \
+ "$(INTDIR)\apr_strtok.obj" \
+ "$(INTDIR)\apr_hash.obj" \
+ "$(INTDIR)\apr_tables.obj" \
+ "$(INTDIR)\proc.obj" \
+ "$(INTDIR)\signals.obj" \
+ "$(INTDIR)\thread.obj" \
+ "$(INTDIR)\threadpriv.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj" \
+ "$(INTDIR)\libapr.res"
+
+"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\libapr-1.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
+ if exist .\Release\libapr-1.dll.manifest mt.exe -manifest .\Release\libapr-1.dll.manifest -outputresource:.\Release\libapr-1.dll;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "libapr - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\buffer.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\libapr.res"
+ -@erase "$(INTDIR)\libapr_src.idb"
+ -@erase "$(INTDIR)\libapr_src.pdb"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\poll.obj"
+ -@erase "$(INTDIR)\pollcb.obj"
+ -@erase "$(INTDIR)\pollset.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\socket_util.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\libapr-1.dll"
+ -@erase "$(OUTDIR)\libapr-1.exp"
+ -@erase "$(OUTDIR)\libapr-1.lib"
+ -@erase "$(OUTDIR)\libapr-1.pdb"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "_DEBUG" /D "APR_DECLARE_EXPORT" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "_DEBUG" /d "APR_VERSION_ONLY"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X86
+LINK32_OBJS= \
+ "$(INTDIR)\apr_atomic.obj" \
+ "$(INTDIR)\dso.obj" \
+ "$(INTDIR)\buffer.obj" \
+ "$(INTDIR)\copy.obj" \
+ "$(INTDIR)\dir.obj" \
+ "$(INTDIR)\fileacc.obj" \
+ "$(INTDIR)\filedup.obj" \
+ "$(INTDIR)\filepath.obj" \
+ "$(INTDIR)\filepath_util.obj" \
+ "$(INTDIR)\filestat.obj" \
+ "$(INTDIR)\filesys.obj" \
+ "$(INTDIR)\flock.obj" \
+ "$(INTDIR)\fullrw.obj" \
+ "$(INTDIR)\mktemp.obj" \
+ "$(INTDIR)\open.obj" \
+ "$(INTDIR)\pipe.obj" \
+ "$(INTDIR)\readwrite.obj" \
+ "$(INTDIR)\seek.obj" \
+ "$(INTDIR)\tempdir.obj" \
+ "$(INTDIR)\proc_mutex.obj" \
+ "$(INTDIR)\thread_cond.obj" \
+ "$(INTDIR)\thread_mutex.obj" \
+ "$(INTDIR)\thread_rwlock.obj" \
+ "$(INTDIR)\apr_pools.obj" \
+ "$(INTDIR)\charset.obj" \
+ "$(INTDIR)\env.obj" \
+ "$(INTDIR)\errorcodes.obj" \
+ "$(INTDIR)\getopt.obj" \
+ "$(INTDIR)\internal.obj" \
+ "$(INTDIR)\misc.obj" \
+ "$(INTDIR)\otherchild.obj" \
+ "$(INTDIR)\rand.obj" \
+ "$(INTDIR)\start.obj" \
+ "$(INTDIR)\utf8.obj" \
+ "$(INTDIR)\version.obj" \
+ "$(INTDIR)\common.obj" \
+ "$(INTDIR)\mmap.obj" \
+ "$(INTDIR)\inet_ntop.obj" \
+ "$(INTDIR)\inet_pton.obj" \
+ "$(INTDIR)\multicast.obj" \
+ "$(INTDIR)\sendrecv.obj" \
+ "$(INTDIR)\sockaddr.obj" \
+ "$(INTDIR)\sockets.obj" \
+ "$(INTDIR)\socket_util.obj" \
+ "$(INTDIR)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.obj" \
+ "$(INTDIR)\poll.obj" \
+ "$(INTDIR)\pollcb.obj" \
+ "$(INTDIR)\pollset.obj" \
+ "$(INTDIR)\select.obj" \
+ "$(INTDIR)\apr_random.obj" \
+ "$(INTDIR)\sha2.obj" \
+ "$(INTDIR)\sha2_glue.obj" \
+ "$(INTDIR)\shm.obj" \
+ "$(INTDIR)\apr_cpystrn.obj" \
+ "$(INTDIR)\apr_fnmatch.obj" \
+ "$(INTDIR)\apr_snprintf.obj" \
+ "$(INTDIR)\apr_strings.obj" \
+ "$(INTDIR)\apr_strnatcmp.obj" \
+ "$(INTDIR)\apr_strtok.obj" \
+ "$(INTDIR)\apr_hash.obj" \
+ "$(INTDIR)\apr_tables.obj" \
+ "$(INTDIR)\proc.obj" \
+ "$(INTDIR)\signals.obj" \
+ "$(INTDIR)\thread.obj" \
+ "$(INTDIR)\threadpriv.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj" \
+ "$(INTDIR)\libapr.res"
+
+"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\libapr-1.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
+ if exist .\Debug\libapr-1.dll.manifest mt.exe -manifest .\Debug\libapr-1.dll.manifest -outputresource:.\Debug\libapr-1.dll;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "libapr - Win32 Release9x"
+
+OUTDIR=.\9x\Release
+INTDIR=.\9x\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\9x\Release
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\buffer.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\libapr.res"
+ -@erase "$(INTDIR)\libapr_src.idb"
+ -@erase "$(INTDIR)\libapr_src.pdb"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\poll.obj"
+ -@erase "$(INTDIR)\pollcb.obj"
+ -@erase "$(INTDIR)\pollset.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\socket_util.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\libapr-1.dll"
+ -@erase "$(OUTDIR)\libapr-1.exp"
+ -@erase "$(OUTDIR)\libapr-1.lib"
+ -@erase "$(OUTDIR)\libapr-1.pdb"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "NDEBUG" /D "APR_DECLARE_EXPORT" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "NDEBUG" /d "APR_VERSION_ONLY"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X86 /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\apr_atomic.obj" \
+ "$(INTDIR)\dso.obj" \
+ "$(INTDIR)\buffer.obj" \
+ "$(INTDIR)\copy.obj" \
+ "$(INTDIR)\dir.obj" \
+ "$(INTDIR)\fileacc.obj" \
+ "$(INTDIR)\filedup.obj" \
+ "$(INTDIR)\filepath.obj" \
+ "$(INTDIR)\filepath_util.obj" \
+ "$(INTDIR)\filestat.obj" \
+ "$(INTDIR)\filesys.obj" \
+ "$(INTDIR)\flock.obj" \
+ "$(INTDIR)\fullrw.obj" \
+ "$(INTDIR)\mktemp.obj" \
+ "$(INTDIR)\open.obj" \
+ "$(INTDIR)\pipe.obj" \
+ "$(INTDIR)\readwrite.obj" \
+ "$(INTDIR)\seek.obj" \
+ "$(INTDIR)\tempdir.obj" \
+ "$(INTDIR)\proc_mutex.obj" \
+ "$(INTDIR)\thread_cond.obj" \
+ "$(INTDIR)\thread_mutex.obj" \
+ "$(INTDIR)\thread_rwlock.obj" \
+ "$(INTDIR)\apr_pools.obj" \
+ "$(INTDIR)\charset.obj" \
+ "$(INTDIR)\env.obj" \
+ "$(INTDIR)\errorcodes.obj" \
+ "$(INTDIR)\getopt.obj" \
+ "$(INTDIR)\internal.obj" \
+ "$(INTDIR)\misc.obj" \
+ "$(INTDIR)\otherchild.obj" \
+ "$(INTDIR)\rand.obj" \
+ "$(INTDIR)\start.obj" \
+ "$(INTDIR)\utf8.obj" \
+ "$(INTDIR)\version.obj" \
+ "$(INTDIR)\common.obj" \
+ "$(INTDIR)\mmap.obj" \
+ "$(INTDIR)\inet_ntop.obj" \
+ "$(INTDIR)\inet_pton.obj" \
+ "$(INTDIR)\multicast.obj" \
+ "$(INTDIR)\sendrecv.obj" \
+ "$(INTDIR)\sockaddr.obj" \
+ "$(INTDIR)\sockets.obj" \
+ "$(INTDIR)\socket_util.obj" \
+ "$(INTDIR)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.obj" \
+ "$(INTDIR)\poll.obj" \
+ "$(INTDIR)\pollcb.obj" \
+ "$(INTDIR)\pollset.obj" \
+ "$(INTDIR)\select.obj" \
+ "$(INTDIR)\apr_random.obj" \
+ "$(INTDIR)\sha2.obj" \
+ "$(INTDIR)\sha2_glue.obj" \
+ "$(INTDIR)\shm.obj" \
+ "$(INTDIR)\apr_cpystrn.obj" \
+ "$(INTDIR)\apr_fnmatch.obj" \
+ "$(INTDIR)\apr_snprintf.obj" \
+ "$(INTDIR)\apr_strings.obj" \
+ "$(INTDIR)\apr_strnatcmp.obj" \
+ "$(INTDIR)\apr_strtok.obj" \
+ "$(INTDIR)\apr_hash.obj" \
+ "$(INTDIR)\apr_tables.obj" \
+ "$(INTDIR)\proc.obj" \
+ "$(INTDIR)\signals.obj" \
+ "$(INTDIR)\thread.obj" \
+ "$(INTDIR)\threadpriv.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj" \
+ "$(INTDIR)\libapr.res"
+
+"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\9x\Release\libapr-1.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\9x\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
+ if exist .\9x\Release\libapr-1.dll.manifest mt.exe -manifest .\9x\Release\libapr-1.dll.manifest -outputresource:.\9x\Release\libapr-1.dll;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "libapr - Win32 Debug9x"
+
+OUTDIR=.\9x\Debug
+INTDIR=.\9x\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\9x\Debug
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\buffer.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\libapr.res"
+ -@erase "$(INTDIR)\libapr_src.idb"
+ -@erase "$(INTDIR)\libapr_src.pdb"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\poll.obj"
+ -@erase "$(INTDIR)\pollcb.obj"
+ -@erase "$(INTDIR)\pollset.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\socket_util.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\libapr-1.dll"
+ -@erase "$(OUTDIR)\libapr-1.exp"
+ -@erase "$(OUTDIR)\libapr-1.lib"
+ -@erase "$(OUTDIR)\libapr-1.pdb"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "_DEBUG" /D "APR_DECLARE_EXPORT" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "_DEBUG" /d "APR_VERSION_ONLY"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X86
+LINK32_OBJS= \
+ "$(INTDIR)\apr_atomic.obj" \
+ "$(INTDIR)\dso.obj" \
+ "$(INTDIR)\buffer.obj" \
+ "$(INTDIR)\copy.obj" \
+ "$(INTDIR)\dir.obj" \
+ "$(INTDIR)\fileacc.obj" \
+ "$(INTDIR)\filedup.obj" \
+ "$(INTDIR)\filepath.obj" \
+ "$(INTDIR)\filepath_util.obj" \
+ "$(INTDIR)\filestat.obj" \
+ "$(INTDIR)\filesys.obj" \
+ "$(INTDIR)\flock.obj" \
+ "$(INTDIR)\fullrw.obj" \
+ "$(INTDIR)\mktemp.obj" \
+ "$(INTDIR)\open.obj" \
+ "$(INTDIR)\pipe.obj" \
+ "$(INTDIR)\readwrite.obj" \
+ "$(INTDIR)\seek.obj" \
+ "$(INTDIR)\tempdir.obj" \
+ "$(INTDIR)\proc_mutex.obj" \
+ "$(INTDIR)\thread_cond.obj" \
+ "$(INTDIR)\thread_mutex.obj" \
+ "$(INTDIR)\thread_rwlock.obj" \
+ "$(INTDIR)\apr_pools.obj" \
+ "$(INTDIR)\charset.obj" \
+ "$(INTDIR)\env.obj" \
+ "$(INTDIR)\errorcodes.obj" \
+ "$(INTDIR)\getopt.obj" \
+ "$(INTDIR)\internal.obj" \
+ "$(INTDIR)\misc.obj" \
+ "$(INTDIR)\otherchild.obj" \
+ "$(INTDIR)\rand.obj" \
+ "$(INTDIR)\start.obj" \
+ "$(INTDIR)\utf8.obj" \
+ "$(INTDIR)\version.obj" \
+ "$(INTDIR)\common.obj" \
+ "$(INTDIR)\mmap.obj" \
+ "$(INTDIR)\inet_ntop.obj" \
+ "$(INTDIR)\inet_pton.obj" \
+ "$(INTDIR)\multicast.obj" \
+ "$(INTDIR)\sendrecv.obj" \
+ "$(INTDIR)\sockaddr.obj" \
+ "$(INTDIR)\sockets.obj" \
+ "$(INTDIR)\socket_util.obj" \
+ "$(INTDIR)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.obj" \
+ "$(INTDIR)\poll.obj" \
+ "$(INTDIR)\pollcb.obj" \
+ "$(INTDIR)\pollset.obj" \
+ "$(INTDIR)\select.obj" \
+ "$(INTDIR)\apr_random.obj" \
+ "$(INTDIR)\sha2.obj" \
+ "$(INTDIR)\sha2_glue.obj" \
+ "$(INTDIR)\shm.obj" \
+ "$(INTDIR)\apr_cpystrn.obj" \
+ "$(INTDIR)\apr_fnmatch.obj" \
+ "$(INTDIR)\apr_snprintf.obj" \
+ "$(INTDIR)\apr_strings.obj" \
+ "$(INTDIR)\apr_strnatcmp.obj" \
+ "$(INTDIR)\apr_strtok.obj" \
+ "$(INTDIR)\apr_hash.obj" \
+ "$(INTDIR)\apr_tables.obj" \
+ "$(INTDIR)\proc.obj" \
+ "$(INTDIR)\signals.obj" \
+ "$(INTDIR)\thread.obj" \
+ "$(INTDIR)\threadpriv.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj" \
+ "$(INTDIR)\libapr.res"
+
+"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\9x\Debug\libapr-1.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\9x\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
+ if exist .\9x\Debug\libapr-1.dll.manifest mt.exe -manifest .\9x\Debug\libapr-1.dll.manifest -outputresource:.\9x\Debug\libapr-1.dll;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "libapr - x64 Release"
+
+OUTDIR=.\x64\Release
+INTDIR=.\x64\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\x64\Release
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\buffer.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\libapr.res"
+ -@erase "$(INTDIR)\libapr_src.idb"
+ -@erase "$(INTDIR)\libapr_src.pdb"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\poll.obj"
+ -@erase "$(INTDIR)\pollcb.obj"
+ -@erase "$(INTDIR)\pollset.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\socket_util.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\libapr-1.dll"
+ -@erase "$(OUTDIR)\libapr-1.exp"
+ -@erase "$(OUTDIR)\libapr-1.lib"
+ -@erase "$(OUTDIR)\libapr-1.pdb"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "NDEBUG" /D "APR_DECLARE_EXPORT" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "NDEBUG" /d "APR_VERSION_ONLY"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X64 /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\apr_atomic.obj" \
+ "$(INTDIR)\dso.obj" \
+ "$(INTDIR)\buffer.obj" \
+ "$(INTDIR)\copy.obj" \
+ "$(INTDIR)\dir.obj" \
+ "$(INTDIR)\fileacc.obj" \
+ "$(INTDIR)\filedup.obj" \
+ "$(INTDIR)\filepath.obj" \
+ "$(INTDIR)\filepath_util.obj" \
+ "$(INTDIR)\filestat.obj" \
+ "$(INTDIR)\filesys.obj" \
+ "$(INTDIR)\flock.obj" \
+ "$(INTDIR)\fullrw.obj" \
+ "$(INTDIR)\mktemp.obj" \
+ "$(INTDIR)\open.obj" \
+ "$(INTDIR)\pipe.obj" \
+ "$(INTDIR)\readwrite.obj" \
+ "$(INTDIR)\seek.obj" \
+ "$(INTDIR)\tempdir.obj" \
+ "$(INTDIR)\proc_mutex.obj" \
+ "$(INTDIR)\thread_cond.obj" \
+ "$(INTDIR)\thread_mutex.obj" \
+ "$(INTDIR)\thread_rwlock.obj" \
+ "$(INTDIR)\apr_pools.obj" \
+ "$(INTDIR)\charset.obj" \
+ "$(INTDIR)\env.obj" \
+ "$(INTDIR)\errorcodes.obj" \
+ "$(INTDIR)\getopt.obj" \
+ "$(INTDIR)\internal.obj" \
+ "$(INTDIR)\misc.obj" \
+ "$(INTDIR)\otherchild.obj" \
+ "$(INTDIR)\rand.obj" \
+ "$(INTDIR)\start.obj" \
+ "$(INTDIR)\utf8.obj" \
+ "$(INTDIR)\version.obj" \
+ "$(INTDIR)\common.obj" \
+ "$(INTDIR)\mmap.obj" \
+ "$(INTDIR)\inet_ntop.obj" \
+ "$(INTDIR)\inet_pton.obj" \
+ "$(INTDIR)\multicast.obj" \
+ "$(INTDIR)\sendrecv.obj" \
+ "$(INTDIR)\sockaddr.obj" \
+ "$(INTDIR)\sockets.obj" \
+ "$(INTDIR)\socket_util.obj" \
+ "$(INTDIR)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.obj" \
+ "$(INTDIR)\poll.obj" \
+ "$(INTDIR)\pollcb.obj" \
+ "$(INTDIR)\pollset.obj" \
+ "$(INTDIR)\select.obj" \
+ "$(INTDIR)\apr_random.obj" \
+ "$(INTDIR)\sha2.obj" \
+ "$(INTDIR)\sha2_glue.obj" \
+ "$(INTDIR)\shm.obj" \
+ "$(INTDIR)\apr_cpystrn.obj" \
+ "$(INTDIR)\apr_fnmatch.obj" \
+ "$(INTDIR)\apr_snprintf.obj" \
+ "$(INTDIR)\apr_strings.obj" \
+ "$(INTDIR)\apr_strnatcmp.obj" \
+ "$(INTDIR)\apr_strtok.obj" \
+ "$(INTDIR)\apr_hash.obj" \
+ "$(INTDIR)\apr_tables.obj" \
+ "$(INTDIR)\proc.obj" \
+ "$(INTDIR)\signals.obj" \
+ "$(INTDIR)\thread.obj" \
+ "$(INTDIR)\threadpriv.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj" \
+ "$(INTDIR)\libapr.res"
+
+"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\x64\Release\libapr-1.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\x64\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
+ if exist .\x64\Release\libapr-1.dll.manifest mt.exe -manifest .\x64\Release\libapr-1.dll.manifest -outputresource:.\x64\Release\libapr-1.dll;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "libapr - x64 Debug"
+
+OUTDIR=.\x64\Debug
+INTDIR=.\x64\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\x64\Debug
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\buffer.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\libapr.res"
+ -@erase "$(INTDIR)\libapr_src.idb"
+ -@erase "$(INTDIR)\libapr_src.pdb"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\poll.obj"
+ -@erase "$(INTDIR)\pollcb.obj"
+ -@erase "$(INTDIR)\pollset.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\socket_util.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\libapr-1.dll"
+ -@erase "$(OUTDIR)\libapr-1.exp"
+ -@erase "$(OUTDIR)\libapr-1.lib"
+ -@erase "$(OUTDIR)\libapr-1.pdb"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "_DEBUG" /D "APR_DECLARE_EXPORT" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "_DEBUG" /d "APR_VERSION_ONLY"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X64
+LINK32_OBJS= \
+ "$(INTDIR)\apr_atomic.obj" \
+ "$(INTDIR)\dso.obj" \
+ "$(INTDIR)\buffer.obj" \
+ "$(INTDIR)\copy.obj" \
+ "$(INTDIR)\dir.obj" \
+ "$(INTDIR)\fileacc.obj" \
+ "$(INTDIR)\filedup.obj" \
+ "$(INTDIR)\filepath.obj" \
+ "$(INTDIR)\filepath_util.obj" \
+ "$(INTDIR)\filestat.obj" \
+ "$(INTDIR)\filesys.obj" \
+ "$(INTDIR)\flock.obj" \
+ "$(INTDIR)\fullrw.obj" \
+ "$(INTDIR)\mktemp.obj" \
+ "$(INTDIR)\open.obj" \
+ "$(INTDIR)\pipe.obj" \
+ "$(INTDIR)\readwrite.obj" \
+ "$(INTDIR)\seek.obj" \
+ "$(INTDIR)\tempdir.obj" \
+ "$(INTDIR)\proc_mutex.obj" \
+ "$(INTDIR)\thread_cond.obj" \
+ "$(INTDIR)\thread_mutex.obj" \
+ "$(INTDIR)\thread_rwlock.obj" \
+ "$(INTDIR)\apr_pools.obj" \
+ "$(INTDIR)\charset.obj" \
+ "$(INTDIR)\env.obj" \
+ "$(INTDIR)\errorcodes.obj" \
+ "$(INTDIR)\getopt.obj" \
+ "$(INTDIR)\internal.obj" \
+ "$(INTDIR)\misc.obj" \
+ "$(INTDIR)\otherchild.obj" \
+ "$(INTDIR)\rand.obj" \
+ "$(INTDIR)\start.obj" \
+ "$(INTDIR)\utf8.obj" \
+ "$(INTDIR)\version.obj" \
+ "$(INTDIR)\common.obj" \
+ "$(INTDIR)\mmap.obj" \
+ "$(INTDIR)\inet_ntop.obj" \
+ "$(INTDIR)\inet_pton.obj" \
+ "$(INTDIR)\multicast.obj" \
+ "$(INTDIR)\sendrecv.obj" \
+ "$(INTDIR)\sockaddr.obj" \
+ "$(INTDIR)\sockets.obj" \
+ "$(INTDIR)\socket_util.obj" \
+ "$(INTDIR)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.obj" \
+ "$(INTDIR)\poll.obj" \
+ "$(INTDIR)\pollcb.obj" \
+ "$(INTDIR)\pollset.obj" \
+ "$(INTDIR)\select.obj" \
+ "$(INTDIR)\apr_random.obj" \
+ "$(INTDIR)\sha2.obj" \
+ "$(INTDIR)\sha2_glue.obj" \
+ "$(INTDIR)\shm.obj" \
+ "$(INTDIR)\apr_cpystrn.obj" \
+ "$(INTDIR)\apr_fnmatch.obj" \
+ "$(INTDIR)\apr_snprintf.obj" \
+ "$(INTDIR)\apr_strings.obj" \
+ "$(INTDIR)\apr_strnatcmp.obj" \
+ "$(INTDIR)\apr_strtok.obj" \
+ "$(INTDIR)\apr_hash.obj" \
+ "$(INTDIR)\apr_tables.obj" \
+ "$(INTDIR)\proc.obj" \
+ "$(INTDIR)\signals.obj" \
+ "$(INTDIR)\thread.obj" \
+ "$(INTDIR)\threadpriv.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj" \
+ "$(INTDIR)\libapr.res"
+
+"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\x64\Debug\libapr-1.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\x64\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
+ if exist .\x64\Debug\libapr-1.dll.manifest mt.exe -manifest .\x64\Debug\libapr-1.dll.manifest -outputresource:.\x64\Debug\libapr-1.dll;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("libapr.dep")
+!INCLUDE "libapr.dep"
+!ELSE
+!MESSAGE Warning: cannot find "libapr.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "libapr - Win32 Release" || "$(CFG)" == "libapr - Win32 Debug" || "$(CFG)" == "libapr - Win32 Release9x" || "$(CFG)" == "libapr - Win32 Debug9x" || "$(CFG)" == "libapr - x64 Release" || "$(CFG)" == "libapr - x64 Debug"
+SOURCE=.\atomic\win32\apr_atomic.c
+
+"$(INTDIR)\apr_atomic.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\dso\win32\dso.c
+
+"$(INTDIR)\dso.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\buffer.c
+
+"$(INTDIR)\buffer.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\unix\copy.c
+
+"$(INTDIR)\copy.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\dir.c
+
+"$(INTDIR)\dir.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\unix\fileacc.c
+
+"$(INTDIR)\fileacc.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\filedup.c
+
+"$(INTDIR)\filedup.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\filepath.c
+
+"$(INTDIR)\filepath.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\unix\filepath_util.c
+
+"$(INTDIR)\filepath_util.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\filestat.c
+
+"$(INTDIR)\filestat.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\filesys.c
+
+"$(INTDIR)\filesys.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\flock.c
+
+"$(INTDIR)\flock.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\unix\fullrw.c
+
+"$(INTDIR)\fullrw.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\unix\mktemp.c
+
+"$(INTDIR)\mktemp.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\open.c
+
+"$(INTDIR)\open.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\pipe.c
+
+"$(INTDIR)\pipe.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\readwrite.c
+
+"$(INTDIR)\readwrite.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\win32\seek.c
+
+"$(INTDIR)\seek.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\file_io\unix\tempdir.c
+
+"$(INTDIR)\tempdir.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\locks\win32\proc_mutex.c
+
+"$(INTDIR)\proc_mutex.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\locks\win32\thread_cond.c
+
+"$(INTDIR)\thread_cond.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\locks\win32\thread_mutex.c
+
+"$(INTDIR)\thread_mutex.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\locks\win32\thread_rwlock.c
+
+"$(INTDIR)\thread_rwlock.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\memory\unix\apr_pools.c
+
+"$(INTDIR)\apr_pools.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\win32\apr_app.c
+SOURCE=.\misc\win32\charset.c
+
+"$(INTDIR)\charset.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\win32\env.c
+
+"$(INTDIR)\env.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\unix\errorcodes.c
+
+"$(INTDIR)\errorcodes.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\unix\getopt.c
+
+"$(INTDIR)\getopt.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\win32\internal.c
+
+"$(INTDIR)\internal.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\win32\misc.c
+
+"$(INTDIR)\misc.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\unix\otherchild.c
+
+"$(INTDIR)\otherchild.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\win32\rand.c
+
+"$(INTDIR)\rand.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\win32\start.c
+
+"$(INTDIR)\start.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\win32\utf8.c
+
+"$(INTDIR)\utf8.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\misc\unix\version.c
+
+"$(INTDIR)\version.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\mmap\unix\common.c
+
+"$(INTDIR)\common.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\mmap\win32\mmap.c
+
+"$(INTDIR)\mmap.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\unix\inet_ntop.c
+
+"$(INTDIR)\inet_ntop.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\unix\inet_pton.c
+
+"$(INTDIR)\inet_pton.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\unix\multicast.c
+
+"$(INTDIR)\multicast.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\win32\sendrecv.c
+
+"$(INTDIR)\sendrecv.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\unix\sockaddr.c
+
+"$(INTDIR)\sockaddr.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\unix\socket_util.c
+
+"$(INTDIR)\socket_util.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\win32\sockets.c
+
+"$(INTDIR)\sockets.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\network_io\win32\sockopt.c
+
+"$(INTDIR)\sockopt.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\passwd\apr_getpass.c
+
+"$(INTDIR)\apr_getpass.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\poll\unix\poll.c
+
+"$(INTDIR)\poll.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\poll\unix\pollcb.c
+
+"$(INTDIR)\pollcb.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\poll\unix\pollset.c
+
+"$(INTDIR)\pollset.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\poll\unix\select.c
+
+"$(INTDIR)\select.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\random\unix\apr_random.c
+
+"$(INTDIR)\apr_random.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\random\unix\sha2.c
+
+"$(INTDIR)\sha2.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\random\unix\sha2_glue.c
+
+"$(INTDIR)\sha2_glue.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\shmem\win32\shm.c
+
+"$(INTDIR)\shm.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\strings\apr_cpystrn.c
+
+"$(INTDIR)\apr_cpystrn.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\strings\apr_fnmatch.c
+
+"$(INTDIR)\apr_fnmatch.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\strings\apr_snprintf.c
+
+"$(INTDIR)\apr_snprintf.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\strings\apr_strings.c
+
+"$(INTDIR)\apr_strings.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\strings\apr_strnatcmp.c
+
+"$(INTDIR)\apr_strnatcmp.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\strings\apr_strtok.c
+
+"$(INTDIR)\apr_strtok.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\tables\apr_hash.c
+
+"$(INTDIR)\apr_hash.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\tables\apr_tables.c
+
+"$(INTDIR)\apr_tables.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\threadproc\win32\proc.c
+
+"$(INTDIR)\proc.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\threadproc\win32\signals.c
+
+"$(INTDIR)\signals.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\threadproc\win32\thread.c
+
+"$(INTDIR)\thread.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\threadproc\win32\threadpriv.c
+
+"$(INTDIR)\threadpriv.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\time\win32\time.c
+
+"$(INTDIR)\time.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\time\win32\timestr.c
+
+"$(INTDIR)\timestr.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\user\win32\groupinfo.c
+
+"$(INTDIR)\groupinfo.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\user\win32\userinfo.c
+
+"$(INTDIR)\userinfo.obj" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\include\apr.hw
+
+!IF "$(CFG)" == "libapr - Win32 Release"
+
+InputPath=.\include\apr.hw
+
+{$(INCLUDE)}"apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\include\apr.hw > .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libapr - Win32 Debug"
+
+InputPath=.\include\apr.hw
+
+{$(INCLUDE)}"apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\include\apr.hw > .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libapr - Win32 Release9x"
+
+InputPath=.\include\apr.hw
+
+{$(INCLUDE)}"apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\include\apr.hw > .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libapr - Win32 Debug9x"
+
+InputPath=.\include\apr.hw
+
+{$(INCLUDE)}"apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\include\apr.hw > .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libapr - x64 Release"
+
+InputPath=.\include\apr.hw
+
+{$(INCLUDE)}"apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\include\apr.hw > .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "libapr - x64 Debug"
+
+InputPath=.\include\apr.hw
+
+{$(INCLUDE)}"apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\include\apr.hw > .\include\apr.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\libapr.rc
+
+"$(INTDIR)\libapr.res" : $(SOURCE) "$(INTDIR)" {$(INCLUDE)}"apr.h"
+ $(RSC) $(RSC_PROJ) $(SOURCE)
+
+
+
+!ENDIF
+
diff --git a/srclib/apr/libapr.rc b/srclib/apr/libapr.rc
index ac8094b1..098b5f15 100644
--- a/srclib/apr/libapr.rc
+++ b/srclib/apr/libapr.rc
@@ -1,6 +1,6 @@
#include "apr_version.h"
-#define APR_COPYRIGHT "Copyright (c) 2009 The Apache Software " \
+#define APR_COPYRIGHT "Copyright (c) 2011 The Apache Software " \
"Foundation or its licensors, as applicable."
#define APR_LICENSE \
diff --git a/srclib/apr/locks/netware/thread_rwlock.c b/srclib/apr/locks/netware/thread_rwlock.c
index d0bf3ddf..f971aefd 100644
--- a/srclib/apr/locks/netware/thread_rwlock.c
+++ b/srclib/apr/locks/netware/thread_rwlock.c
@@ -34,12 +34,12 @@ APR_DECLARE(apr_status_t) apr_thread_rwlock_create(apr_thread_rwlock_t **rwlock,
{
apr_thread_rwlock_t *new_rwlock = NULL;
- NXHierarchy_t hierarchy = 1; //for libc NKS NXRwLockAlloc
- NXLockInfo_t *info; //for libc NKS NXRwLockAlloc
+ NXHierarchy_t hierarchy = 1; /* for libc NKS NXRwLockAlloc */
+ NXLockInfo_t *info; /* for libc NKS NXRwLockAlloc */
new_rwlock = (apr_thread_rwlock_t *)apr_pcalloc(pool, sizeof(apr_thread_rwlock_t));
-
- if(new_rwlock ==NULL) {
+
+ if(new_rwlock ==NULL) {
return APR_ENOMEM;
}
new_rwlock->pool = pool;
diff --git a/srclib/apr/locks/os2/proc_mutex.c b/srclib/apr/locks/os2/proc_mutex.c
index 5a493563..0f3a564e 100644
--- a/srclib/apr/locks/os2/proc_mutex.c
+++ b/srclib/apr/locks/os2/proc_mutex.c
@@ -32,7 +32,7 @@ static char *fixed_name(const char *fname, apr_pool_t *pool)
if (fname == NULL)
semname = NULL;
else {
- // Semaphores don't live in the file system, fix up the name
+ /* Semaphores don't live in the file system, fix up the name */
while (*fname == '/' || *fname == '\\') {
fname++;
}
diff --git a/srclib/apr/locks/unix/proc_mutex.c b/srclib/apr/locks/unix/proc_mutex.c
index 1d334425..f9637e03 100644
--- a/srclib/apr/locks/unix/proc_mutex.c
+++ b/srclib/apr/locks/unix/proc_mutex.c
@@ -547,14 +547,14 @@ static apr_status_t proc_mutex_fcntl_create(apr_proc_mutex_t *new_mutex,
if (fname) {
new_mutex->fname = apr_pstrdup(new_mutex->pool, fname);
rv = apr_file_open(&new_mutex->interproc, new_mutex->fname,
- APR_CREATE | APR_WRITE | APR_EXCL,
+ APR_FOPEN_CREATE | APR_FOPEN_WRITE | APR_FOPEN_EXCL,
APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD,
new_mutex->pool);
}
else {
new_mutex->fname = apr_pstrdup(new_mutex->pool, "/tmp/aprXXXXXX");
rv = apr_file_mktemp(&new_mutex->interproc, new_mutex->fname,
- APR_CREATE | APR_WRITE | APR_EXCL,
+ APR_FOPEN_CREATE | APR_FOPEN_WRITE | APR_FOPEN_EXCL,
new_mutex->pool);
}
@@ -667,14 +667,14 @@ static apr_status_t proc_mutex_flock_create(apr_proc_mutex_t *new_mutex,
if (fname) {
new_mutex->fname = apr_pstrdup(new_mutex->pool, fname);
rv = apr_file_open(&new_mutex->interproc, new_mutex->fname,
- APR_CREATE | APR_WRITE | APR_EXCL,
+ APR_FOPEN_CREATE | APR_FOPEN_WRITE | APR_FOPEN_EXCL,
APR_UREAD | APR_UWRITE,
new_mutex->pool);
}
else {
new_mutex->fname = apr_pstrdup(new_mutex->pool, "/tmp/aprXXXXXX");
rv = apr_file_mktemp(&new_mutex->interproc, new_mutex->fname,
- APR_CREATE | APR_WRITE | APR_EXCL,
+ APR_FOPEN_CREATE | APR_FOPEN_WRITE | APR_FOPEN_EXCL,
new_mutex->pool);
}
@@ -750,7 +750,7 @@ static apr_status_t proc_mutex_flock_child_init(apr_proc_mutex_t **mutex,
}
new_mutex->fname = apr_pstrdup(pool, fname);
rv = apr_file_open(&new_mutex->interproc, new_mutex->fname,
- APR_WRITE, 0, new_mutex->pool);
+ APR_FOPEN_WRITE, 0, new_mutex->pool);
if (rv != APR_SUCCESS) {
return rv;
}
diff --git a/srclib/apr/memory/unix/apr_pools.c b/srclib/apr/memory/unix/apr_pools.c
index 3973055d..9ac39779 100644
--- a/srclib/apr/memory/unix/apr_pools.c
+++ b/srclib/apr/memory/unix/apr_pools.c
@@ -36,9 +36,12 @@
#endif
#if APR_HAVE_UNISTD_H
-#include <unistd.h> /* for getpid */
+#include <unistd.h> /* for getpid and sysconf */
#endif
+#if APR_ALLOCATOR_USES_MMAP
+#include <sys/mman.h>
+#endif
/*
* Magic numbers
@@ -47,8 +50,15 @@
#define MIN_ALLOC 8192
#define MAX_INDEX 20
+#if APR_ALLOCATOR_USES_MMAP && defined(_SC_PAGESIZE)
+static unsigned int boundary_index;
+static unsigned int boundary_size;
+#define BOUNDARY_INDEX boundary_index
+#define BOUNDARY_SIZE boundary_size
+#else
#define BOUNDARY_INDEX 12
#define BOUNDARY_SIZE (1 << BOUNDARY_INDEX)
+#endif
/*
* Timing constants for killing subprocesses
@@ -131,7 +141,11 @@ APR_DECLARE(void) apr_allocator_destroy(apr_allocator_t *allocator)
ref = &allocator->free[index];
while ((node = *ref) != NULL) {
*ref = node->next;
+#if APR_ALLOCATOR_USES_MMAP
+ munmap(node, (node->index+1) << BOUNDARY_INDEX);
+#else
free(node);
+#endif
}
}
@@ -259,7 +273,7 @@ apr_memnode_t *allocator_alloc(apr_allocator_t *allocator, apr_size_t in_size)
allocator->max_index = max_index;
}
- allocator->current_free_index += node->index;
+ allocator->current_free_index += node->index + 1;
if (allocator->current_free_index > allocator->max_free_index)
allocator->current_free_index = allocator->max_free_index;
@@ -299,7 +313,7 @@ apr_memnode_t *allocator_alloc(apr_allocator_t *allocator, apr_size_t in_size)
if (node) {
*ref = node->next;
- allocator->current_free_index += node->index;
+ allocator->current_free_index += node->index + 1;
if (allocator->current_free_index > allocator->max_free_index)
allocator->current_free_index = allocator->max_free_index;
@@ -323,7 +337,12 @@ apr_memnode_t *allocator_alloc(apr_allocator_t *allocator, apr_size_t in_size)
/* If we haven't got a suitable node, malloc a new one
* and initialize it.
*/
+#if APR_ALLOCATOR_USES_MMAP
+ if ((node = mmap(NULL, size, PROT_READ|PROT_WRITE,
+ MAP_PRIVATE|MAP_ANON, -1, 0)) == MAP_FAILED)
+#else
if ((node = malloc(size)) == NULL)
+#endif
return NULL;
node->next = NULL;
@@ -358,7 +377,7 @@ void allocator_free(apr_allocator_t *allocator, apr_memnode_t *node)
index = node->index;
if (max_free_index != APR_ALLOCATOR_MAX_FREE_UNLIMITED
- && index > current_free_index) {
+ && index + 1 > current_free_index) {
node->next = freelist;
freelist = node;
}
@@ -371,8 +390,8 @@ void allocator_free(apr_allocator_t *allocator, apr_memnode_t *node)
max_index = index;
}
allocator->free[index] = node;
- if (current_free_index >= index)
- current_free_index -= index;
+ if (current_free_index >= index + 1)
+ current_free_index -= index + 1;
else
current_free_index = 0;
}
@@ -382,8 +401,8 @@ void allocator_free(apr_allocator_t *allocator, apr_memnode_t *node)
*/
node->next = allocator->free[0];
allocator->free[0] = node;
- if (current_free_index >= index)
- current_free_index -= index;
+ if (current_free_index >= index + 1)
+ current_free_index -= index + 1;
else
current_free_index = 0;
}
@@ -400,7 +419,11 @@ void allocator_free(apr_allocator_t *allocator, apr_memnode_t *node)
while (freelist != NULL) {
node = freelist;
freelist = node->next;
+#if APR_ALLOCATOR_USES_MMAP
+ munmap(node, (node->index+1) << BOUNDARY_INDEX);
+#else
free(node);
+#endif
}
}
@@ -530,7 +553,6 @@ static apr_file_t *file_stderr = NULL;
*/
static void run_cleanups(cleanup_t **c);
-static void run_child_cleanups(cleanup_t **c);
static void free_proc_chain(struct process_chain *procs);
#if APR_POOL_DEBUG
@@ -549,6 +571,14 @@ APR_DECLARE(apr_status_t) apr_pool_initialize(void)
if (apr_pools_initialized++)
return APR_SUCCESS;
+#if APR_ALLOCATOR_USES_MMAP && defined(_SC_PAGESIZE)
+ boundary_size = sysconf(_SC_PAGESIZE);
+ boundary_index = 12;
+ while ( (1 << boundary_index) < boundary_size)
+ boundary_index++;
+ boundary_size = (1 << boundary_index);
+#endif
+
if ((rv = apr_allocator_create(&global_allocator)) != APR_SUCCESS) {
apr_pools_initialized = 0;
return rv;
@@ -1336,6 +1366,14 @@ APR_DECLARE(apr_status_t) apr_pool_initialize(void)
if (apr_pools_initialized++)
return APR_SUCCESS;
+#if APR_ALLOCATOR_USES_MMAP && defined(_SC_PAGESIZE)
+ boundary_size = sysconf(_SC_PAGESIZE);
+ boundary_index = 12;
+ while ( (1 << boundary_index) < boundary_size)
+ boundary_index++;
+ boundary_size = (1 << boundary_index);
+#endif
+
/* Since the debug code works a bit differently then the
* regular pools code, we ask for a lock here. The regular
* pools code has got this lock embedded in the global
@@ -2310,6 +2348,8 @@ static void run_cleanups(cleanup_t **cref)
}
}
+#if !defined(WIN32) && !defined(OS2)
+
static void run_child_cleanups(cleanup_t **cref)
{
cleanup_t *c = *cref;
@@ -2331,20 +2371,28 @@ static void cleanup_pool_for_exec(apr_pool_t *p)
APR_DECLARE(void) apr_pool_cleanup_for_exec(void)
{
-#if !defined(WIN32) && !defined(OS2)
+ cleanup_pool_for_exec(global_pool);
+}
+
+#else /* !defined(WIN32) && !defined(OS2) */
+
+APR_DECLARE(void) apr_pool_cleanup_for_exec(void)
+{
/*
- * Don't need to do anything on NT or OS/2, because I
- * am actually going to spawn the new process - not
- * exec it. All handles that are not inheritable, will
- * be automajically closed. The only problem is with
- * file handles that are open, but there isn't much
- * I can do about that (except if the child decides
- * to go out and close them
+ * Don't need to do anything on NT or OS/2, because
+ * these platforms will spawn the new process - not
+ * fork for exec. All handles that are not inheritable,
+ * will be automajically closed. The only problem is
+ * with file handles that are open, but there isn't
+ * much that can be done about that (except if the
+ * child decides to go out and close them, or the
+ * developer quits opening them shared)
*/
- cleanup_pool_for_exec(global_pool);
-#endif /* !defined(WIN32) && !defined(OS2) */
+ return;
}
+#endif /* !defined(WIN32) && !defined(OS2) */
+
APR_DECLARE_NONSTD(apr_status_t) apr_pool_cleanup_null(void *data)
{
/* do nothing cleanup routine */
diff --git a/srclib/apr/misc/netware/libprews.c b/srclib/apr/misc/netware/libprews.c
index 624bf22c..6e37ccf1 100644
--- a/srclib/apr/misc/netware/libprews.c
+++ b/srclib/apr/misc/netware/libprews.c
@@ -16,12 +16,10 @@
#include <netware.h>
#include <library.h>
#include <nks/synch.h>
-#ifdef USE_WINSOCK
-#include "novsock2.h"
-#endif
#include "apr_pools.h"
#include "apr_private.h"
+#include "apr_arch_internal_time.h"
/* library-private data...*/
diff --git a/srclib/apr/misc/netware/start.c b/srclib/apr/misc/netware/start.c
index 1e5708d1..76817d96 100644
--- a/srclib/apr/misc/netware/start.c
+++ b/srclib/apr/misc/netware/start.c
@@ -22,8 +22,20 @@
#include "apr_arch_misc.h" /* for WSAHighByte / WSALowByte */
#include "apr_arch_proc_mutex.h" /* for apr_proc_mutex_unix_setup_lock() */
#include "apr_arch_internal_time.h"
+#include "apr_ldap.h" /* for apr_ldap_rebind_init() */
#ifdef USE_WINSOCK
+/* Prototypes missing from older NDKs */
+int WSAStartupRTags(WORD wVersionRequested,
+ LPWSADATA lpWSAData,
+ rtag_t WSAStartupRTag,
+ rtag_t WSPSKTRTag,
+ rtag_t lookUpServiceBeginRTag,
+ rtag_t WSAEventRTag,
+ rtag_t WSPCPRTag);
+
+int WSACleanupRTag(rtag_t rTag);
+
/*
** Resource tag signatures for using NetWare WinSock 2. These will no longer
** be needed by anyone once the new WSAStartupWithNlmHandle() is available
@@ -38,7 +50,6 @@
int (*WSAStartupWithNLMHandle)( WORD version, LPWSADATA data, void *handle ) = NULL;
int (*WSACleanupWithNLMHandle)( void *handle ) = NULL;
-apr_status_t apr_ldap_rebind_init(apr_pool_t *pool);
static int wsa_startup_with_handle (WORD wVersionRequested, LPWSADATA data, void *handle)
{
@@ -124,7 +135,6 @@ APR_DECLARE(apr_status_t) apr_app_initialize(int *argc,
APR_DECLARE(apr_status_t) apr_initialize(void)
{
apr_pool_t *pool;
- int err;
void *nlmhandle = getnlmhandle();
/* Register the NLM as using APR. If it is already
@@ -144,15 +154,18 @@ APR_DECLARE(apr_status_t) apr_initialize(void)
apr_pool_tag(pool, "apr_initilialize");
#ifdef USE_WINSOCK
- err = RegisterAppWithWinSock (nlmhandle);
-
- if (err) {
- return err;
+ {
+ int err;
+ if ((err = RegisterAppWithWinSock (nlmhandle))) {
+ return err;
+ }
}
#endif
apr_signal_init(pool);
+#if APR_HAS_LDAP
apr_ldap_rebind_init(pool);
+#endif
return APR_SUCCESS;
}
diff --git a/srclib/apr/misc/unix/errorcodes.c b/srclib/apr/misc/unix/errorcodes.c
index 4764998c..75567c24 100644
--- a/srclib/apr/misc/unix/errorcodes.c
+++ b/srclib/apr/misc/unix/errorcodes.c
@@ -189,56 +189,56 @@ static const struct {
apr_status_t code;
const char *msg;
} gaErrorList[] = {
- WSAEINTR, "Interrupted system call",
- WSAEBADF, "Bad file number",
- WSAEACCES, "Permission denied",
- WSAEFAULT, "Bad address",
- WSAEINVAL, "Invalid argument",
- WSAEMFILE, "Too many open sockets",
- WSAEWOULDBLOCK, "Operation would block",
- WSAEINPROGRESS, "Operation now in progress",
- WSAEALREADY, "Operation already in progress",
- WSAENOTSOCK, "Socket operation on non-socket",
- WSAEDESTADDRREQ, "Destination address required",
- WSAEMSGSIZE, "Message too long",
- WSAEPROTOTYPE, "Protocol wrong type for socket",
- WSAENOPROTOOPT, "Bad protocol option",
- WSAEPROTONOSUPPORT, "Protocol not supported",
- WSAESOCKTNOSUPPORT, "Socket type not supported",
- WSAEOPNOTSUPP, "Operation not supported on socket",
- WSAEPFNOSUPPORT, "Protocol family not supported",
- WSAEAFNOSUPPORT, "Address family not supported",
- WSAEADDRINUSE, "Address already in use",
- WSAEADDRNOTAVAIL, "Can't assign requested address",
- WSAENETDOWN, "Network is down",
- WSAENETUNREACH, "Network is unreachable",
- WSAENETRESET, "Net connection reset",
- WSAECONNABORTED, "Software caused connection abort",
- WSAECONNRESET, "Connection reset by peer",
- WSAENOBUFS, "No buffer space available",
- WSAEISCONN, "Socket is already connected",
- WSAENOTCONN, "Socket is not connected",
- WSAESHUTDOWN, "Can't send after socket shutdown",
- WSAETOOMANYREFS, "Too many references, can't splice",
- WSAETIMEDOUT, "Connection timed out",
- WSAECONNREFUSED, "Connection refused",
- WSAELOOP, "Too many levels of symbolic links",
- WSAENAMETOOLONG, "File name too long",
- WSAEHOSTDOWN, "Host is down",
- WSAEHOSTUNREACH, "No route to host",
- WSAENOTEMPTY, "Directory not empty",
- WSAEPROCLIM, "Too many processes",
- WSAEUSERS, "Too many users",
- WSAEDQUOT, "Disc quota exceeded",
- WSAESTALE, "Stale NFS file handle",
- WSAEREMOTE, "Too many levels of remote in path",
- WSASYSNOTREADY, "Network system is unavailable",
- WSAVERNOTSUPPORTED, "Winsock version out of range",
- WSANOTINITIALISED, "WSAStartup not yet called",
- WSAEDISCON, "Graceful shutdown in progress",
- WSAHOST_NOT_FOUND, "Host not found",
- WSANO_DATA, "No host data of that type was found",
- 0, NULL
+ {WSAEINTR, "Interrupted system call"},
+ {WSAEBADF, "Bad file number"},
+ {WSAEACCES, "Permission denied"},
+ {WSAEFAULT, "Bad address"},
+ {WSAEINVAL, "Invalid argument"},
+ {WSAEMFILE, "Too many open sockets"},
+ {WSAEWOULDBLOCK, "Operation would block"},
+ {WSAEINPROGRESS, "Operation now in progress"},
+ {WSAEALREADY, "Operation already in progress"},
+ {WSAENOTSOCK, "Socket operation on non-socket"},
+ {WSAEDESTADDRREQ, "Destination address required"},
+ {WSAEMSGSIZE, "Message too long"},
+ {WSAEPROTOTYPE, "Protocol wrong type for socket"},
+ {WSAENOPROTOOPT, "Bad protocol option"},
+ {WSAEPROTONOSUPPORT, "Protocol not supported"},
+ {WSAESOCKTNOSUPPORT, "Socket type not supported"},
+ {WSAEOPNOTSUPP, "Operation not supported on socket"},
+ {WSAEPFNOSUPPORT, "Protocol family not supported"},
+ {WSAEAFNOSUPPORT, "Address family not supported"},
+ {WSAEADDRINUSE, "Address already in use"},
+ {WSAEADDRNOTAVAIL, "Can't assign requested address"},
+ {WSAENETDOWN, "Network is down"},
+ {WSAENETUNREACH, "Network is unreachable"},
+ {WSAENETRESET, "Net connection reset"},
+ {WSAECONNABORTED, "Software caused connection abort"},
+ {WSAECONNRESET, "Connection reset by peer"},
+ {WSAENOBUFS, "No buffer space available"},
+ {WSAEISCONN, "Socket is already connected"},
+ {WSAENOTCONN, "Socket is not connected"},
+ {WSAESHUTDOWN, "Can't send after socket shutdown"},
+ {WSAETOOMANYREFS, "Too many references, can't splice"},
+ {WSAETIMEDOUT, "Connection timed out"},
+ {WSAECONNREFUSED, "Connection refused"},
+ {WSAELOOP, "Too many levels of symbolic links"},
+ {WSAENAMETOOLONG, "File name too long"},
+ {WSAEHOSTDOWN, "Host is down"},
+ {WSAEHOSTUNREACH, "No route to host"},
+ {WSAENOTEMPTY, "Directory not empty"},
+ {WSAEPROCLIM, "Too many processes"},
+ {WSAEUSERS, "Too many users"},
+ {WSAEDQUOT, "Disc quota exceeded"},
+ {WSAESTALE, "Stale NFS file handle"},
+ {WSAEREMOTE, "Too many levels of remote in path"},
+ {WSASYSNOTREADY, "Network system is unavailable"},
+ {WSAVERNOTSUPPORTED, "Winsock version out of range"},
+ {WSANOTINITIALISED, "WSAStartup not yet called"},
+ {WSAEDISCON, "Graceful shutdown in progress"},
+ {WSAHOST_NOT_FOUND, "Host not found"},
+ {WSANO_DATA, "No host data of that type was found"},
+ {0, NULL}
};
diff --git a/srclib/apr/misc/win32/internal.c b/srclib/apr/misc/win32/internal.c
index edd7f0a0..03362cf5 100644
--- a/srclib/apr/misc/win32/internal.c
+++ b/srclib/apr/misc/win32/internal.c
@@ -96,6 +96,6 @@ int apr_wastrtoastr(char const * const * *retarr,
}
}
- *retarr = newarr;
+ *retarr = (char const * const *)newarr;
return args;
}
diff --git a/srclib/apr/misc/win32/misc.c b/srclib/apr/misc/win32/misc.c
index a95a2219..3f125244 100644
--- a/srclib/apr/misc/win32/misc.c
+++ b/srclib/apr/misc/win32/misc.c
@@ -35,7 +35,7 @@ apr_status_t apr_get_oslevel(apr_oslevel_e *level)
{
static unsigned int servpack = 0;
TCHAR *pservpack;
- if (pservpack = oslev.szCSDVersion) {
+ if ((pservpack = oslev.szCSDVersion)) {
while (*pservpack && !apr_isdigit(*pservpack)) {
pservpack++;
}
@@ -213,8 +213,8 @@ APR_DECLARE_NONSTD(HANDLE) apr_dbg_log(char* fn, HANDLE ha, char* fl, int ln,
sbuf[1023] = '\0';
if (!fh) {
(GetModuleFileNameA)(NULL, sbuf, 250);
- sprintf(strchr(sbuf, '\0'), ".%d",
- (GetCurrentProcessId)());
+ sprintf(strchr(sbuf, '\0'), ".%u",
+ (unsigned int)(GetCurrentProcessId)());
fh = (CreateFileA)(sbuf, GENERIC_WRITE, 0, NULL,
CREATE_ALWAYS, 0, NULL);
(InitializeCriticalSection)(&cs);
@@ -223,7 +223,8 @@ APR_DECLARE_NONSTD(HANDLE) apr_dbg_log(char* fn, HANDLE ha, char* fl, int ln,
if (!nh) {
(sprintf)(sbuf, "%p %08x %08x %s() %s:%d\n",
- ha, seq, GetCurrentThreadId(), fn, fl, ln);
+ ha, (unsigned int)seq, (unsigned int)GetCurrentThreadId(),
+ fn, fl, ln);
(EnterCriticalSection)(&cs);
(WriteFile)(fh, sbuf, (DWORD)strlen(sbuf), &wrote, NULL);
(LeaveCriticalSection)(&cs);
@@ -250,7 +251,8 @@ APR_DECLARE_NONSTD(HANDLE) apr_dbg_log(char* fn, HANDLE ha, char* fl, int ln,
}
}
(sprintf)(sbuf, "%p %08x %08x %s(%s) %s:%d\n",
- *hv, seq, GetCurrentThreadId(),
+ *hv, (unsigned int)seq,
+ (unsigned int)GetCurrentThreadId(),
fn, dsc, fl, ln);
(WriteFile)(fh, sbuf, (DWORD)strlen(sbuf), &wrote, NULL);
} while (--nh);
diff --git a/srclib/apr/misc/win32/rand.c b/srclib/apr/misc/win32/rand.c
index 7161bfbb..cb5a6537 100644
--- a/srclib/apr/misc/win32/rand.c
+++ b/srclib/apr/misc/win32/rand.c
@@ -15,6 +15,7 @@
*/
#include "apr.h"
+#include <rpc.h>
#include <wincrypt.h>
#include "apr_private.h"
#include "apr_general.h"
diff --git a/srclib/apr/misc/win32/start.c b/srclib/apr/misc/win32/start.c
index 22820e8e..eb77d4a4 100644
--- a/srclib/apr/misc/win32/start.c
+++ b/srclib/apr/misc/win32/start.c
@@ -45,7 +45,9 @@ static int warrsztoastr(const char * const * *retarr,
apr_size_t totlen;
apr_size_t newlen;
apr_size_t wsize;
- char **newarr;
+ char **env;
+ char *pstrs;
+ char *strs;
int arg;
if (args < 0) {
@@ -55,37 +57,40 @@ static int warrsztoastr(const char * const * *retarr,
}
wsize = 1 + wch - arrsz;
- newarr = apr_malloc_dbg((args + 1) * sizeof(char *),
- __FILE__, __LINE__);
-
- /* This is a safe max allocation, we will realloc after
- * processing and return the excess to the free store.
+ /* This is a safe max allocation, we will alloc each
+ * string exactly after processing and return this
+ * temporary buffer to the free store.
* 3 ucs bytes hold any single wchar_t value (16 bits)
* 4 ucs bytes will hold a wchar_t pair value (20 bits)
*/
newlen = totlen = wsize * 3 + 1;
- newarr[0] = apr_malloc_dbg(newlen * sizeof(char),
- __FILE__, __LINE__);
+ pstrs = strs = apr_malloc_dbg(newlen * sizeof(char),
+ __FILE__, __LINE__);
- (void)apr_conv_ucs2_to_utf8(arrsz, &wsize,
- newarr[0], &newlen);
+ (void)apr_conv_ucs2_to_utf8(arrsz, &wsize, strs, &newlen);
assert(newlen && !wsize);
- /* Return to the free store if the heap realloc is the least bit optimized
- */
- newarr[0] = apr_realloc_dbg(newarr[0], totlen - newlen,
- __FILE__, __LINE__);
- for (arg = 1; arg < args; ++arg) {
- newarr[arg] = newarr[arg - 1] + 2;
- while (*(newarr[arg]++)) {
- /* continue */;
- }
+ *retarr = env = apr_malloc_dbg((args + 1) * sizeof(char*),
+ __FILE__, __LINE__);
+ for (arg = 0; arg < args; ++arg) {
+ char* p = pstrs;
+ int len = 0;
+ while (*p++)
+ ++len;
+ len += 1;
+
+ *env = apr_malloc_dbg(len * sizeof(char),
+ __FILE__, __LINE__);
+ memcpy(*env, pstrs, len * sizeof(char));
+
+ pstrs += len;
+ ++env;
}
- newarr[arg] = NULL;
+ *env = NULL;
+ free(strs);
- *retarr = newarr;
return args;
}
#endif
diff --git a/srclib/apr/mmap/win32/mmap.c b/srclib/apr/mmap/win32/mmap.c
index 13441770..d5d88aeb 100644
--- a/srclib/apr/mmap/win32/mmap.c
+++ b/srclib/apr/mmap/win32/mmap.c
@@ -29,7 +29,6 @@ static apr_status_t mmap_cleanup(void *themmap)
{
apr_mmap_t *mm = themmap;
apr_mmap_t *next = APR_RING_NEXT(mm,link);
- apr_status_t rv = 0;
/* we no longer refer to the mmaped region */
APR_RING_REMOVE(mm,link);
diff --git a/srclib/apr/network_io/unix/sockaddr.c b/srclib/apr/network_io/unix/sockaddr.c
index 335fa71f..ed4c474d 100644
--- a/srclib/apr/network_io/unix/sockaddr.c
+++ b/srclib/apr/network_io/unix/sockaddr.c
@@ -58,6 +58,15 @@ struct apr_ipsubnet_t {
#define GETHOSTBYNAME_BUFLEN 512
#endif
+#ifdef _AIX
+/* Some levels of AIX getaddrinfo() don't like servname = "0", so
+ * set servname to "1" when port is 0 and fix it up later.
+ */
+#define AIX_SERVNAME_HACK 1
+#else
+#define AIX_SERVNAME_HACK 0
+#endif
+
#ifdef _WIN32_WCE
/* XXX: BS solution. Need an HAVE_GETSERVBYNAME and actually
* do something here, to provide the obvious proto mappings.
@@ -138,6 +147,11 @@ void apr_sockaddr_vars_set(apr_sockaddr_t *addr, int family, apr_port_t port)
addr->sa.sin.sin_port = htons(port);
addr->port = port;
}
+#if AIX_SERVNAME_HACK
+ else {
+ addr->sa.sin.sin_port = htons(port);
+ }
+#endif
if (family == APR_INET) {
addr->salen = sizeof(struct sockaddr_in);
@@ -331,16 +345,12 @@ static apr_status_t call_resolver(apr_sockaddr_t **sa,
hints.ai_flags |= AI_NUMERICHOST;
#endif
#else
-#ifdef _AIX
- /* But current AIX getaddrinfo() doesn't like servname = "0";
- * the "1" won't hurt since we use the port parameter to fill
- * in the returned socket addresses later
- */
+#if AIX_SERVNAME_HACK
if (!port) {
servname = "1";
}
else
-#endif /* _AIX */
+#endif /* AIX_SERVNAME_HACK */
servname = apr_itoa(p, port);
#endif /* OSF1 */
}
@@ -353,12 +363,13 @@ static apr_status_t call_resolver(apr_sockaddr_t **sa,
}
#endif
if (error) {
-#ifndef WIN32
+#if defined(WIN32)
+ return apr_get_netos_error();
+#else
if (error == EAI_SYSTEM) {
return errno;
}
else
-#endif
{
/* issues with representing this with APR's error scheme:
* glibc uses negative values for these numbers, perhaps so
@@ -370,6 +381,7 @@ static apr_status_t call_resolver(apr_sockaddr_t **sa,
#endif
return error + APR_OS_START_EAIERR;
}
+#endif /* WIN32 */
}
prev_sa = NULL;
diff --git a/srclib/apr/network_io/unix/sockets.c b/srclib/apr/network_io/unix/sockets.c
index 5552460e..748dd707 100644
--- a/srclib/apr/network_io/unix/sockets.c
+++ b/srclib/apr/network_io/unix/sockets.c
@@ -222,7 +222,13 @@ apr_status_t apr_socket_accept(apr_socket_t **new, apr_socket_t *sock,
}
#endif
alloc_socket(new, connection_context);
- set_socket_vars(*new, sock->local_addr->sa.sin.sin_family, SOCK_STREAM, sock->protocol);
+
+ /* Set up socket variables -- note that it may be possible for
+ * *new to be an AF_INET socket when sock is AF_INET6 in some
+ * dual-stack configurations, so ensure that the remote_/local_addr
+ * structures are adjusted for the family of the accepted
+ * socket: */
+ set_socket_vars(*new, sa.sa.sin.sin_family, SOCK_STREAM, sock->protocol);
#ifndef HAVE_POLL
(*new)->connected = 1;
@@ -338,18 +344,18 @@ apr_status_t apr_socket_connect(apr_socket_t *sock, apr_sockaddr_t *sa)
#endif /* SO_ERROR */
}
- if (rc == -1 && errno != EISCONN) {
- return errno;
- }
if (memcmp(sa->ipaddr_ptr, generic_inaddr_any, sa->ipaddr_len)) {
/* A real remote address was passed in. If the unspecified
* address was used, the actual remote addr will have to be
* determined using getpeername() if required. */
- /* ### this should probably be a structure copy + fixup as per
- * _accept()'s handling of local_addr */
- sock->remote_addr = sa;
sock->remote_addr_unknown = 0;
+
+ /* Copy the address structure details in. */
+ sock->remote_addr->sa = sa->sa;
+ sock->remote_addr->salen = sa->salen;
+ /* Adjust ipaddr_ptr et al. */
+ apr_sockaddr_vars_set(sock->remote_addr, sa->family, sa->port);
}
if (sock->local_addr->port == 0) {
@@ -364,6 +370,11 @@ apr_status_t apr_socket_connect(apr_socket_t *sock, apr_sockaddr_t *sa)
*/
sock->local_interface_unknown = 1;
}
+
+ if (rc == -1 && errno != EISCONN) {
+ return errno;
+ }
+
#ifndef HAVE_POLL
sock->connected=1;
#endif
diff --git a/srclib/apr/network_io/win32/sendrecv.c b/srclib/apr/network_io/win32/sendrecv.c
index 80adccdd..3fa0c8dd 100644
--- a/srclib/apr/network_io/win32/sendrecv.c
+++ b/srclib/apr/network_io/win32/sendrecv.c
@@ -210,6 +210,7 @@ APR_DECLARE(apr_status_t) apr_socket_recvfrom(apr_sockaddr_t *from,
}
+#if APR_HAS_SENDFILE
static apr_status_t collapse_iovec(char **off, apr_size_t *len,
struct iovec *iovec, int numvec,
char *buf, apr_size_t buflen)
@@ -240,7 +241,6 @@ static apr_status_t collapse_iovec(char **off, apr_size_t *len,
}
-#if APR_HAS_SENDFILE
/*
* apr_status_t apr_socket_sendfile(apr_socket_t *, apr_file_t *, apr_hdtr_t *,
* apr_off_t *, apr_size_t *, apr_int32_t flags)
@@ -266,7 +266,6 @@ APR_DECLARE(apr_status_t) apr_socket_sendfile(apr_socket_t *sock,
DWORD dwFlags = 0;
apr_size_t nbytes;
TRANSMIT_FILE_BUFFERS tfb, *ptfb = NULL;
- int ptr = 0;
apr_size_t bytes_to_send; /* Bytes to send out of the file (not including headers) */
int disconnected = 0;
int sendv_trailers = 0;
diff --git a/srclib/apr/network_io/win32/sockets.c b/srclib/apr/network_io/win32/sockets.c
index 88a362f7..1ed58d09 100644
--- a/srclib/apr/network_io/win32/sockets.c
+++ b/srclib/apr/network_io/win32/sockets.c
@@ -51,6 +51,12 @@ static void set_socket_vars(apr_socket_t *sock, int family, int type, int protoc
sock->protocol = protocol;
apr_sockaddr_vars_set(sock->local_addr, family, 0);
apr_sockaddr_vars_set(sock->remote_addr, family, 0);
+#if APR_HAVE_IPV6
+ /* hard-coded behavior for older Windows IPv6 */
+ if (apr_os_level < APR_WIN_VISTA && family == AF_INET6) {
+ apr_set_option(sock, APR_IPV6_V6ONLY, 1);
+ }
+#endif
}
static void alloc_socket(apr_socket_t **new, apr_pool_t *p)
{
@@ -81,7 +87,9 @@ APR_DECLARE(apr_status_t) apr_socket_create(apr_socket_t **new, int family,
int type, int protocol,
apr_pool_t *cont)
{
+#if APR_HAVE_IPV6
int downgrade = (family == AF_UNSPEC);
+#endif
if (family == AF_UNSPEC) {
#if APR_HAVE_IPV6
@@ -251,6 +259,7 @@ APR_DECLARE(apr_status_t) apr_socket_accept(apr_socket_t **new,
(*new)->remote_addr->salen = sizeof((*new)->remote_addr->sa);
memcpy (&(*new)->remote_addr->sa, &sa, salen);
*(*new)->local_addr = *sock->local_addr;
+ (*new)->remote_addr_unknown = 0;
/* The above assignment just overwrote the pool entry. Setting the local_addr
pool for the accepted socket back to what it should be. Otherwise all
diff --git a/srclib/apr/network_io/win32/sockopt.c b/srclib/apr/network_io/win32/sockopt.c
index c8e670fa..5914dfa8 100644
--- a/srclib/apr/network_io/win32/sockopt.c
+++ b/srclib/apr/network_io/win32/sockopt.c
@@ -15,12 +15,21 @@
*/
#include "apr_arch_networkio.h"
+#include "apr_arch_misc.h" /* apr_os_level */
#include "apr_network_io.h"
#include "apr_general.h"
#include "apr_strings.h"
#include <string.h>
-apr_status_t soblock(SOCKET sd)
+/* IPV6_V6ONLY is missing from pre-Windows 2008 SDK as well as MinGW
+ * (at least up through 1.0.16).
+ * Runtime support is a separate issue.
+ */
+#ifndef IPV6_V6ONLY
+#define IPV6_V6ONLY 27
+#endif
+
+static apr_status_t soblock(SOCKET sd)
{
u_long zero = 0;
@@ -30,7 +39,7 @@ apr_status_t soblock(SOCKET sd)
return APR_SUCCESS;
}
-apr_status_t sononblock(SOCKET sd)
+static apr_status_t sononblock(SOCKET sd)
{
u_long one = 1;
@@ -195,7 +204,17 @@ APR_DECLARE(apr_status_t) apr_socket_opt_set(apr_socket_t *sock,
}
break;
case APR_IPV6_V6ONLY:
-#if APR_HAVE_IPV6 && defined(IPV6_V6ONLY)
+#if APR_HAVE_IPV6
+ if (apr_os_level < APR_WIN_VISTA &&
+ sock->local_addr->family == AF_INET6) {
+ /* apr_set_option() called at socket creation */
+ if (on) {
+ return APR_SUCCESS;
+ }
+ else {
+ return APR_ENOTIMPL;
+ }
+ }
/* we don't know the initial setting of this option,
* so don't check sock->options since that optimization
* won't work
diff --git a/srclib/apr/passwd/apr_getpass.c b/srclib/apr/passwd/apr_getpass.c
index 3deb08fc..f31cdafc 100644
--- a/srclib/apr/passwd/apr_getpass.c
+++ b/srclib/apr/passwd/apr_getpass.c
@@ -34,9 +34,13 @@
#include <unistd.h>
#endif
#if APR_HAVE_CONIO_H
+#ifdef _MSC_VER
#pragma warning(disable: 4032)
#include <conio.h>
#pragma warning(default: 4032)
+#else
+#include <conio.h>
+#endif
#endif
#if APR_HAVE_STDLIB_H
#include <stdlib.h>
@@ -49,8 +53,12 @@
#endif
/* Disable getpass() support when PASS_MAX is defined and is "small",
- * for an arbitrary definition of "small". */
-#if defined(HAVE_GETPASS) && defined(PASS_MAX) && PASS_MAX < 32
+ * for an arbitrary definition of "small".
+ * HP-UX truncates passwords (PR49496) so we disable getpass() for
+ * this platform too.
+ */
+#if defined(HAVE_GETPASS) && \
+ (defined(PASS_MAX) && PASS_MAX < 32) || defined(__hpux) || defined(__hpux__)
#undef HAVE_GETPASS
#endif
diff --git a/srclib/apr/poll/unix/poll.c b/srclib/apr/poll/unix/poll.c
index 3727b5b8..7d157367 100644
--- a/srclib/apr/poll/unix/poll.c
+++ b/srclib/apr/poll/unix/poll.c
@@ -240,12 +240,24 @@ static apr_status_t impl_pollset_poll(apr_pollset_t *pollset,
{
int ret;
apr_status_t rv = APR_SUCCESS;
- apr_uint32_t i, j;
+#ifdef WIN32
+ apr_interval_time_t orig_timeout = timeout;
+#endif
if (timeout > 0) {
timeout /= 1000;
}
#ifdef WIN32
+ /* WSAPoll() requires at least one socket. */
+ if (pollset->nelts == 0) {
+ *num = 0;
+ if (orig_timeout > 0) {
+ apr_sleep(orig_timeout);
+ return APR_TIMEUP;
+ }
+ return APR_SUCCESS;
+ }
+
ret = WSAPoll(pollset->p->pollset, pollset->nelts, (int)timeout);
#else
ret = poll(pollset->p->pollset, pollset->nelts, timeout);
@@ -258,6 +270,8 @@ static apr_status_t impl_pollset_poll(apr_pollset_t *pollset,
return APR_TIMEUP;
}
else {
+ apr_uint32_t i, j;
+
for (i = 0, j = 0; i < pollset->nelts; i++) {
if (pollset->p->pollset[i].revents != 0) {
/* Check if the polled descriptor is our
@@ -305,9 +319,8 @@ static apr_status_t impl_pollcb_create(apr_pollcb_t *pollcb,
apr_uint32_t flags)
{
#if APR_HAS_THREADS
- return APR_ENOTIMPL;
-#endif
-
+ return APR_ENOTIMPL;
+#else
pollcb->fd = -1;
#ifdef WIN32
if (!APR_HAVE_LATE_DLL_FUNC(WSAPoll)) {
@@ -319,6 +332,7 @@ static apr_status_t impl_pollcb_create(apr_pollcb_t *pollcb,
pollcb->copyset = apr_palloc(p, size * sizeof(apr_pollfd_t *));
return APR_SUCCESS;
+#endif
}
static apr_status_t impl_pollcb_add(apr_pollcb_t *pollcb,
diff --git a/srclib/apr/poll/unix/pollset.c b/srclib/apr/poll/unix/pollset.c
index 5ad70c99..1a7396b4 100644
--- a/srclib/apr/poll/unix/pollset.c
+++ b/srclib/apr/poll/unix/pollset.c
@@ -33,31 +33,23 @@ static apr_pollset_method_e pollset_default_method = POLLSET_DEFAULT_METHOD;
#if !APR_FILES_AS_SOCKETS
#if defined (WIN32)
-extern apr_status_t
-apr_file_socket_pipe_create(apr_file_t **in,
- apr_file_t **out,
- apr_pool_t *p);
-
-extern apr_status_t
-apr_file_socket_pipe_close(apr_file_t *file);
-
/* Create a dummy wakeup socket pipe for interrupting the poller
*/
static apr_status_t create_wakeup_pipe(apr_pollset_t *pollset)
{
apr_status_t rv;
- apr_pollfd_t fd;
if ((rv = apr_file_socket_pipe_create(&pollset->wakeup_pipe[0],
&pollset->wakeup_pipe[1],
pollset->pool)) != APR_SUCCESS)
return rv;
- fd.reqevents = APR_POLLIN;
- fd.desc_type = APR_POLL_FILE;
- fd.desc.f = pollset->wakeup_pipe[0];
- /* Add the pipe to the pollset
- */
- return apr_pollset_add(pollset, &fd);
+
+ pollset->wakeup_pfd.p = pollset->pool;
+ pollset->wakeup_pfd.reqevents = APR_POLLIN;
+ pollset->wakeup_pfd.desc_type = APR_POLL_FILE;
+ pollset->wakeup_pfd.desc.f = pollset->wakeup_pipe[0];
+
+ return apr_pollset_add(pollset, &pollset->wakeup_pfd);
}
#else /* !WIN32 */
@@ -79,15 +71,16 @@ static apr_status_t apr_file_socket_pipe_close(apr_file_t *file)
static apr_status_t create_wakeup_pipe(apr_pollset_t *pollset)
{
apr_status_t rv;
- apr_pollfd_t fd;
if ((rv = apr_file_pipe_create(&pollset->wakeup_pipe[0],
&pollset->wakeup_pipe[1],
pollset->pool)) != APR_SUCCESS)
return rv;
- fd.reqevents = APR_POLLIN;
- fd.desc_type = APR_POLL_FILE;
- fd.desc.f = pollset->wakeup_pipe[0];
+
+ pollset->wakeup_pfd.p = pollset->pool;
+ pollset->wakeup_pfd.reqevents = APR_POLLIN;
+ pollset->wakeup_pfd.desc_type = APR_POLL_FILE;
+ pollset->wakeup_pfd.desc.f = pollset->wakeup_pipe[0];
{
int flags;
@@ -110,9 +103,7 @@ static apr_status_t create_wakeup_pipe(apr_pollset_t *pollset)
return errno;
}
- /* Add the pipe to the pollset
- */
- return apr_pollset_add(pollset, &fd);
+ return apr_pollset_add(pollset, &pollset->wakeup_pfd);
}
#endif /* !APR_FILES_AS_SOCKETS */
@@ -125,7 +116,7 @@ void apr_pollset_drain_wakeup_pipe(apr_pollset_t *pollset)
while (apr_file_read(pollset->wakeup_pipe[0], rb, &nr) == APR_SUCCESS) {
/* Although we write just one byte to the other end of the pipe
- * during wakeup, multiple treads could call the wakeup.
+ * during wakeup, multiple threads could call the wakeup.
* So simply drain out from the input side of the pipe all
* the data.
*/
@@ -272,6 +263,9 @@ APR_DECLARE(apr_status_t) apr_pollset_create_ex(apr_pollset_t **ret_pollset,
}
pollset->provider = provider;
}
+ else if (rv != APR_SUCCESS) {
+ return rv;
+ }
if (flags & APR_POLLSET_WAKEABLE) {
/* Create wakeup pipe */
if ((rv = create_wakeup_pipe(pollset)) != APR_SUCCESS) {
diff --git a/srclib/apr/poll/unix/select.c b/srclib/apr/poll/unix/select.c
index 9288de00..61a064f4 100644
--- a/srclib/apr/poll/unix/select.c
+++ b/srclib/apr/poll/unix/select.c
@@ -41,6 +41,21 @@ APR_DECLARE(apr_status_t) apr_poll(apr_pollfd_t *aprset, int num,
apr_datatype_e set_type = APR_NO_DESC;
#endif
+#ifdef WIN32
+ /* On Win32, select() must be presented with at least one socket to
+ * poll on, or select() will return WSAEINVAL. So, we'll just
+ * short-circuit and bail now.
+ */
+ if (num == 0) {
+ (*nsds) = 0;
+ if (timeout > 0) {
+ apr_sleep(timeout);
+ return APR_TIMEUP;
+ }
+ return APR_SUCCESS;
+ }
+#endif
+
if (timeout < 0) {
tvptr = NULL;
}
@@ -339,6 +354,10 @@ static apr_status_t impl_pollset_poll(apr_pollset_t *pollset,
*/
if (pollset->nelts == 0) {
(*num) = 0;
+ if (timeout > 0) {
+ apr_sleep(timeout);
+ return APR_TIMEUP;
+ }
return APR_SUCCESS;
}
#endif
diff --git a/srclib/apr/shmem/unix/shm.c b/srclib/apr/shmem/unix/shm.c
index e123ab51..80d56894 100644
--- a/srclib/apr/shmem/unix/shm.c
+++ b/srclib/apr/shmem/unix/shm.c
@@ -304,7 +304,7 @@ APR_DECLARE(apr_status_t) apr_shm_create(apr_shm_t **m,
/* FIXME: APR_OS_DEFAULT is too permissive, switch to 600 I think. */
status = apr_file_open(&file, filename,
- APR_WRITE | APR_CREATE | APR_EXCL,
+ APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_EXCL,
APR_OS_DEFAULT, pool);
if (status != APR_SUCCESS) {
return status;
@@ -378,7 +378,7 @@ APR_DECLARE(apr_status_t) apr_shm_remove(const char *filename,
return APR_SUCCESS;
#elif APR_USE_SHMEM_SHMGET
/* Presume that the file already exists; just open for writing */
- status = apr_file_open(&file, filename, APR_WRITE,
+ status = apr_file_open(&file, filename, APR_FOPEN_WRITE,
APR_OS_DEFAULT, pool);
if (status) {
return status;
@@ -522,7 +522,7 @@ APR_DECLARE(apr_status_t) apr_shm_attach(apr_shm_t **m,
new_m = apr_palloc(pool, sizeof(apr_shm_t));
status = apr_file_open(&file, filename,
- APR_READ, APR_OS_DEFAULT, pool);
+ APR_FOPEN_READ, APR_OS_DEFAULT, pool);
if (status != APR_SUCCESS) {
return status;
}
diff --git a/srclib/apr/strings/apr_fnmatch.c b/srclib/apr/strings/apr_fnmatch.c
index aa250ecd..c1c0e4af 100644
--- a/srclib/apr/strings/apr_fnmatch.c
+++ b/srclib/apr/strings/apr_fnmatch.c
@@ -1,50 +1,58 @@
-/*
- * Copyright (c) 1989, 1993, 1994
- * The Regents of the University of California. All rights reserved.
+/* 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
*
- * This code is derived from software contributed to Berkeley by
- * Guido van Rossum.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
+ * 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.
+ */
-#if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "@(#)fnmatch.c 8.2 (Berkeley) 4/16/94";
-#endif /* LIBC_SCCS and not lint */
-/*
- * Function fnmatch() as specified in POSIX 1003.2-1992, section B.6.
- * Compares a filename or pathname to a pattern.
+/* Derived from The Open Group Base Specifications Issue 7, IEEE Std 1003.1-2008
+ * as described in;
+ * http://pubs.opengroup.org/onlinepubs/9699919799/functions/fnmatch.html
+ *
+ * Filename pattern matches defined in section 2.13, "Pattern Matching Notation"
+ * from chapter 2. "Shell Command Language"
+ * http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_13
+ * where; 1. A bracket expression starting with an unquoted <circumflex> '^'
+ * character CONTINUES to specify a non-matching list; 2. an explicit <period> '.'
+ * in a bracket expression matching list, e.g. "[.abc]" does NOT match a leading
+ * <period> in a filename; 3. a <left-square-bracket> '[' which does not introduce
+ * a valid bracket expression is treated as an ordinary character; 4. a differing
+ * number of consecutive slashes within pattern and string will NOT match;
+ * 5. a trailing '\' in FNM_ESCAPE mode is treated as an ordinary '\' character.
+ *
+ * Bracket expansion defined in section 9.3.5, "RE Bracket Expression",
+ * from chapter 9, "Regular Expressions"
+ * http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03_05
+ * with no support for collating symbols, equivalence class expressions or
+ * character class expressions. A partial range expression with a leading
+ * hyphen following a valid range expression will match only the ordinary
+ * <hyphen> and the ending character (e.g. "[a-m-z]" will match characters
+ * 'a' through 'm', a <hyphen> '-', or a 'z').
+ *
+ * NOTE: Only POSIX/C single byte locales are correctly supported at this time.
+ * Notably, non-POSIX locales with FNM_CASEFOLD produce undefined results,
+ * particularly in ranges of mixed case (e.g. "[A-z]") or spanning alpha and
+ * nonalpha characters within a range.
+ *
+ * XXX comments below indicate porting required for multi-byte character sets
+ * and non-POSIX locale collation orders; requires mbr* APIs to track shift
+ * state of pattern and string (rewinding pattern and string repeatedly).
+ *
+ * Certain parts of the code assume 0x00-0x3F are unique with any MBCS (e.g.
+ * UTF-8, SHIFT-JIS, etc). Any implementation allowing '\' as an alternate
+ * path delimiter must be aware that 0x5C is NOT unique within SHIFT-JIS.
*/
-#ifndef WIN32
-#include "apr_private.h"
-#endif
+
#include "apr_file_info.h"
#include "apr_fnmatch.h"
#include "apr_tables.h"
@@ -55,196 +63,377 @@ static char sccsid[] = "@(#)fnmatch.c 8.2 (Berkeley) 4/16/94";
# include <ctype.h>
#endif
-#define EOS '\0'
-static const char *rangematch(const char *, int, int);
-
-APR_DECLARE(apr_status_t) apr_fnmatch(const char *pattern, const char *string, int flags)
+/* Most MBCS/collation/case issues handled here. Wildcard '*' is not handled.
+ * EOS '\0' and the FNM_PATHNAME '/' delimiters are not advanced over,
+ * however the "\/" sequence is advanced to '/'.
+ *
+ * Both pattern and string are **char to support pointer increment of arbitrary
+ * multibyte characters for the given locale, in a later iteration of this code
+ */
+static APR_INLINE int fnmatch_ch(const char **pattern, const char **string, int flags)
{
- const char *stringstart;
- char c, test;
-
- for (stringstart = string;;) {
- switch (c = *pattern++) {
- case EOS:
- return (*string == EOS ? APR_SUCCESS : APR_FNM_NOMATCH);
- case '?':
- if (*string == EOS) {
- return (APR_FNM_NOMATCH);
- }
- if (*string == '/' && (flags & APR_FNM_PATHNAME)) {
- return (APR_FNM_NOMATCH);
- }
- if (*string == '.' && (flags & APR_FNM_PERIOD) &&
- (string == stringstart ||
- ((flags & APR_FNM_PATHNAME) && *(string - 1) == '/'))) {
- return (APR_FNM_NOMATCH);
- }
- ++string;
- break;
- case '*':
- c = *pattern;
- /* Collapse multiple stars. */
- while (c == '*') {
- c = *++pattern;
- }
-
- if (*string == '.' && (flags & APR_FNM_PERIOD) &&
- (string == stringstart ||
- ((flags & APR_FNM_PATHNAME) && *(string - 1) == '/'))) {
- return (APR_FNM_NOMATCH);
- }
-
- /* Optimize for pattern with * at end or before /. */
- if (c == EOS) {
- if (flags & APR_FNM_PATHNAME) {
- return (strchr(string, '/') == NULL ? APR_SUCCESS : APR_FNM_NOMATCH);
- }
- else {
- return (APR_SUCCESS);
- }
- }
- else if (c == '/' && flags & APR_FNM_PATHNAME) {
- if ((string = strchr(string, '/')) == NULL) {
- return (APR_FNM_NOMATCH);
- }
- break;
- }
-
- /* General case, use recursion. */
- while ((test = *string) != EOS) {
- if (!apr_fnmatch(pattern, string, flags & ~APR_FNM_PERIOD)) {
- return (APR_SUCCESS);
- }
- if (test == '/' && flags & APR_FNM_PATHNAME) {
- break;
- }
- ++string;
- }
- return (APR_FNM_NOMATCH);
- case '[':
- if (*string == EOS) {
- return (APR_FNM_NOMATCH);
- }
- if (*string == '/' && flags & APR_FNM_PATHNAME) {
- return (APR_FNM_NOMATCH);
- }
- if (*string == '.' && (flags & APR_FNM_PERIOD) &&
- (string == stringstart ||
- ((flags & APR_FNM_PATHNAME) && *(string - 1) == '/'))) {
- return (APR_FNM_NOMATCH);
- }
- if ((pattern = rangematch(pattern, *string, flags)) == NULL) {
- return (APR_FNM_NOMATCH);
- }
- ++string;
- break;
- case '\\':
- if (!(flags & APR_FNM_NOESCAPE)) {
- if ((c = *pattern++) == EOS) {
- c = '\\';
- --pattern;
- }
- }
- /* FALLTHROUGH */
- default:
- if (flags & APR_FNM_CASE_BLIND) {
- if (apr_tolower(c) != apr_tolower(*string)) {
- return (APR_FNM_NOMATCH);
- }
- }
- else if (c != *string) {
- return (APR_FNM_NOMATCH);
- }
- string++;
- break;
- }
- /* NOTREACHED */
+ const char * const mismatch = *pattern;
+ const int nocase = !!(flags & APR_FNM_CASE_BLIND);
+ const int escape = !(flags & APR_FNM_NOESCAPE);
+ const int slash = !!(flags & APR_FNM_PATHNAME);
+ int result = APR_FNM_NOMATCH;
+ const char *startch;
+ int negate;
+
+ if (**pattern == '[')
+ {
+ ++*pattern;
+
+ /* Handle negation, either leading ! or ^ operators (never both) */
+ negate = ((**pattern == '!') || (**pattern == '^'));
+ if (negate)
+ ++*pattern;
+
+ /* ']' is an ordinary character at the start of the range pattern */
+ if (**pattern == ']')
+ goto leadingclosebrace;
+
+ while (**pattern)
+ {
+ if (**pattern == ']') {
+ ++*pattern;
+ /* XXX: Fix for MBCS character width */
+ ++*string;
+ return (result ^ negate);
+ }
+
+ if (escape && (**pattern == '\\')) {
+ ++*pattern;
+
+ /* Patterns must be terminated with ']', not EOS */
+ if (!**pattern)
+ break;
+ }
+
+ /* Patterns must be terminated with ']' not '/' */
+ if (slash && (**pattern == '/'))
+ break;
+
+leadingclosebrace:
+ /* Look at only well-formed range patterns;
+ * "x-]" is not allowed unless escaped ("x-\]")
+ * XXX: Fix for locale/MBCS character width
+ */
+ if (((*pattern)[1] == '-') && ((*pattern)[2] != ']'))
+ {
+ startch = *pattern;
+ *pattern += (escape && ((*pattern)[2] == '\\')) ? 3 : 2;
+
+ /* NOT a properly balanced [expr] pattern, EOS terminated
+ * or ranges containing a slash in FNM_PATHNAME mode pattern
+ * fall out to to the rewind and test '[' literal code path
+ */
+ if (!**pattern || (slash && (**pattern == '/')))
+ break;
+
+ /* XXX: handle locale/MBCS comparison, advance by MBCS char width */
+ if ((**string >= *startch) && (**string <= **pattern))
+ result = 0;
+ else if (nocase && (isupper(**string) || isupper(*startch)
+ || isupper(**pattern))
+ && (tolower(**string) >= tolower(*startch))
+ && (tolower(**string) <= tolower(**pattern)))
+ result = 0;
+
+ ++*pattern;
+ continue;
+ }
+
+ /* XXX: handle locale/MBCS comparison, advance by MBCS char width */
+ if ((**string == **pattern))
+ result = 0;
+ else if (nocase && (isupper(**string) || isupper(**pattern))
+ && (tolower(**string) == tolower(**pattern)))
+ result = 0;
+
+ ++*pattern;
+ }
+
+ /* NOT a properly balanced [expr] pattern; Rewind
+ * and reset result to test '[' literal
+ */
+ *pattern = mismatch;
+ result = APR_FNM_NOMATCH;
+ }
+ else if (**pattern == '?') {
+ /* Optimize '?' match before unescaping **pattern */
+ if (!**string || (slash && (**string == '/')))
+ return APR_FNM_NOMATCH;
+ result = 0;
+ goto fnmatch_ch_success;
}
+ else if (escape && (**pattern == '\\') && (*pattern)[1]) {
+ ++*pattern;
+ }
+
+ /* XXX: handle locale/MBCS comparison, advance by the MBCS char width */
+ if (**string == **pattern)
+ result = 0;
+ else if (nocase && (isupper(**string) || isupper(**pattern))
+ && (tolower(**string) == tolower(**pattern)))
+ result = 0;
+
+ /* Refuse to advance over trailing slash or nulls
+ */
+ if (!**string || !**pattern || (slash && ((**string == '/') || (**pattern == '/'))))
+ return result;
+
+fnmatch_ch_success:
+ ++*pattern;
+ ++*string;
+ return result;
}
-static const char *rangematch(const char *pattern, int test, int flags)
+
+APR_DECLARE(int) apr_fnmatch(const char *pattern, const char *string, int flags)
{
- int negate, ok;
- char c, c2;
-
- /*
- * A bracket expression starting with an unquoted circumflex
- * character produces unspecified results (IEEE 1003.2-1992,
- * 3.13.2). This implementation treats it like '!', for
- * consistency with the regular expression syntax.
- * J.T. Conklin (conklin@ngai.kaleida.com)
+ static const char dummystring[2] = {' ', 0};
+ const int escape = !(flags & APR_FNM_NOESCAPE);
+ const int slash = !!(flags & APR_FNM_PATHNAME);
+ const char *strendseg;
+ const char *dummyptr;
+ const char *matchptr;
+ int wild;
+ /* For '*' wild processing only; surpress 'used before initialization'
+ * warnings with dummy initialization values;
*/
- if ((negate = (*pattern == '!' || *pattern == '^'))) {
- ++pattern;
- }
+ const char *strstartseg = NULL;
+ const char *mismatch = NULL;
+ int matchlen = 0;
+
+ if (*pattern == '*')
+ goto firstsegment;
+
+ while (*pattern && *string)
+ {
+ /* Pre-decode "\/" which has no special significance, and
+ * match balanced slashes, starting a new segment pattern
+ */
+ if (slash && escape && (*pattern == '\\') && (pattern[1] == '/'))
+ ++pattern;
+ if (slash && (*pattern == '/') && (*string == '/')) {
+ ++pattern;
+ ++string;
+ }
+
+firstsegment:
+ /* At the beginning of each segment, validate leading period behavior.
+ */
+ if ((flags & APR_FNM_PERIOD) && (*string == '.'))
+ {
+ if (*pattern == '.')
+ ++pattern;
+ else if (escape && (*pattern == '\\') && (pattern[1] == '.'))
+ pattern += 2;
+ else
+ return APR_FNM_NOMATCH;
+ ++string;
+ }
+
+ /* Determine the end of string segment
+ *
+ * Presumes '/' character is unique, not composite in any MBCS encoding
+ */
+ if (slash) {
+ strendseg = strchr(string, '/');
+ if (!strendseg)
+ strendseg = strchr(string, '\0');
+ }
+ else {
+ strendseg = strchr(string, '\0');
+ }
+
+ /* Allow pattern '*' to be consumed even with no remaining string to match
+ */
+ while (*pattern)
+ {
+ if ((string > strendseg)
+ || ((string == strendseg) && (*pattern != '*')))
+ break;
+
+ if (slash && ((*pattern == '/')
+ || (escape && (*pattern == '\\')
+ && (pattern[1] == '/'))))
+ break;
+
+ /* Reduce groups of '*' and '?' to n '?' matches
+ * followed by one '*' test for simplicity
+ */
+ for (wild = 0; ((*pattern == '*') || (*pattern == '?')); ++pattern)
+ {
+ if (*pattern == '*') {
+ wild = 1;
+ }
+ else if (string < strendseg) { /* && (*pattern == '?') */
+ /* XXX: Advance 1 char for MBCS locale */
+ ++string;
+ }
+ else { /* (string >= strendseg) && (*pattern == '?') */
+ return APR_FNM_NOMATCH;
+ }
+ }
+
+ if (wild)
+ {
+ strstartseg = string;
+ mismatch = pattern;
+
+ /* Count fixed (non '*') char matches remaining in pattern
+ * excluding '/' (or "\/") and '*'
+ */
+ for (matchptr = pattern, matchlen = 0; 1; ++matchlen)
+ {
+ if ((*matchptr == '\0')
+ || (slash && ((*matchptr == '/')
+ || (escape && (*matchptr == '\\')
+ && (matchptr[1] == '/')))))
+ {
+ /* Compare precisely this many trailing string chars,
+ * the resulting match needs no wildcard loop
+ */
+ /* XXX: Adjust for MBCS */
+ if (string + matchlen > strendseg)
+ return APR_FNM_NOMATCH;
+
+ string = strendseg - matchlen;
+ wild = 0;
+ break;
+ }
+
+ if (*matchptr == '*')
+ {
+ /* Ensure at least this many trailing string chars remain
+ * for the first comparison
+ */
+ /* XXX: Adjust for MBCS */
+ if (string + matchlen > strendseg)
+ return APR_FNM_NOMATCH;
+
+ /* Begin first wild comparison at the current position */
+ break;
+ }
+
+ /* Skip forward in pattern by a single character match
+ * Use a dummy fnmatch_ch() test to count one "[range]" escape
+ */
+ /* XXX: Adjust for MBCS */
+ if (escape && (*matchptr == '\\') && matchptr[1]) {
+ matchptr += 2;
+ }
+ else if (*matchptr == '[') {
+ dummyptr = dummystring;
+ fnmatch_ch(&matchptr, &dummyptr, flags);
+ }
+ else {
+ ++matchptr;
+ }
+ }
+ }
- for (ok = 0; (c = *pattern++) != ']';) {
- if (c == '\\' && !(flags & APR_FNM_NOESCAPE)) {
- c = *pattern++;
- }
- if (c == EOS) {
- return (NULL);
- }
- if (*pattern == '-' && (c2 = *(pattern + 1)) != EOS && c2 != ']') {
- pattern += 2;
- if (c2 == '\\' && !(flags & APR_FNM_NOESCAPE)) {
- c2 = *pattern++;
- }
- if (c2 == EOS) {
- return (NULL);
- }
- if ((c <= test && test <= c2)
- || ((flags & APR_FNM_CASE_BLIND)
- && ((apr_tolower(c) <= apr_tolower(test))
- && (apr_tolower(test) <= apr_tolower(c2))))) {
- ok = 1;
- }
- }
- else if ((c == test)
- || ((flags & APR_FNM_CASE_BLIND)
- && (apr_tolower(c) == apr_tolower(test)))) {
- ok = 1;
- }
+ /* Incrementally match string against the pattern
+ */
+ while (*pattern && (string < strendseg))
+ {
+ /* Success; begin a new wild pattern search
+ */
+ if (*pattern == '*')
+ break;
+
+ if (slash && ((*string == '/')
+ || (*pattern == '/')
+ || (escape && (*pattern == '\\')
+ && (pattern[1] == '/'))))
+ break;
+
+ /* Compare ch's (the pattern is advanced over "\/" to the '/',
+ * but slashes will mismatch, and are not consumed)
+ */
+ if (!fnmatch_ch(&pattern, &string, flags))
+ continue;
+
+ /* Failed to match, loop against next char offset of string segment
+ * until not enough string chars remain to match the fixed pattern
+ */
+ if (wild) {
+ /* XXX: Advance 1 char for MBCS locale */
+ string = ++strstartseg;
+ if (string + matchlen > strendseg)
+ return APR_FNM_NOMATCH;
+
+ pattern = mismatch;
+ continue;
+ }
+ else
+ return APR_FNM_NOMATCH;
+ }
+ }
+
+ if (*string && !(slash && (*string == '/')))
+ return APR_FNM_NOMATCH;
+
+ if (*pattern && !(slash && ((*pattern == '/')
+ || (escape && (*pattern == '\\')
+ && (pattern[1] == '/')))))
+ return APR_FNM_NOMATCH;
}
- return (ok == negate ? NULL : pattern);
+
+ /* Where both pattern and string are at EOS, declare success
+ */
+ if (!*string && !*pattern)
+ return 0;
+
+ /* pattern didn't match to the end of string */
+ return APR_FNM_NOMATCH;
}
-/* This function is an Apache addition */
-/* return non-zero if pattern has any glob chars in it */
+/* This function is an Apache addition
+ * return non-zero if pattern has any glob chars in it
+ * @bug Function does not distinguish for FNM_PATHNAME mode, which renders
+ * a false positive for test[/]this (which is not a range, but
+ * seperate test[ and ]this segments and no glob.)
+ * @bug Function does not distinguish for non-FNM_ESCAPE mode.
+ * @bug Function does not parse []] correctly
+ * Solution may be to use fnmatch_ch() to walk the patterns?
+ */
APR_DECLARE(int) apr_fnmatch_test(const char *pattern)
{
int nesting;
nesting = 0;
while (*pattern) {
- switch (*pattern) {
- case '?':
- case '*':
- return 1;
-
- case '\\':
- if (*++pattern == '\0') {
- return 0;
- }
- break;
-
- case '[': /* '[' is only a glob if it has a matching ']' */
- ++nesting;
- break;
-
- case ']':
- if (nesting) {
- return 1;
- }
- break;
- }
- ++pattern;
- }
+ switch (*pattern) {
+ case '?':
+ case '*':
+ return 1;
+
+ case '\\':
+ if (*++pattern == '\0') {
+ return 0;
+ }
+ break;
+
+ case '[': /* '[' is only a glob if it has a matching ']' */
+ ++nesting;
+ break;
+
+ case ']':
+ if (nesting) {
+ return 1;
+ }
+ break;
+ }
+ ++pattern; }
return 0;
}
+
/* Find all files matching the specified pattern */
APR_DECLARE(apr_status_t) apr_match_glob(const char *pattern,
apr_array_header_t **result,
diff --git a/srclib/apr/strings/apr_snprintf.c b/srclib/apr/strings/apr_snprintf.c
index 01310079..7c1aee52 100644
--- a/srclib/apr/strings/apr_snprintf.c
+++ b/srclib/apr/strings/apr_snprintf.c
@@ -810,10 +810,27 @@ APR_DECLARE(int) apr_vformatter(int (*flush_func)(apr_vformatter_buff_t *),
adjust_precision = adjust_width = NO;
/*
- * Modifier check. Note that if APR_INT64_T_FMT is "d",
- * the first if condition is never true.
+ * Modifier check. In same cases, APR_OFF_T_FMT can be
+ * "lld" and APR_INT64_T_FMT can be "ld" (that is, off_t is
+ * "larger" than int64). Check that case 1st.
+ * Note that if APR_OFF_T_FMT is "d",
+ * the first if condition is never true. If APR_INT64_T_FMT
+ * is "d' then the second if condition is never true.
*/
- if ((sizeof(APR_INT64_T_FMT) == 4 &&
+ if ((sizeof(APR_OFF_T_FMT) > sizeof(APR_INT64_T_FMT)) &&
+ ((sizeof(APR_OFF_T_FMT) == 4 &&
+ fmt[0] == APR_OFF_T_FMT[0] &&
+ fmt[1] == APR_OFF_T_FMT[1]) ||
+ (sizeof(APR_OFF_T_FMT) == 3 &&
+ fmt[0] == APR_OFF_T_FMT[0]) ||
+ (sizeof(APR_OFF_T_FMT) > 4 &&
+ strncmp(fmt, APR_OFF_T_FMT,
+ sizeof(APR_OFF_T_FMT) - 2) == 0))) {
+ /* Need to account for trailing 'd' and null in sizeof() */
+ var_type = IS_QUAD;
+ fmt += (sizeof(APR_OFF_T_FMT) - 2);
+ }
+ else if ((sizeof(APR_INT64_T_FMT) == 4 &&
fmt[0] == APR_INT64_T_FMT[0] &&
fmt[1] == APR_INT64_T_FMT[1]) ||
(sizeof(APR_INT64_T_FMT) == 3 &&
diff --git a/srclib/apr/test/NWGNUaprtest b/srclib/apr/test/NWGNUaprtest
index 0c7f8c75..b142796a 100644
--- a/srclib/apr/test/NWGNUaprtest
+++ b/srclib/apr/test/NWGNUaprtest
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
#
@@ -89,18 +89,18 @@ endif
# This is used by the link 'name' directive to name the nlm. If left blank
# TARGET_nlm (see below) will be used.
#
-NLM_NAME =aprtest
+NLM_NAME = aprtest
#
# This is used by the link '-desc ' directive.
# If left blank, NLM_NAME will be used.
#
-NLM_DESCRIPTION = NLM is to test the apr layer
+NLM_DESCRIPTION = NLM is to test the apr layer
#
# This is used by the '-threadname' directive. If left blank,
# NLM_NAME Thread will be used.
#
-NLM_THREAD_NAME = aprtest
+NLM_THREAD_NAME = $(NLM_NAME)
#
# This is used by the '-screenname' directive. If left blank,
@@ -110,24 +110,24 @@ NLM_SCREEN_NAME = aprtest
#
# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
+# $(APR_WORK)/build/NWGNUenvironment.inc
#
-NLM_VERSION = 1,0,0
+NLM_VERSION =
#
# If this is specified, it will override the default of 64K
#
-NLM_STACK_SIZE = 524288
+NLM_STACK_SIZE = 524288
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,14 +137,14 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
# be disabled by setting APACHE_UNIPROC in the environment
#
-XDCDATA =
+XDCDATA =
#
# Declare all target files (you must add your files here)
@@ -223,7 +223,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -255,15 +255,21 @@ FILE_nlm_copyright =
#
FILES_nlm_Ximports = \
@libc.imp \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
$(EOLIST)
-
+
+# Don't link with Winsock if standard sockets are being used
+ifndef USE_STDSOCKETS
+FILES_nlm_Ximports += @ws2nlm.imp \
+ $(EOLIST)
+endif
+
#
# Any symbols exported to here
#
FILES_nlm_exports = \
$(EOLIST)
-
+
#
# These are the OBJ files needed to create the LIB target above.
# Paths must all use the '/' character
@@ -281,7 +287,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -295,6 +301,5 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
-
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr/test/NWGNUechod b/srclib/apr/test/NWGNUechod
index 45b00c77..f70a53d7 100644
--- a/srclib/apr/test/NWGNUechod
+++ b/srclib/apr/test/NWGNUechod
@@ -123,12 +123,12 @@ NLM_STACK_SIZE =
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -178,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -209,7 +209,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
diff --git a/srclib/apr/test/NWGNUglobalmutexchild b/srclib/apr/test/NWGNUglobalmutexchild
index 3d683bab..3db7a106 100644
--- a/srclib/apr/test/NWGNUglobalmutexchild
+++ b/srclib/apr/test/NWGNUglobalmutexchild
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
#
@@ -54,7 +54,6 @@ XDEFINES += \
XLFLAGS += \
$(EOLIST)
-
endif
ifeq "$(RELEASE)" "noopt"
@@ -69,8 +68,6 @@ XDEFINES += \
XLFLAGS += \
$(EOLIST)
-
- $(EOLIST)
endif
ifeq "$(RELEASE)" "release"
@@ -92,7 +89,7 @@ endif
# This is used by the link 'name' directive to name the nlm. If left blank
# TARGET_nlm (see below) will be used.
#
-NLM_NAME = globalmutexchild
+NLM_NAME = globalmutexchild
#
# This is used by the link '-desc ' directive.
@@ -104,7 +101,7 @@ NLM_DESCRIPTION = child NLM to test the global Mutex layer
# This is used by the '-threadname' directive. If left blank,
# NLM_NAME Thread will be used.
#
-NLM_THREAD_NAME = globalmutexchild
+NLM_THREAD_NAME = $(NLM_NAME)
#
# This is used by the '-screenname' directive. If left blank,
@@ -114,9 +111,9 @@ NLM_SCREEN_NAME = DEFAULT
#
# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
+# $(APR_WORK)/build/NWGNUenvironment.inc
#
-NLM_VERSION = 1,0,0
+NLM_VERSION =
#
# If this is specified, it will override the default of 64K
@@ -126,12 +123,12 @@ NLM_STACK_SIZE =
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -141,14 +138,14 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION, MULTIPLE
+NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION, MULTIPLE
#
# If this is specified it will be linked in with the XDCData option in the def
# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
# be disabled by setting APACHE_UNIPROC in the environment
#
-XDCDATA =
+XDCDATA =
#
# Declare all target files (you must add your files here)
@@ -180,7 +177,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,7 +208,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -220,7 +217,7 @@ FILES_nlm_Ximports = \
#
FILES_nlm_exports = \
$(EOLIST)
-
+
#
# These are the OBJ files needed to create the LIB target above.
# Paths must all use the '/' character
@@ -238,7 +235,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -251,5 +248,5 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr/test/NWGNUmakefile b/srclib/apr/test/NWGNUmakefile
index d2f8b0ce..b9ebfaf2 100644
--- a/srclib/apr/test/NWGNUmakefile
+++ b/srclib/apr/test/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -41,10 +41,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALLBASE)
+ $(call COPY,$(OBJDIR)/*.nlm,$(INSTALLBASE))
#
# Any specialized rules here
@@ -55,5 +55,5 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr/test/NWGNUmod_test b/srclib/apr/test/NWGNUmod_test
index 3dfa6df4..b293de88 100644
--- a/srclib/apr/test/NWGNUmod_test
+++ b/srclib/apr/test/NWGNUmod_test
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
#
@@ -54,7 +54,6 @@ XDEFINES += \
XLFLAGS += \
$(EOLIST)
-
endif
ifeq "$(RELEASE)" "noopt"
@@ -69,8 +68,6 @@ XDEFINES += \
XLFLAGS += \
$(EOLIST)
-
- $(EOLIST)
endif
ifeq "$(RELEASE)" "release"
@@ -92,7 +89,7 @@ endif
# This is used by the link 'name' directive to name the nlm. If left blank
# TARGET_nlm (see below) will be used.
#
-NLM_NAME = mod_test
+NLM_NAME = mod_test
#
# This is used by the link '-desc ' directive.
@@ -104,7 +101,7 @@ NLM_DESCRIPTION = DSO NLM to test the apr DSO loading layer
# This is used by the '-threadname' directive. If left blank,
# NLM_NAME Thread will be used.
#
-NLM_THREAD_NAME = mod_test
+NLM_THREAD_NAME = $(NLM_NAME)
#
# This is used by the '-screenname' directive. If left blank,
@@ -114,9 +111,9 @@ NLM_SCREEN_NAME = DEFAULT
#
# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
+# $(APR_WORK)/build/NWGNUenvironment.inc
#
-NLM_VERSION = 1,0,0
+NLM_VERSION =
#
# If this is specified, it will override the default of 64K
@@ -126,12 +123,12 @@ NLM_STACK_SIZE =
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -141,14 +138,14 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
# be disabled by setting APACHE_UNIPROC in the environment
#
-XDCDATA =
+XDCDATA =
#
# Declare all target files (you must add your files here)
@@ -180,7 +177,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,7 +208,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -222,7 +219,7 @@ FILES_nlm_exports = \
print_hello \
count_reps \
$(EOLIST)
-
+
#
# These are the OBJ files needed to create the LIB target above.
# Paths must all use the '/' character
@@ -240,7 +237,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -253,5 +250,5 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr/test/NWGNUproc_child b/srclib/apr/test/NWGNUproc_child
index 49c1fab6..4f3f183c 100644
--- a/srclib/apr/test/NWGNUproc_child
+++ b/srclib/apr/test/NWGNUproc_child
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
#
@@ -54,7 +54,6 @@ XDEFINES += \
XLFLAGS += \
$(EOLIST)
-
endif
ifeq "$(RELEASE)" "noopt"
@@ -69,8 +68,6 @@ XDEFINES += \
XLFLAGS += \
$(EOLIST)
-
- $(EOLIST)
endif
ifeq "$(RELEASE)" "release"
@@ -92,7 +89,7 @@ endif
# This is used by the link 'name' directive to name the nlm. If left blank
# TARGET_nlm (see below) will be used.
#
-NLM_NAME = proc_child
+NLM_NAME = proc_child
#
# This is used by the link '-desc ' directive.
@@ -104,7 +101,7 @@ NLM_DESCRIPTION = child NLM to test the proc layer
# This is used by the '-threadname' directive. If left blank,
# NLM_NAME Thread will be used.
#
-NLM_THREAD_NAME = proc_child
+NLM_THREAD_NAME = $(NLM_NAME)
#
# This is used by the '-screenname' directive. If left blank,
@@ -114,9 +111,9 @@ NLM_SCREEN_NAME = DEFAULT
#
# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
+# $(APR_WORK)/build/NWGNUenvironment.inc
#
-NLM_VERSION = 1,0,0
+NLM_VERSION =
#
# If this is specified, it will override the default of 64K
@@ -126,12 +123,12 @@ NLM_STACK_SIZE =
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -141,14 +138,14 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION, MULTIPLE
+NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION, MULTIPLE
#
# If this is specified it will be linked in with the XDCData option in the def
# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
# be disabled by setting APACHE_UNIPROC in the environment
#
-XDCDATA =
+XDCDATA =
#
# Declare all target files (you must add your files here)
@@ -180,7 +177,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,7 +208,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -220,7 +217,7 @@ FILES_nlm_Ximports = \
#
FILES_nlm_exports = \
$(EOLIST)
-
+
#
# These are the OBJ files needed to create the LIB target above.
# Paths must all use the '/' character
@@ -238,7 +235,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -251,5 +248,5 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr/test/NWGNUreadchild b/srclib/apr/test/NWGNUreadchild
index 0fd984da..5e6e4848 100644
--- a/srclib/apr/test/NWGNUreadchild
+++ b/srclib/apr/test/NWGNUreadchild
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
#
@@ -54,7 +54,6 @@ XDEFINES += \
XLFLAGS += \
$(EOLIST)
-
endif
ifeq "$(RELEASE)" "noopt"
@@ -69,8 +68,6 @@ XDEFINES += \
XLFLAGS += \
$(EOLIST)
-
- $(EOLIST)
endif
ifeq "$(RELEASE)" "release"
@@ -92,7 +89,7 @@ endif
# This is used by the link 'name' directive to name the nlm. If left blank
# TARGET_nlm (see below) will be used.
#
-NLM_NAME = readchild
+NLM_NAME = readchild
#
# This is used by the link '-desc ' directive.
@@ -104,7 +101,7 @@ NLM_DESCRIPTION = child NLM to test the pipe layer
# This is used by the '-threadname' directive. If left blank,
# NLM_NAME Thread will be used.
#
-NLM_THREAD_NAME = readchild
+NLM_THREAD_NAME = $(NLM_NAME)
#
# This is used by the '-screenname' directive. If left blank,
@@ -114,9 +111,9 @@ NLM_SCREEN_NAME = DEFAULT
#
# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
+# $(APR_WORK)/build/NWGNUenvironment.inc
#
-NLM_VERSION = 1,0,0
+NLM_VERSION =
#
# If this is specified, it will override the default of 64K
@@ -126,12 +123,12 @@ NLM_STACK_SIZE =
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -141,14 +138,14 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION, MULTIPLE
+NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION, MULTIPLE
#
# If this is specified it will be linked in with the XDCData option in the def
# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
# be disabled by setting APACHE_UNIPROC in the environment
#
-XDCDATA =
+XDCDATA =
#
# Declare all target files (you must add your files here)
@@ -180,7 +177,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,7 +208,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -220,7 +217,7 @@ FILES_nlm_Ximports = \
#
FILES_nlm_exports = \
$(EOLIST)
-
+
#
# These are the OBJ files needed to create the LIB target above.
# Paths must all use the '/' character
@@ -238,7 +235,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -251,5 +248,5 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr/test/NWGNUsockchild b/srclib/apr/test/NWGNUsockchild
index 16dac9e4..312ddd1f 100644
--- a/srclib/apr/test/NWGNUsockchild
+++ b/srclib/apr/test/NWGNUsockchild
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
#
@@ -54,7 +54,6 @@ XDEFINES += \
XLFLAGS += \
$(EOLIST)
-
endif
ifeq "$(RELEASE)" "noopt"
@@ -69,8 +68,6 @@ XDEFINES += \
XLFLAGS += \
$(EOLIST)
-
- $(EOLIST)
endif
ifeq "$(RELEASE)" "release"
@@ -92,7 +89,7 @@ endif
# This is used by the link 'name' directive to name the nlm. If left blank
# TARGET_nlm (see below) will be used.
#
-NLM_NAME = sockchild
+NLM_NAME = sockchild
#
# This is used by the link '-desc ' directive.
@@ -104,7 +101,7 @@ NLM_DESCRIPTION = socket NLM to test sockets
# This is used by the '-threadname' directive. If left blank,
# NLM_NAME Thread will be used.
#
-NLM_THREAD_NAME = sockchild
+NLM_THREAD_NAME = $(NLM_NAME)
#
# This is used by the '-screenname' directive. If left blank,
@@ -114,9 +111,9 @@ NLM_SCREEN_NAME = DEFAULT
#
# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
+# $(APR_WORK)/build/NWGNUenvironment.inc
#
-NLM_VERSION = 1,0,0
+NLM_VERSION =
#
# If this is specified, it will override the default of 64K
@@ -126,12 +123,12 @@ NLM_STACK_SIZE =
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -141,14 +138,14 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION, MULTIPLE
+NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION, MULTIPLE
#
# If this is specified it will be linked in with the XDCData option in the def
# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
# be disabled by setting APACHE_UNIPROC in the environment
#
-XDCDATA =
+XDCDATA =
#
# Declare all target files (you must add your files here)
@@ -180,7 +177,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,7 +208,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -220,7 +217,7 @@ FILES_nlm_Ximports = \
#
FILES_nlm_exports = \
$(EOLIST)
-
+
#
# These are the OBJ files needed to create the LIB target above.
# Paths must all use the '/' character
@@ -238,7 +235,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -251,5 +248,5 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr/test/NWGNUsockperf b/srclib/apr/test/NWGNUsockperf
index c2d5f7d8..f289d874 100644
--- a/srclib/apr/test/NWGNUsockperf
+++ b/srclib/apr/test/NWGNUsockperf
@@ -123,12 +123,12 @@ NLM_STACK_SIZE =
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -178,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -209,7 +209,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
diff --git a/srclib/apr/test/NWGNUtestatmc b/srclib/apr/test/NWGNUtestatmc
index dbbe4250..d1308ea3 100644
--- a/srclib/apr/test/NWGNUtestatmc
+++ b/srclib/apr/test/NWGNUtestatmc
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
#
@@ -89,30 +89,30 @@ endif
# This is used by the link 'name' directive to name the nlm. If left blank
# TARGET_nlm (see below) will be used.
#
-NLM_NAME =testatmc
+NLM_NAME = testatmc
#
# This is used by the link '-desc ' directive.
# If left blank, NLM_NAME will be used.
#
-NLM_DESCRIPTION = NLM is to test the atomic functions
+NLM_DESCRIPTION = NLM is to test the atomic functions
#
# This is used by the '-threadname' directive. If left blank,
# NLM_NAME Thread will be used.
#
-NLM_THREAD_NAME = testatmc
+NLM_THREAD_NAME = $(NLM_NAME)
#
# This is used by the '-screenname' directive. If left blank,
# 'Apache for NetWare' Thread will be used.
#
-NLM_SCREEN_NAME = testatmc
+NLM_SCREEN_NAME = $(NLM_NAME)
#
# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
+# $(APR_WORK)/build/NWGNUenvironment.inc
#
-NLM_VERSION = 1,0,0
+NLM_VERSION =
#
# If this is specified, it will override the default of 64K
@@ -122,12 +122,12 @@ NLM_STACK_SIZE =
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -137,14 +137,14 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
# be disabled by setting APACHE_UNIPROC in the environment
#
-XDCDATA =
+XDCDATA =
#
# Declare all target files (you must add your files here)
@@ -173,13 +173,13 @@ FILES_nlm_objs = \
$(EOLIST)
# Pending tests
-
+
#
# These are the LIB files needed to create the NLM target above.
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,7 +211,7 @@ FILE_nlm_copyright =
#
FILES_nlm_Ximports = \
@libc.imp \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
$(EOLIST)
#
@@ -219,7 +219,7 @@ FILES_nlm_Ximports = \
#
FILES_nlm_exports = \
$(EOLIST)
-
+
#
# These are the OBJ files needed to create the LIB target above.
# Paths must all use the '/' character
@@ -237,7 +237,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -251,5 +251,5 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr/test/NWGNUtryread b/srclib/apr/test/NWGNUtryread
index cc4aee02..0ed52ead 100644
--- a/srclib/apr/test/NWGNUtryread
+++ b/srclib/apr/test/NWGNUtryread
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
+include $(APR_WORK)/build/NWGNUhead.inc
endif
#
@@ -54,7 +54,6 @@ XDEFINES += \
XLFLAGS += \
$(EOLIST)
-
endif
ifeq "$(RELEASE)" "noopt"
@@ -69,8 +68,6 @@ XDEFINES += \
XLFLAGS += \
$(EOLIST)
-
- $(EOLIST)
endif
ifeq "$(RELEASE)" "release"
@@ -92,31 +89,31 @@ endif
# This is used by the link 'name' directive to name the nlm. If left blank
# TARGET_nlm (see below) will be used.
#
-NLM_NAME = tryread
+NLM_NAME = tryread
#
# This is used by the link '-desc ' directive.
# If left blank, NLM_NAME will be used.
#
-NLM_DESCRIPTION = reader NLM to test flock
+NLM_DESCRIPTION = reader NLM to test flock
#
# This is used by the '-threadname' directive. If left blank,
# NLM_NAME Thread will be used.
#
-NLM_THREAD_NAME = try_read
+NLM_THREAD_NAME = $(NLM_NAME)
#
# This is used by the '-screenname' directive. If left blank,
# 'Apache for NetWare' Thread will be used.
#
-NLM_SCREEN_NAME = DEFAULT
+NLM_SCREEN_NAME = DEFAULT
#
# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
+# $(APR_WORK)/build/NWGNUenvironment.inc
#
-NLM_VERSION = 1,0,0
+NLM_VERSION =
#
# If this is specified, it will override the default of 64K
@@ -126,12 +123,12 @@ NLM_STACK_SIZE =
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -141,14 +138,14 @@ NLM_CHECK_SYM =
#
# If this is specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION, MULTIPLE
+NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION, MULTIPLE
#
# If this is specified it will be linked in with the XDCData option in the def
# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
# be disabled by setting APACHE_UNIPROC in the environment
#
-XDCDATA =
+XDCDATA =
#
# Declare all target files (you must add your files here)
@@ -180,7 +177,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -211,7 +208,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -220,7 +217,7 @@ FILES_nlm_Ximports = \
#
FILES_nlm_exports = \
$(EOLIST)
-
+
#
# These are the OBJ files needed to create the LIB target above.
# Paths must all use the '/' character
@@ -238,7 +235,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(APR_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -251,5 +248,5 @@ install :: nlms FORCE
# in this makefile
#
-include $(APR_WORK)\build\NWGNUtail.inc
+include $(APRBUILD)/NWGNUtail.inc
diff --git a/srclib/apr/test/nw_misc.c b/srclib/apr/test/nw_misc.c
index 2c1e5e2b..b45f9516 100644
--- a/srclib/apr/test/nw_misc.c
+++ b/srclib/apr/test/nw_misc.c
@@ -1,4 +1,6 @@
+#include <stdio.h>
#include <stdlib.h>
+#include <screen.h>
/*
#include "testutil.h"
*/
@@ -6,6 +8,7 @@
/* function to keep the screen open if not launched from bash */
void _NonAppStop( void )
{
+ if (getenv("_IN_NETWARE_BASH_") == NULL) {
printf("\r\n<Press any key to close screen> ");
getcharacter();
}
diff --git a/srclib/apr/test/sendfile.c b/srclib/apr/test/sendfile.c
index 488d2648..e60ec71b 100644
--- a/srclib/apr/test/sendfile.c
+++ b/srclib/apr/test/sendfile.c
@@ -109,7 +109,7 @@ static void create_testfile(apr_pool_t *p, const char *fname)
printf("Creating a test file...\n");
rv = apr_file_open(&f, fname,
- APR_CREATE | APR_WRITE | APR_TRUNCATE | APR_BUFFERED,
+ APR_FOPEN_CREATE | APR_FOPEN_WRITE | APR_FOPEN_TRUNCATE | APR_FOPEN_BUFFERED,
APR_UREAD | APR_UWRITE, p);
if (rv) {
fprintf(stderr, "apr_file_open()->%d/%s\n",
@@ -188,7 +188,7 @@ static int client(client_socket_mode_t socket_mode, char *host)
apr_setup(&p, &sock, &family);
create_testfile(p, TESTFILE);
- rv = apr_file_open(&f, TESTFILE, APR_READ, 0, p);
+ rv = apr_file_open(&f, TESTFILE, APR_FOPEN_READ, 0, p);
if (rv != APR_SUCCESS) {
fprintf(stderr, "apr_file_open()->%d/%s\n",
rv,
diff --git a/srclib/apr/test/testdir.c b/srclib/apr/test/testdir.c
index 63a2f172..417a1d7b 100644
--- a/srclib/apr/test/testdir.c
+++ b/srclib/apr/test/testdir.c
@@ -180,7 +180,7 @@ static void test_uncleared_errno(abts_case *tc, void *data)
rv = apr_dir_make("dir2", APR_OS_DEFAULT, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
rv = apr_file_open(&thefile, "dir1/file1",
- APR_READ | APR_WRITE | APR_CREATE, APR_OS_DEFAULT, p);
+ APR_FOPEN_READ | APR_FOPEN_WRITE | APR_FOPEN_CREATE, APR_OS_DEFAULT, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
rv = apr_file_close(thefile);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
diff --git a/srclib/apr/test/testdup.c b/srclib/apr/test/testdup.c
index a7463379..fd88f223 100644
--- a/srclib/apr/test/testdup.c
+++ b/srclib/apr/test/testdup.c
@@ -34,8 +34,8 @@ static void test_file_dup(abts_case *tc, void *data)
/* First, create a new file, empty... */
rv = apr_file_open(&file1, FILEPATH "testdup.file",
- APR_READ | APR_WRITE | APR_CREATE |
- APR_DELONCLOSE, APR_OS_DEFAULT, p);
+ APR_FOPEN_READ | APR_FOPEN_WRITE | APR_FOPEN_CREATE |
+ APR_FOPEN_DELONCLOSE, APR_OS_DEFAULT, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
ABTS_PTR_NOTNULL(tc, file1);
@@ -65,8 +65,8 @@ static void test_file_readwrite(abts_case *tc, void *data)
/* First, create a new file, empty... */
rv = apr_file_open(&file1, FILEPATH "testdup.readwrite.file",
- APR_READ | APR_WRITE | APR_CREATE |
- APR_DELONCLOSE, APR_OS_DEFAULT, p);
+ APR_FOPEN_READ | APR_FOPEN_WRITE | APR_FOPEN_CREATE |
+ APR_FOPEN_DELONCLOSE, APR_OS_DEFAULT, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
ABTS_PTR_NOTNULL(tc, file1);
@@ -106,8 +106,8 @@ static void test_dup2(abts_case *tc, void *data)
apr_status_t rv;
rv = apr_file_open(&testfile, FILEPATH "testdup2.file",
- APR_READ | APR_WRITE | APR_CREATE |
- APR_DELONCLOSE, APR_OS_DEFAULT, p);
+ APR_FOPEN_READ | APR_FOPEN_WRITE | APR_FOPEN_CREATE |
+ APR_FOPEN_DELONCLOSE, APR_OS_DEFAULT, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
ABTS_PTR_NOTNULL(tc, testfile);
@@ -143,8 +143,8 @@ static void test_dup2_readwrite(abts_case *tc, void *data)
apr_off_t fpos;
rv = apr_file_open(&testfile, FILEPATH "testdup2.readwrite.file",
- APR_READ | APR_WRITE | APR_CREATE |
- APR_DELONCLOSE, APR_OS_DEFAULT, p);
+ APR_FOPEN_READ | APR_FOPEN_WRITE | APR_FOPEN_CREATE |
+ APR_FOPEN_DELONCLOSE, APR_OS_DEFAULT, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
ABTS_PTR_NOTNULL(tc, testfile);
diff --git a/srclib/apr/test/testfile.c b/srclib/apr/test/testfile.c
index 49d9a3ac..2b465866 100644
--- a/srclib/apr/test/testfile.c
+++ b/srclib/apr/test/testfile.c
@@ -38,7 +38,7 @@ static void test_open_noreadwrite(abts_case *tc, void *data)
apr_file_t *thefile = NULL;
rv = apr_file_open(&thefile, FILENAME,
- APR_CREATE | APR_EXCL,
+ APR_FOPEN_CREATE | APR_FOPEN_EXCL,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
ABTS_TRUE(tc, rv != APR_SUCCESS);
ABTS_INT_EQUAL(tc, 1, APR_STATUS_IS_EACCES(rv));
@@ -51,7 +51,7 @@ static void test_open_excl(abts_case *tc, void *data)
apr_file_t *thefile = NULL;
rv = apr_file_open(&thefile, FILENAME,
- APR_CREATE | APR_EXCL | APR_WRITE,
+ APR_FOPEN_CREATE | APR_FOPEN_EXCL | APR_FOPEN_WRITE,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
ABTS_TRUE(tc, rv != APR_SUCCESS);
ABTS_INT_EQUAL(tc, 1, APR_STATUS_IS_EEXIST(rv));
@@ -64,7 +64,7 @@ static void test_open_read(abts_case *tc, void *data)
apr_file_t *filetest = NULL;
rv = apr_file_open(&filetest, FILENAME,
- APR_READ,
+ APR_FOPEN_READ,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
ABTS_PTR_NOTNULL(tc, filetest);
@@ -96,7 +96,7 @@ static void test_read(abts_case *tc, void *data)
apr_file_t *filetest = NULL;
rv = apr_file_open(&filetest, FILENAME,
- APR_READ,
+ APR_FOPEN_READ,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
APR_ASSERT_SUCCESS(tc, "Opening test file " FILENAME, rv);
@@ -115,7 +115,7 @@ static void test_readzero(abts_case *tc, void *data)
char *str = NULL;
apr_file_t *filetest;
- rv = apr_file_open(&filetest, FILENAME, APR_READ, APR_OS_DEFAULT, p);
+ rv = apr_file_open(&filetest, FILENAME, APR_FOPEN_READ, APR_OS_DEFAULT, p);
APR_ASSERT_SUCCESS(tc, "Opening test file " FILENAME, rv);
rv = apr_file_read(filetest, str, &nbytes);
@@ -132,7 +132,7 @@ static void test_filename(abts_case *tc, void *data)
apr_file_t *filetest = NULL;
rv = apr_file_open(&filetest, FILENAME,
- APR_READ,
+ APR_FOPEN_READ,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
APR_ASSERT_SUCCESS(tc, "Opening test file " FILENAME, rv);
@@ -151,7 +151,7 @@ static void test_fileclose(abts_case *tc, void *data)
apr_file_t *filetest = NULL;
rv = apr_file_open(&filetest, FILENAME,
- APR_READ,
+ APR_FOPEN_READ,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
APR_ASSERT_SUCCESS(tc, "Opening test file " FILENAME, rv);
@@ -170,7 +170,7 @@ static void test_file_remove(abts_case *tc, void *data)
rv = apr_file_remove(FILENAME, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
- rv = apr_file_open(&filetest, FILENAME, APR_READ,
+ rv = apr_file_open(&filetest, FILENAME, APR_FOPEN_READ,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
ABTS_INT_EQUAL(tc, 1, APR_STATUS_IS_ENOENT(rv));
}
@@ -182,7 +182,7 @@ static void test_open_write(abts_case *tc, void *data)
filetest = NULL;
rv = apr_file_open(&filetest, FILENAME,
- APR_WRITE,
+ APR_FOPEN_WRITE,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
ABTS_INT_EQUAL(tc, 1, APR_STATUS_IS_ENOENT(rv));
ABTS_PTR_EQUAL(tc, NULL, filetest);
@@ -195,7 +195,7 @@ static void test_open_writecreate(abts_case *tc, void *data)
filetest = NULL;
rv = apr_file_open(&filetest, FILENAME,
- APR_WRITE | APR_CREATE,
+ APR_FOPEN_WRITE | APR_FOPEN_CREATE,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
@@ -209,7 +209,7 @@ static void test_write(abts_case *tc, void *data)
apr_file_t *filetest = NULL;
rv = apr_file_open(&filetest, FILENAME,
- APR_WRITE | APR_CREATE,
+ APR_FOPEN_WRITE | APR_FOPEN_CREATE,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
@@ -226,7 +226,7 @@ static void test_open_readwrite(abts_case *tc, void *data)
filetest = NULL;
rv = apr_file_open(&filetest, FILENAME,
- APR_READ | APR_WRITE,
+ APR_FOPEN_READ | APR_FOPEN_WRITE,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
ABTS_PTR_NOTNULL(tc, filetest);
@@ -243,7 +243,7 @@ static void test_seek(abts_case *tc, void *data)
apr_file_t *filetest = NULL;
rv = apr_file_open(&filetest, FILENAME,
- APR_READ,
+ APR_FOPEN_READ,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
APR_ASSERT_SUCCESS(tc, "Open test file " FILENAME, rv);
@@ -267,7 +267,7 @@ static void test_seek(abts_case *tc, void *data)
/* Test for regression of sign error bug with SEEK_END and
buffered files. */
rv = apr_file_open(&filetest, FILENAME,
- APR_READ | APR_BUFFERED,
+ APR_FOPEN_READ | APR_FOPEN_BUFFERED,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
APR_ASSERT_SUCCESS(tc, "Open test file " FILENAME, rv);
@@ -292,7 +292,7 @@ static void test_userdata_set(abts_case *tc, void *data)
apr_file_t *filetest = NULL;
rv = apr_file_open(&filetest, FILENAME,
- APR_WRITE,
+ APR_FOPEN_WRITE,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
@@ -310,7 +310,7 @@ static void test_userdata_get(abts_case *tc, void *data)
apr_file_t *filetest = NULL;
rv = apr_file_open(&filetest, FILENAME,
- APR_WRITE,
+ APR_FOPEN_WRITE,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
@@ -333,7 +333,7 @@ static void test_userdata_getnokey(abts_case *tc, void *data)
apr_file_t *filetest = NULL;
rv = apr_file_open(&filetest, FILENAME,
- APR_WRITE,
+ APR_FOPEN_WRITE,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
@@ -351,7 +351,7 @@ static void test_buffer_set_get(abts_case *tc, void *data)
char * buffer;
rv = apr_file_open(&filetest, FILENAME,
- APR_WRITE | APR_BUFFERED,
+ APR_FOPEN_WRITE | APR_FOPEN_BUFFERED,
APR_UREAD | APR_UWRITE | APR_GREAD, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
@@ -379,7 +379,7 @@ static void test_getc(abts_case *tc, void *data)
apr_status_t rv;
char ch;
- rv = apr_file_open(&f, FILENAME, APR_READ, 0, p);
+ rv = apr_file_open(&f, FILENAME, APR_FOPEN_READ, 0, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
apr_file_getc(&ch, f);
@@ -394,7 +394,7 @@ static void test_ungetc(abts_case *tc, void *data)
apr_status_t rv;
char ch;
- rv = apr_file_open(&f, FILENAME, APR_READ, 0, p);
+ rv = apr_file_open(&f, FILENAME, APR_FOPEN_READ, 0, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
apr_file_getc(&ch, f);
@@ -417,7 +417,7 @@ static void test_gets(abts_case *tc, void *data)
apr_status_t rv;
char *str = apr_palloc(p, 256);
- rv = apr_file_open(&f, FILENAME, APR_READ, 0, p);
+ rv = apr_file_open(&f, FILENAME, APR_FOPEN_READ, 0, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
rv = apr_file_gets(str, 256, f);
@@ -440,7 +440,7 @@ static void test_gets_buffered(abts_case *tc, void *data)
char *str = apr_palloc(p, 256);
/* This will deadlock gets before the r524355 fix. */
- rv = apr_file_open(&f, FILENAME, APR_READ|APR_BUFFERED|APR_XTHREAD, 0, p);
+ rv = apr_file_open(&f, FILENAME, APR_FOPEN_READ|APR_FOPEN_BUFFERED|APR_FOPEN_XTHREAD, 0, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
rv = apr_file_gets(str, 256, f);
@@ -466,7 +466,7 @@ static void test_bigread(abts_case *tc, void *data)
/* Create a test file with known content.
*/
rv = apr_file_open(&f, "data/created_file",
- APR_CREATE | APR_WRITE | APR_TRUNCATE,
+ APR_FOPEN_CREATE | APR_FOPEN_WRITE | APR_FOPEN_TRUNCATE,
APR_UREAD | APR_UWRITE, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
@@ -481,7 +481,7 @@ static void test_bigread(abts_case *tc, void *data)
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
f = NULL;
- rv = apr_file_open(&f, "data/created_file", APR_READ, 0, p);
+ rv = apr_file_open(&f, "data/created_file", APR_FOPEN_READ, 0, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
nbytes = sizeof buf;
@@ -511,7 +511,7 @@ static void test_mod_neg(abts_case *tc, void *data)
const char *fname = "data/modneg.dat";
rv = apr_file_open(&f, fname,
- APR_CREATE | APR_WRITE, APR_UREAD | APR_UWRITE, p);
+ APR_FOPEN_CREATE | APR_FOPEN_WRITE, APR_UREAD | APR_UWRITE, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
s = "body56789\n";
@@ -545,7 +545,7 @@ static void test_mod_neg(abts_case *tc, void *data)
rv = apr_file_close(f);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
- rv = apr_file_open(&f, fname, APR_READ, 0, p);
+ rv = apr_file_open(&f, fname, APR_FOPEN_READ, 0, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
rv = apr_file_gets(buf, 11, f);
@@ -589,7 +589,7 @@ static void file_contents_equal(abts_case *tc,
apr_file_t *f;
APR_ASSERT_SUCCESS(tc, "open file",
- apr_file_open(&f, fname, APR_READ|APR_BUFFERED,
+ apr_file_open(&f, fname, APR_FOPEN_READ|APR_FOPEN_BUFFERED,
0, p));
APR_ASSERT_SUCCESS(tc, "read from file",
apr_file_read_full(f, actual, expectlen, NULL));
@@ -610,7 +610,7 @@ static void test_puts(abts_case *tc, void *data)
APR_ASSERT_SUCCESS(tc, "open file for writing",
apr_file_open(&f, fname,
- APR_WRITE|APR_CREATE|APR_TRUNCATE,
+ APR_FOPEN_WRITE|APR_FOPEN_CREATE|APR_FOPEN_TRUNCATE,
APR_OS_DEFAULT, p));
APR_ASSERT_SUCCESS(tc, "write line to file",
@@ -633,7 +633,7 @@ static void test_writev(abts_case *tc, void *data)
APR_ASSERT_SUCCESS(tc, "open file for writing",
apr_file_open(&f, fname,
- APR_WRITE|APR_CREATE|APR_TRUNCATE,
+ APR_FOPEN_WRITE|APR_FOPEN_CREATE|APR_FOPEN_TRUNCATE,
APR_OS_DEFAULT, p));
vec[0].iov_base = LINE1;
@@ -675,7 +675,7 @@ static void test_writev_full(abts_case *tc, void *data)
APR_ASSERT_SUCCESS(tc, "open file for writing",
apr_file_open(&f, fname,
- APR_WRITE|APR_CREATE|APR_TRUNCATE,
+ APR_FOPEN_WRITE|APR_FOPEN_CREATE|APR_FOPEN_TRUNCATE,
APR_OS_DEFAULT, p));
vec[0].iov_base = LINE1;
@@ -711,8 +711,8 @@ static void test_writev_buffered(abts_case *tc, void *data)
APR_ASSERT_SUCCESS(tc, "open file for writing",
apr_file_open(&f, fname,
- APR_WRITE | APR_CREATE | APR_TRUNCATE |
- APR_BUFFERED, APR_OS_DEFAULT, p));
+ APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE |
+ APR_FOPEN_BUFFERED, APR_OS_DEFAULT, p));
nbytes = strlen(TESTSTR);
APR_ASSERT_SUCCESS(tc, "buffered write",
@@ -745,7 +745,7 @@ static void test_writev_buffered_seek(abts_case *tc, void *data)
APR_ASSERT_SUCCESS(tc, "open file for writing",
apr_file_open(&f, fname,
- APR_WRITE | APR_READ | APR_BUFFERED,
+ APR_FOPEN_WRITE | APR_FOPEN_READ | APR_FOPEN_BUFFERED,
APR_OS_DEFAULT, p));
rv = apr_file_read(f, str, &nbytes);
@@ -783,7 +783,7 @@ static void test_truncate(abts_case *tc, void *data)
apr_file_remove(fname, p);
rv = apr_file_open(&f, fname,
- APR_CREATE | APR_WRITE, APR_UREAD | APR_UWRITE, p);
+ APR_FOPEN_CREATE | APR_FOPEN_WRITE, APR_UREAD | APR_UWRITE, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
s = "some data";
@@ -796,7 +796,7 @@ static void test_truncate(abts_case *tc, void *data)
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
rv = apr_file_open(&f, fname,
- APR_TRUNCATE | APR_WRITE, APR_UREAD | APR_UWRITE, p);
+ APR_FOPEN_TRUNCATE | APR_FOPEN_WRITE, APR_UREAD | APR_UWRITE, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
rv = apr_file_close(f);
@@ -821,7 +821,7 @@ static void test_bigfprintf(abts_case *tc, void *data)
APR_ASSERT_SUCCESS(tc, "open test file",
apr_file_open(&f, fname,
- APR_CREATE|APR_WRITE,
+ APR_FOPEN_CREATE|APR_FOPEN_WRITE,
APR_UREAD|APR_UWRITE, p));
@@ -854,7 +854,7 @@ static void test_fail_write_flush(abts_case *tc, void *data)
APR_ASSERT_SUCCESS(tc, "open test file",
apr_file_open(&f, fname,
- APR_CREATE|APR_READ|APR_BUFFERED,
+ APR_FOPEN_CREATE|APR_FOPEN_READ|APR_FOPEN_BUFFERED,
APR_UREAD|APR_UWRITE, p));
memset(buf, 'A', sizeof buf);
@@ -884,7 +884,7 @@ static void test_fail_read_flush(abts_case *tc, void *data)
APR_ASSERT_SUCCESS(tc, "open test file",
apr_file_open(&f, fname,
- APR_CREATE|APR_READ|APR_BUFFERED,
+ APR_FOPEN_CREATE|APR_FOPEN_READ|APR_FOPEN_BUFFERED,
APR_UREAD|APR_UWRITE, p));
/* this write should be buffered. */
@@ -923,7 +923,7 @@ static void test_xthread(abts_case *tc, void *data)
apr_file_t *f;
const char *fname = "data/testxthread.dat";
apr_status_t rv;
- apr_int32_t flags = APR_CREATE|APR_READ|APR_WRITE|APR_APPEND|APR_XTHREAD;
+ apr_int32_t flags = APR_FOPEN_CREATE|APR_FOPEN_READ|APR_FOPEN_WRITE|APR_FOPEN_APPEND|APR_FOPEN_XTHREAD;
char buf[128] = { 0 };
/* Test for bug 38438, opening file with append + xthread and seeking to
diff --git a/srclib/apr/test/testfileinfo.c b/srclib/apr/test/testfileinfo.c
index ea58e12c..ff085930 100644
--- a/srclib/apr/test/testfileinfo.c
+++ b/srclib/apr/test/testfileinfo.c
@@ -109,7 +109,7 @@ static void test_info_get(abts_case *tc, void *data)
apr_finfo_t finfo;
apr_status_t rv;
- rv = apr_file_open(&thefile, FILENAME, APR_READ, APR_OS_DEFAULT, p);
+ rv = apr_file_open(&thefile, FILENAME, APR_FOPEN_READ, APR_OS_DEFAULT, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
rv = apr_file_info_get(&finfo, APR_FINFO_NORM, thefile);
@@ -155,7 +155,7 @@ static void test_stat_eq_finfo(abts_case *tc, void *data)
apr_finfo_t stat_finfo;
apr_status_t rv;
- rv = apr_file_open(&thefile, FILENAME, APR_READ, APR_OS_DEFAULT, p);
+ rv = apr_file_open(&thefile, FILENAME, APR_FOPEN_READ, APR_OS_DEFAULT, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
rv = apr_file_info_get(&finfo, APR_FINFO_NORM, thefile);
@@ -180,8 +180,8 @@ static void test_buffered_write_size(abts_case *tc, void *data)
apr_size_t bytes;
rv = apr_file_open(&thefile, NEWFILENAME,
- APR_READ | APR_WRITE | APR_CREATE | APR_TRUNCATE
- | APR_BUFFERED | APR_DELONCLOSE,
+ APR_FOPEN_READ | APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE
+ | APR_FOPEN_BUFFERED | APR_FOPEN_DELONCLOSE,
APR_OS_DEFAULT, p);
APR_ASSERT_SUCCESS(tc, "open file", rv);
@@ -213,8 +213,8 @@ static void test_mtime_set(abts_case *tc, void *data)
* the epoch.
*/
rv = apr_file_open(&thefile, NEWFILENAME,
- APR_READ | APR_WRITE | APR_CREATE | APR_TRUNCATE
- | APR_BUFFERED | APR_DELONCLOSE,
+ APR_FOPEN_READ | APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE
+ | APR_FOPEN_BUFFERED | APR_FOPEN_DELONCLOSE,
APR_OS_DEFAULT, p);
APR_ASSERT_SUCCESS(tc, "open file", rv);
diff --git a/srclib/apr/test/testflock.c b/srclib/apr/test/testflock.c
index 136d9f64..b9e8c792 100644
--- a/srclib/apr/test/testflock.c
+++ b/srclib/apr/test/testflock.c
@@ -63,7 +63,7 @@ static void test_withlock(abts_case *tc, void *data)
apr_status_t rv;
int code;
- rv = apr_file_open(&file, TESTFILE, APR_WRITE|APR_CREATE,
+ rv = apr_file_open(&file, TESTFILE, APR_FOPEN_WRITE|APR_FOPEN_CREATE,
APR_OS_DEFAULT, p);
APR_ASSERT_SUCCESS(tc, "Could not create file.", rv);
ABTS_PTR_NOTNULL(tc, file);
diff --git a/srclib/apr/test/testfnmatch.c b/srclib/apr/test/testfnmatch.c
index 37961988..17a75441 100644
--- a/srclib/apr/test/testfnmatch.c
+++ b/srclib/apr/test/testfnmatch.c
@@ -25,6 +25,184 @@
#define NUM_FILES (5)
+#define APR_FNM_BITS 15
+#define APR_FNM_FAILBIT 256
+
+#define FAILS_IF(X) 0, X
+#define SUCCEEDS_IF(X) X, 256
+#define SUCCEEDS 0, 256
+#define FAILS 256, 0
+
+static struct pattern_s {
+ const char *pattern;
+ const char *string;
+ int require_flags;
+ int fail_flags;
+} patterns[] = {
+
+/* Pattern, String to Test, Flags to Match */
+ {"", "test", FAILS},
+ {"", "*", FAILS},
+ {"test", "*", FAILS},
+ {"test", "test", SUCCEEDS},
+
+ /* Remember C '\\' is a single backslash in pattern */
+ {"te\\st", "test", FAILS_IF(APR_FNM_NOESCAPE)},
+ {"te\\\\st", "te\\st", FAILS_IF(APR_FNM_NOESCAPE)},
+ {"te\\*t", "te*t", FAILS_IF(APR_FNM_NOESCAPE)},
+ {"te\\*t", "test", FAILS},
+ {"te\\?t", "te?t", FAILS_IF(APR_FNM_NOESCAPE)},
+ {"te\\?t", "test", FAILS},
+
+ {"tesT", "test", SUCCEEDS_IF(APR_FNM_CASE_BLIND)},
+ {"test", "Test", SUCCEEDS_IF(APR_FNM_CASE_BLIND)},
+ {"tEst", "teSt", SUCCEEDS_IF(APR_FNM_CASE_BLIND)},
+
+ {"?est", "test", SUCCEEDS},
+ {"te?t", "test", SUCCEEDS},
+ {"tes?", "test", SUCCEEDS},
+ {"test?", "test", FAILS},
+
+ {"*", "", SUCCEEDS},
+ {"*", "test", SUCCEEDS},
+ {"*test", "test", SUCCEEDS},
+ {"*est", "test", SUCCEEDS},
+ {"*st", "test", SUCCEEDS},
+ {"t*t", "test", SUCCEEDS},
+ {"te*t", "test", SUCCEEDS},
+ {"te*st", "test", SUCCEEDS},
+ {"te*", "test", SUCCEEDS},
+ {"tes*", "test", SUCCEEDS},
+ {"test*", "test", SUCCEEDS},
+
+ {".[\\-\\t]", ".t", SUCCEEDS},
+ {"test*?*[a-z]*", "testgoop", SUCCEEDS},
+ {"te[^x]t", "test", SUCCEEDS},
+ {"te[^abc]t", "test", SUCCEEDS},
+ {"te[^x]t", "test", SUCCEEDS},
+ {"te[!x]t", "test", SUCCEEDS},
+ {"te[^x]t", "text", FAILS},
+ {"te[^\\x]t", "text", FAILS},
+ {"te[^x\\", "text", FAILS},
+ {"te[/]t", "text", FAILS},
+ {"te[S]t", "test", SUCCEEDS_IF(APR_FNM_CASE_BLIND)},
+ {"te[r-t]t", "test", SUCCEEDS},
+ {"te[r-t]t", "teSt", SUCCEEDS_IF(APR_FNM_CASE_BLIND)},
+ {"te[r-T]t", "test", SUCCEEDS_IF(APR_FNM_CASE_BLIND)},
+ {"te[R-T]t", "test", SUCCEEDS_IF(APR_FNM_CASE_BLIND)},
+ {"te[r-Tz]t", "tezt", SUCCEEDS},
+ {"te[R-T]t", "tent", FAILS},
+ {"tes[]t]", "test", SUCCEEDS},
+ {"tes[t-]", "test", SUCCEEDS},
+ {"tes[t-]]", "test]", SUCCEEDS},
+ {"tes[t-]]", "test", FAILS},
+ {"tes[u-]", "test", FAILS},
+ {"tes[t-]", "tes[t-]", FAILS},
+ {"test[/-/]", "test[/-/]", SUCCEEDS_IF(APR_FNM_PATHNAME)},
+ {"test[\\/-/]", "test[/-/]", APR_FNM_PATHNAME, APR_FNM_NOESCAPE},
+ {"test[/-\\/]", "test[/-/]", APR_FNM_PATHNAME, APR_FNM_NOESCAPE},
+ {"test[/-/]", "test/", FAILS_IF(APR_FNM_PATHNAME)},
+ {"test[\\/-/]", "test/", FAILS_IF(APR_FNM_PATHNAME)},
+ {"test[/-\\/]", "test/", FAILS_IF(APR_FNM_PATHNAME)},
+
+ {"/", "", FAILS},
+ {"", "/", FAILS},
+ {"/test", "test", FAILS},
+ {"test", "/test", FAILS},
+ {"test/", "test", FAILS},
+ {"test", "test/", FAILS},
+ {"\\/test", "/test", FAILS_IF(APR_FNM_NOESCAPE)},
+ {"*test", "/test", FAILS_IF(APR_FNM_PATHNAME)},
+ {"/*/test/", "/test", FAILS},
+ {"/*/test/", "/test/test/", SUCCEEDS},
+ {"test/this", "test/", FAILS},
+ {"test/", "test/this", FAILS},
+ {"test*/this", "test/this", SUCCEEDS},
+ {"test*/this", "test/that", FAILS},
+ {"test/*this", "test/this", SUCCEEDS},
+
+ {".*", ".this", SUCCEEDS},
+ {"*", ".this", FAILS_IF(APR_FNM_PERIOD)},
+ {"?this", ".this", FAILS_IF(APR_FNM_PERIOD)},
+ {"[.]this", ".this", FAILS_IF(APR_FNM_PERIOD)},
+
+ {"test/this", "test/this", SUCCEEDS},
+ {"test?this", "test/this", FAILS_IF(APR_FNM_PATHNAME)},
+ {"test*this", "test/this", FAILS_IF(APR_FNM_PATHNAME)},
+ {"test[/]this", "test/this", FAILS_IF(APR_FNM_PATHNAME)},
+
+ {"test/.*", "test/.this", SUCCEEDS},
+ {"test/*", "test/.this", FAILS_IF(APR_FNM_PERIOD | APR_FNM_PATHNAME)},
+ {"test/?this", "test/.this", FAILS_IF(APR_FNM_PERIOD | APR_FNM_PATHNAME)},
+ {"test/[.]this", "test/.this", FAILS_IF(APR_FNM_PERIOD | APR_FNM_PATHNAME)},
+
+ {NULL, NULL, 0}
+};
+
+
+
+static void test_fnmatch(abts_case *tc, void *data)
+{
+ struct pattern_s *test = patterns;
+ char buf[80];
+ int i = APR_FNM_BITS + 1;
+ int res;
+
+ for (test = patterns; test->pattern; ++test)
+ {
+ for (i = 0; i <= APR_FNM_BITS; ++i)
+ {
+ res = apr_fnmatch(test->pattern, test->string, i);
+ if (((i & test->require_flags) != test->require_flags)
+ || ((i & test->fail_flags) == test->fail_flags)) {
+ if (res != APR_FNM_NOMATCH)
+ break;
+ }
+ else {
+ if (res != 0)
+ break;
+ }
+ }
+ if (i <= APR_FNM_BITS)
+ break;
+ }
+
+ if (i <= APR_FNM_BITS) {
+ sprintf(buf, "apr_fnmatch(\"%s\", \"%s\", %d) returns %d\n",
+ test->pattern, test->string, i, res);
+ abts_fail(tc, buf, __LINE__);
+ }
+}
+
+static void test_fnmatch_test(abts_case *tc, void *data)
+{
+ static const struct test {
+ const char *pattern;
+ int result;
+ } ft_tests[] = {
+ { "a*b", 1 },
+ { "a?", 1 },
+ { "a\\b?", 1 },
+ { "a[b-c]", 1 },
+ { "a", 0 },
+ { "a\\", 0 },
+ { NULL, 0 }
+ };
+ const struct test *t;
+
+ for (t = ft_tests; t->pattern != NULL; t++) {
+ int res = apr_fnmatch_test(t->pattern);
+
+ if (res != t->result) {
+ char buf[128];
+
+ sprintf(buf, "apr_fnmatch_test(\"%s\") = %d, expected %d\n",
+ t->pattern, res, t->result);
+ abts_fail(tc, buf, __LINE__);
+ }
+ }
+}
+
static void test_glob(abts_case *tc, void *data)
{
int i;
@@ -68,6 +246,8 @@ abts_suite *testfnmatch(abts_suite *suite)
{
suite = ADD_SUITE(suite)
+ abts_run_test(suite, test_fnmatch, NULL);
+ abts_run_test(suite, test_fnmatch_test, NULL);
abts_run_test(suite, test_glob, NULL);
abts_run_test(suite, test_glob_currdir, NULL);
diff --git a/srclib/apr/test/testmmap.c b/srclib/apr/test/testmmap.c
index ee87b3bf..4063ba62 100644
--- a/srclib/apr/test/testmmap.c
+++ b/srclib/apr/test/testmmap.c
@@ -73,7 +73,7 @@ static void test_file_open(abts_case *tc, void *data)
{
apr_status_t rv;
- rv = apr_file_open(&thefile, file1, APR_READ, APR_UREAD | APR_GREAD, p);
+ rv = apr_file_open(&thefile, file1, APR_FOPEN_READ, APR_UREAD | APR_GREAD, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
ABTS_PTR_NOTNULL(tc, thefile);
}
diff --git a/srclib/apr/test/testnames.c b/srclib/apr/test/testnames.c
index ae650b19..7a310faf 100644
--- a/srclib/apr/test/testnames.c
+++ b/srclib/apr/test/testnames.c
@@ -21,6 +21,11 @@
#include "apr_general.h"
#include "apr_pools.h"
#include "apr_lib.h"
+#include "apr_strings.h"
+
+#if defined(WIN32)
+#include <direct.h>
+#endif
#if defined(WIN32) || defined(OS2)
#define ABS_ROOT "C:/"
@@ -175,6 +180,42 @@ static void merge_notabs(abts_case *tc, void *data)
ABTS_STR_EQUAL(tc, "foo/baz", dstpath);
}
+#if defined (WIN32)
+static void merge_lowercasedrive(abts_case *tc, void *data)
+{
+ char current_dir[1024];
+ char current_dir_on_C[1024];
+ char *dir_on_c;
+ char *testdir;
+ apr_status_t rv;
+
+ /* Change the current directory on C: from something like "C:\dir"
+ to something like "c:\dir" to replicate the failing case. */
+ ABTS_PTR_NOTNULL(tc, _getcwd(current_dir, sizeof(current_dir)));
+
+ /* 3 stands for drive C: */
+ ABTS_PTR_NOTNULL(tc, _getdcwd(3, current_dir_on_C,
+ sizeof(current_dir_on_C)));
+
+ /* Use the same path, but now with a lower case driveletter */
+ dir_on_c = apr_pstrdup(p, current_dir_on_C);
+ dir_on_c[0] = (char)tolower(dir_on_c[0]);
+
+ chdir(dir_on_c);
+
+ /* Now merge a drive relative path with an upper case drive letter. */
+ rv = apr_filepath_merge(&testdir, NULL, "C:hi",
+ APR_FILEPATH_NOTRELATIVE, p);
+
+ /* Change back to original directory for next tests */
+ chdir("C:\\"); /* Switch to upper case */
+ chdir(current_dir_on_C); /* Switch cwd on C: */
+ chdir(current_dir); /* Switch back to original cwd */
+
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+}
+#endif
+
static void root_absolute(abts_case *tc, void *data)
{
apr_status_t rv;
@@ -294,6 +335,9 @@ abts_suite *testnames(abts_suite *suite)
abts_run_test(suite, merge_notabs, NULL);
abts_run_test(suite, merge_notabsfail, NULL);
abts_run_test(suite, merge_dotdot_dotdot_dotdot, NULL);
+#if defined(WIN32)
+ abts_run_test(suite, merge_lowercasedrive, NULL);
+#endif
abts_run_test(suite, root_absolute, NULL);
abts_run_test(suite, root_relative, NULL);
diff --git a/srclib/apr/test/testpoll.c b/srclib/apr/test/testpoll.c
index b298c916..dc209493 100644
--- a/srclib/apr/test/testpoll.c
+++ b/srclib/apr/test/testpoll.c
@@ -769,6 +769,69 @@ static void pollcb_default(abts_case *tc, void *data)
}
}
+static void justsleep(abts_case *tc, void *data)
+{
+ apr_int32_t nsds;
+ const apr_pollfd_t *hot_files;
+ apr_pollset_t *pollset;
+ apr_status_t rv;
+ apr_time_t t1, t2;
+ int i;
+ apr_pollset_method_e methods[] = {
+ APR_POLLSET_DEFAULT,
+ APR_POLLSET_SELECT,
+ APR_POLLSET_KQUEUE,
+ APR_POLLSET_PORT,
+ APR_POLLSET_EPOLL,
+ APR_POLLSET_POLL};
+
+ nsds = 1;
+ t1 = apr_time_now();
+ rv = apr_poll(NULL, 0, &nsds, apr_time_from_msec(200));
+ t2 = apr_time_now();
+ ABTS_INT_EQUAL(tc, 1, APR_STATUS_IS_TIMEUP(rv));
+ ABTS_INT_EQUAL(tc, 0, nsds);
+ ABTS_ASSERT(tc,
+ "apr_poll() didn't sleep",
+ (t2 - t1) > apr_time_from_msec(100));
+
+ for (i = 0; i < sizeof methods / sizeof methods[0]; i++) {
+ rv = apr_pollset_create_ex(&pollset, 5, p, 0, methods[i]);
+ if (rv != APR_ENOTIMPL) {
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ nsds = 1;
+ t1 = apr_time_now();
+ rv = apr_pollset_poll(pollset, apr_time_from_msec(200), &nsds,
+ &hot_files);
+ t2 = apr_time_now();
+ ABTS_INT_EQUAL(tc, 1, APR_STATUS_IS_TIMEUP(rv));
+ ABTS_INT_EQUAL(tc, 0, nsds);
+ ABTS_ASSERT(tc,
+ "apr_pollset_poll() didn't sleep",
+ (t2 - t1) > apr_time_from_msec(100));
+
+ rv = apr_pollset_destroy(pollset);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ }
+
+ rv = apr_pollcb_create_ex(&pollcb, 5, p, 0, methods[0]);
+ if (rv != APR_ENOTIMPL) {
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ t1 = apr_time_now();
+ rv = apr_pollcb_poll(pollcb, apr_time_from_msec(200), NULL, NULL);
+ t2 = apr_time_now();
+ ABTS_INT_EQUAL(tc, 1, APR_STATUS_IS_TIMEUP(rv));
+ ABTS_ASSERT(tc,
+ "apr_pollcb_poll() didn't sleep",
+ (t2 - t1) > apr_time_from_msec(100));
+
+ /* no apr_pollcb_destroy() */
+ }
+ }
+}
+
abts_suite *testpoll(abts_suite *suite)
{
suite = ADD_SUITE(suite)
@@ -808,6 +871,7 @@ abts_suite *testpoll(abts_suite *suite)
abts_run_test(suite, close_all_sockets, NULL);
abts_run_test(suite, pollset_default, NULL);
abts_run_test(suite, pollcb_default, NULL);
+ abts_run_test(suite, justsleep, NULL);
return suite;
}
diff --git a/srclib/apr/test/testproc.c b/srclib/apr/test/testproc.c
index 5cf768f1..c983f259 100644
--- a/srclib/apr/test/testproc.c
+++ b/srclib/apr/test/testproc.c
@@ -91,15 +91,15 @@ static void test_file_redir(abts_case *tc, void *data)
testfile = NULL;
rv = apr_file_open(&testfile, "data/stdin",
- APR_READ | APR_WRITE | APR_CREATE | APR_EXCL,
+ APR_FOPEN_READ | APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_EXCL,
APR_OS_DEFAULT, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
rv = apr_file_open(&testout, "data/stdout",
- APR_READ | APR_WRITE | APR_CREATE | APR_EXCL,
+ APR_FOPEN_READ | APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_EXCL,
APR_OS_DEFAULT, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
rv = apr_file_open(&testerr, "data/stderr",
- APR_READ | APR_WRITE | APR_CREATE | APR_EXCL,
+ APR_FOPEN_READ | APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_EXCL,
APR_OS_DEFAULT, p);
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
diff --git a/srclib/apr/test/testrand.c b/srclib/apr/test/testrand.c
index 6ced4a34..333491f3 100644
--- a/srclib/apr/test/testrand.c
+++ b/srclib/apr/test/testrand.c
@@ -63,6 +63,7 @@ static void rand_run_kat(abts_case *tc, rnd_fn *f, apr_random_t *r,
}
}
+#if APR_HAS_FORK
static int rand_check_kat(rnd_fn *f, apr_random_t *r,
const unsigned char expected[128])
{
@@ -76,6 +77,7 @@ static int rand_check_kat(rnd_fn *f, apr_random_t *r,
return 1;
return 0;
}
+#endif
static void rand_add_zeroes(apr_random_t *r)
{
diff --git a/srclib/apr/test/testshm.c b/srclib/apr/test/testshm.c
index 6c192f29..bbaf6250 100644
--- a/srclib/apr/test/testshm.c
+++ b/srclib/apr/test/testshm.c
@@ -31,6 +31,7 @@
#if APR_HAS_SHARED_MEMORY
+#if APR_HAS_FORK
static int msgwait(int sleep_sec, int first_box, int last_box)
{
int i;
@@ -58,6 +59,7 @@ static void msgput(int boxnum, char *msg)
apr_cpystrn(boxes[boxnum].msg, msg, strlen(msg) + 1);
boxes[boxnum].msgavail = 1;
}
+#endif /* APR_HAS_FORK */
static void test_anon_create(abts_case *tc, void *data)
{
diff --git a/srclib/apr/test/testsock.c b/srclib/apr/test/testsock.c
index b1115fd4..37063bf7 100644
--- a/srclib/apr/test/testsock.c
+++ b/srclib/apr/test/testsock.c
@@ -74,6 +74,12 @@ static void test_addr_info(abts_case *tc, void *data)
rv = apr_sockaddr_info_get(&sa, "127.0.0.1", APR_UNSPEC, 80, 0, p);
APR_ASSERT_SUCCESS(tc, "Problem generating sockaddr", rv);
ABTS_STR_EQUAL(tc, "127.0.0.1", sa->hostname);
+
+ rv = apr_sockaddr_info_get(&sa, "127.0.0.1", APR_UNSPEC, 0, 0, p);
+ APR_ASSERT_SUCCESS(tc, "Problem generating sockaddr", rv);
+ ABTS_STR_EQUAL(tc, "127.0.0.1", sa->hostname);
+ ABTS_INT_EQUAL(tc, 0, sa->port);
+ ABTS_INT_EQUAL(tc, 0, ntohs(sa->sa.sin.sin_port));
}
static void test_serv_by_name(abts_case *tc, void *data)
@@ -328,16 +334,20 @@ static void test_get_addr(abts_case *tc, void *data)
apr_status_t rv;
apr_socket_t *ld, *sd, *cd;
apr_sockaddr_t *sa, *ca;
+ apr_pool_t *subp;
char *a, *b;
- ld = setup_socket(tc);
+ APR_ASSERT_SUCCESS(tc, "create subpool", apr_pool_create(&subp, p));
+
+ if ((ld = setup_socket(tc)) != APR_SUCCESS)
+ return;
APR_ASSERT_SUCCESS(tc,
"get local address of bound socket",
apr_socket_addr_get(&sa, APR_LOCAL, ld));
rv = apr_socket_create(&cd, sa->family, SOCK_STREAM,
- APR_PROTO_TCP, p);
+ APR_PROTO_TCP, subp);
APR_ASSERT_SUCCESS(tc, "create client socket", rv);
APR_ASSERT_SUCCESS(tc, "enable non-block mode",
@@ -363,7 +373,7 @@ static void test_get_addr(abts_case *tc, void *data)
}
APR_ASSERT_SUCCESS(tc, "accept connection",
- apr_socket_accept(&sd, ld, p));
+ apr_socket_accept(&sd, ld, subp));
{
/* wait for writability */
@@ -383,18 +393,38 @@ static void test_get_addr(abts_case *tc, void *data)
APR_ASSERT_SUCCESS(tc, "get local address of server socket",
apr_socket_addr_get(&sa, APR_LOCAL, sd));
-
APR_ASSERT_SUCCESS(tc, "get remote address of client socket",
apr_socket_addr_get(&ca, APR_REMOTE, cd));
-
- a = apr_psprintf(p, "%pI", sa);
- b = apr_psprintf(p, "%pI", ca);
+ /* Test that the pool of the returned sockaddr objects exactly
+ * match the socket. */
+ ABTS_PTR_EQUAL(tc, subp, sa->pool);
+ ABTS_PTR_EQUAL(tc, subp, ca->pool);
+
+ /* Check equivalence. */
+ a = apr_psprintf(p, "%pI fam=%d", sa, sa->family);
+ b = apr_psprintf(p, "%pI fam=%d", ca, ca->family);
+ ABTS_STR_EQUAL(tc, a, b);
+
+ /* Check pool of returned sockaddr, as above. */
+ APR_ASSERT_SUCCESS(tc, "get local address of client socket",
+ apr_socket_addr_get(&sa, APR_LOCAL, cd));
+ APR_ASSERT_SUCCESS(tc, "get remote address of server socket",
+ apr_socket_addr_get(&ca, APR_REMOTE, sd));
+
+ /* Check equivalence. */
+ a = apr_psprintf(p, "%pI fam=%d", sa, sa->family);
+ b = apr_psprintf(p, "%pI fam=%d", ca, ca->family);
ABTS_STR_EQUAL(tc, a, b);
+
+ ABTS_PTR_EQUAL(tc, subp, sa->pool);
+ ABTS_PTR_EQUAL(tc, subp, ca->pool);
apr_socket_close(cd);
apr_socket_close(sd);
apr_socket_close(ld);
+
+ apr_pool_destroy(subp);
}
abts_suite *testsock(abts_suite *suite)
diff --git a/srclib/apr/test/tryread.c b/srclib/apr/test/tryread.c
index 729f8e69..569d647c 100644
--- a/srclib/apr/test/tryread.c
+++ b/srclib/apr/test/tryread.c
@@ -33,7 +33,7 @@ int main(int argc, const char * const *argv)
apr_initialize();
apr_pool_create(&p, NULL);
- if (apr_file_open(&file, TESTFILE, APR_WRITE, APR_OS_DEFAULT, p)
+ if (apr_file_open(&file, TESTFILE, APR_FOPEN_WRITE, APR_OS_DEFAULT, p)
!= APR_SUCCESS) {
exit(UNEXPECTED_ERROR);
diff --git a/srclib/apr/threadproc/netware/proc.c b/srclib/apr/threadproc/netware/proc.c
index 026ca6fd..d2404a82 100644
--- a/srclib/apr/threadproc/netware/proc.c
+++ b/srclib/apr/threadproc/netware/proc.c
@@ -26,7 +26,7 @@
*/
static apr_file_t no_file = { NULL, -1, };
-apr_status_t apr_netware_proc_cleanup(void *theproc)
+static apr_status_t apr_netware_proc_cleanup(void *theproc)
{
apr_proc_t *proc = theproc;
int exit_int;
@@ -448,8 +448,10 @@ APR_DECLARE(apr_status_t) apr_proc_wait(apr_proc_t *proc,
return errno;
}
-APR_DECLARE(apr_status_t) apr_procattr_limit_set(apr_procattr_t *attr, apr_int32_t what,
- struct rlimit *limit)
+#if APR_HAVE_STRUCT_RLIMIT
+APR_DECLARE(apr_status_t) apr_procattr_limit_set(apr_procattr_t *attr,
+ apr_int32_t what,
+ struct rlimit *limit)
{
switch(what) {
case APR_LIMIT_CPU:
@@ -459,13 +461,15 @@ APR_DECLARE(apr_status_t) apr_procattr_limit_set(apr_procattr_t *attr, apr_int32
#else
return APR_ENOTIMPL;
#endif
+
case APR_LIMIT_MEM:
-#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM) || defined(RLIMIT_AS)
+#if defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined(RLIMIT_AS)
attr->limit_mem = limit;
break;
#else
return APR_ENOTIMPL;
#endif
+
case APR_LIMIT_NPROC:
#ifdef RLIMIT_NPROC
attr->limit_nproc = limit;
@@ -473,9 +477,19 @@ APR_DECLARE(apr_status_t) apr_procattr_limit_set(apr_procattr_t *attr, apr_int32
#else
return APR_ENOTIMPL;
#endif
+
+ case APR_LIMIT_NOFILE:
+#ifdef RLIMIT_NOFILE
+ attr->limit_nofile = limit;
+ break;
+#else
+ return APR_ENOTIMPL;
+#endif
+
}
return APR_SUCCESS;
}
+#endif /* APR_HAVE_STRUCT_RLIMIT */
APR_DECLARE(apr_status_t) apr_procattr_user_set(apr_procattr_t *attr,
const char *username,
diff --git a/srclib/apr/threadproc/netware/signals.c b/srclib/apr/threadproc/netware/signals.c
index bc660af7..c744da5c 100644
--- a/srclib/apr/threadproc/netware/signals.c
+++ b/srclib/apr/threadproc/netware/signals.c
@@ -15,7 +15,6 @@
*/
#include "apr_arch_threadproc.h"
-#include <nks/thread.h>
#include "apr_private.h"
#include "apr_pools.h"
#include "apr_signal.h"
@@ -64,12 +63,12 @@ static void *signal_thread_func(void *signal_handler)
return NULL;
}
+#if (APR_HAVE_SIGWAIT || APR_HAVE_SIGSUSPEND)
APR_DECLARE(apr_status_t) apr_setup_signal_thread(void)
{
- int rv = 0;
-
- return rv;
+ return 0;
}
+#endif /* (APR_HAVE_SIGWAIT || APR_HAVE_SIGSUSPEND) */
APR_DECLARE(apr_status_t) apr_signal_block(int signum)
{
diff --git a/srclib/apr/threadproc/netware/thread.c b/srclib/apr/threadproc/netware/thread.c
index 4b5d930a..e1a46e6e 100644
--- a/srclib/apr/threadproc/netware/thread.c
+++ b/srclib/apr/threadproc/netware/thread.c
@@ -41,7 +41,7 @@ apr_status_t apr_threadattr_create(apr_threadattr_t **new,
apr_status_t apr_threadattr_detach_set(apr_threadattr_t *attr,apr_int32_t on)
{
attr->detach = on;
- return APR_SUCCESS;
+ return APR_SUCCESS;
}
apr_status_t apr_threadattr_detach_get(apr_threadattr_t *attr)
@@ -71,21 +71,21 @@ static void *dummy_worker(void *opaque)
}
apr_status_t apr_thread_create(apr_thread_t **new,
- apr_threadattr_t *attr,
- apr_thread_start_t func,
- void *data,
- apr_pool_t *pool)
+ apr_threadattr_t *attr,
+ apr_thread_start_t func,
+ void *data,
+ apr_pool_t *pool)
{
apr_status_t stat;
long flags = NX_THR_BIND_CONTEXT;
- char threadName[NX_MAX_OBJECT_NAME_LEN+1];
+ char threadName[NX_MAX_OBJECT_NAME_LEN+1];
size_t stack_size = APR_DEFAULT_STACK_SIZE;
if (attr && attr->thread_name) {
strncpy (threadName, attr->thread_name, NX_MAX_OBJECT_NAME_LEN);
}
else {
- sprintf(threadName, "APR_thread %04ld", ++thread_count);
+ sprintf(threadName, "APR_thread %04ld", ++thread_count);
}
/* An original stack size of 0 will allow NXCreateThread() to
@@ -117,27 +117,26 @@ apr_status_t apr_thread_create(apr_thread_t **new,
}
(*new)->ctx = NXContextAlloc(
- /* void(*start_routine)(void *arg)*/(void (*)(void *)) dummy_worker,
- /* void *arg */ (*new),
- /* int priority */ NX_PRIO_MED,
- /* NXSize_t stackSize */ stack_size,
- /* long flags */ NX_CTX_NORMAL,
- /* int *error */ &stat);
-
-
- stat = NXContextSetName(
- /* NXContext_t ctx */ (*new)->ctx,
- /* const char *name */ threadName);
-
- stat = NXThreadCreate(
- /* NXContext_t context */ (*new)->ctx,
- /* long flags */ flags,
- /* NXThreadId_t *thread_id */ &(*new)->td);
-
- if(stat==0)
- return APR_SUCCESS;
+ /* void(*start_routine)(void *arg) */ (void (*)(void *)) dummy_worker,
+ /* void *arg */ (*new),
+ /* int priority */ NX_PRIO_MED,
+ /* NXSize_t stackSize */ stack_size,
+ /* long flags */ NX_CTX_NORMAL,
+ /* int *error */ &stat);
+
+ stat = NXContextSetName(
+ /* NXContext_t ctx */ (*new)->ctx,
+ /* const char *name */ threadName);
+
+ stat = NXThreadCreate(
+ /* NXContext_t context */ (*new)->ctx,
+ /* long flags */ flags,
+ /* NXThreadId_t *thread_id */ &(*new)->td);
+
+ if (stat == 0)
+ return APR_SUCCESS;
- return(stat);// if error
+ return(stat); /* if error */
}
apr_os_thread_t apr_os_thread_current()
diff --git a/srclib/apr/threadproc/unix/proc.c b/srclib/apr/threadproc/unix/proc.c
index 283706cf..b5e4dd47 100644
--- a/srclib/apr/threadproc/unix/proc.c
+++ b/srclib/apr/threadproc/unix/proc.c
@@ -667,6 +667,7 @@ APR_DECLARE(apr_status_t) apr_proc_wait(apr_proc_t *proc,
return errno;
}
+#if APR_HAVE_STRUCT_RLIMIT
APR_DECLARE(apr_status_t) apr_procattr_limit_set(apr_procattr_t *attr,
apr_int32_t what,
struct rlimit *limit)
@@ -681,7 +682,7 @@ APR_DECLARE(apr_status_t) apr_procattr_limit_set(apr_procattr_t *attr,
#endif
case APR_LIMIT_MEM:
-#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM) || defined(RLIMIT_AS)
+#if defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined(RLIMIT_AS)
attr->limit_mem = limit;
break;
#else
@@ -708,3 +709,5 @@ APR_DECLARE(apr_status_t) apr_procattr_limit_set(apr_procattr_t *attr,
return APR_SUCCESS;
}
+#endif /* APR_HAVE_STRUCT_RLIMIT */
+
diff --git a/srclib/apr/threadproc/win32/signals.c b/srclib/apr/threadproc/win32/signals.c
index b9702309..f19fb032 100644
--- a/srclib/apr/threadproc/win32/signals.c
+++ b/srclib/apr/threadproc/win32/signals.c
@@ -17,6 +17,7 @@
#include "apr_arch_threadproc.h"
#include "apr_arch_file_io.h"
#include "apr_thread_proc.h"
+#include "apr_signal.h"
#include "apr_file_io.h"
#include "apr_general.h"
#if APR_HAVE_SIGNAL_H
@@ -50,7 +51,7 @@ void apr_signal_init(apr_pool_t *pglobal)
{
}
-const char *apr_signal_description_get(int signum)
+APR_DECLARE(const char *) apr_signal_description_get(int signum)
{
return "unknown signal (not supported)";
}
diff --git a/srclib/apr/threadproc/win32/threadpriv.c b/srclib/apr/threadproc/win32/threadpriv.c
index 0cbfe620..787c142c 100644
--- a/srclib/apr/threadproc/win32/threadpriv.c
+++ b/srclib/apr/threadproc/win32/threadpriv.c
@@ -41,7 +41,7 @@ APR_DECLARE(apr_status_t) apr_threadkey_private_create(apr_threadkey_t **key,
APR_DECLARE(apr_status_t) apr_threadkey_private_get(void **new,
apr_threadkey_t *key)
{
- if ((*new) = TlsGetValue(key->key)) {
+ if (((*new) = TlsGetValue(key->key))) {
return APR_SUCCESS;
}
return apr_get_os_error();
diff --git a/srclib/apr/time/win32/access.c b/srclib/apr/time/win32/access.c
deleted file mode 100644
index c3ccad6b..00000000
--- a/srclib/apr/time/win32/access.c
+++ /dev/null
@@ -1,204 +0,0 @@
-/* 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 "apr_arch_atime.h"
-#include "apr_time.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-
-apr_status_t apr_get_curtime(struct atime_t *time, apr_time_t *rv)
-{
- if (time) {
- (*rv) = time->currtime;
- return APR_SUCCESS;
- }
- return APR_ENOTIME;
-}
-
-apr_status_t apr_get_sec(struct atime_t *time, apr_int32_t *rv)
-{
- if (time) {
- (*rv) = time->explodedtime->wSecond;
- return APR_SUCCESS;
- }
- return APR_ENOTIME;
-}
-
-apr_status_t apr_get_min(struct atime_t *time, apr_int32_t *rv)
-{
- if (time) {
- (*rv) = time->explodedtime->wMinute;
- return APR_SUCCESS;
- }
- return APR_ENOTIME;
-}
-
-apr_status_t apr_get_hour(struct atime_t *time, apr_int32_t *rv)
-{
- if (time) {
- (*rv) = time->explodedtime->wHour;
- return APR_SUCCESS;
- }
- return APR_ENOTIME;
-}
-
-apr_status_t apr_get_mday(struct atime_t *time, apr_int32_t *rv)
-{
- if (time) {
- (*rv) = time->explodedtime->wDay;
- return APR_SUCCESS;
- }
- return APR_ENOTIME;
-}
-
-apr_status_t apr_get_mon(struct atime_t *time, apr_int32_t *rv)
-{
- if (time) {
- (*rv) = time->explodedtime->wMonth;
- return APR_SUCCESS;
- }
- return APR_ENOTIME;
-}
-
-apr_status_t apr_get_year(struct atime_t *time, apr_int32_t *rv)
-{
- if (time) {
- (*rv) = time->explodedtime->wYear;
- return APR_SUCCESS;
- }
- return APR_ENOTIME;
-}
-
-apr_status_t apr_get_wday(struct atime_t *time, apr_int32_t *rv)
-{
- if (time) {
- (*rv) = time->explodedtime->wDayOfWeek;
- return APR_SUCCESS;
- }
- return APR_ENOTIME;
-}
-
-apr_status_t apr_set_sec(struct atime_t *time, apr_int32_t value)
-{
- if (!time) {
- return APR_ENOTIME;
- }
- if (time->explodedtime == NULL) {
- time->explodedtime = (SYSTEMTIME *)apr_pcalloc(time->cntxt,
- sizeof(SYSTEMTIME));
- }
- if (time->explodedtime == NULL) {
- return APR_ENOMEM;
- }
- time->explodedtime->wSecond = value;
- return APR_SUCCESS;
-}
-
-apr_status_t apr_set_min(struct atime_t *time, apr_int32_t value)
-{
- if (!time) {
- return APR_ENOTIME;
- }
- if (time->explodedtime == NULL) {
- time->explodedtime = (SYSTEMTIME *)apr_pcalloc(time->cntxt,
- sizeof(SYSTEMTIME));
- }
- if (time->explodedtime == NULL) {
- return APR_ENOMEM;
- }
- time->explodedtime->wMinute = value;
- return APR_SUCCESS;
-}
-
-apr_status_t apr_set_hour(struct atime_t *time, apr_int32_t value)
-{
- if (!time) {
- return APR_ENOTIME;
- }
- if (time->explodedtime == NULL) {
- time->explodedtime = (SYSTEMTIME *)apr_pcalloc(time->cntxt,
- sizeof(SYSTEMTIME));
- }
- if (time->explodedtime == NULL) {
- return APR_ENOMEM;
- }
- time->explodedtime->wHour = value;
- return APR_SUCCESS;
-}
-
-apr_status_t apr_set_mday(struct atime_t *time, apr_int32_t value)
-{
- if (!time) {
- return APR_ENOTIME;
- }
- if (time->explodedtime == NULL) {
- time->explodedtime = (SYSTEMTIME *)apr_pcalloc(time->cntxt,
- sizeof(SYSTEMTIME));
- }
- if (time->explodedtime == NULL) {
- return APR_ENOMEM;
- }
- time->explodedtime->wDay = value;
- return APR_SUCCESS;
-}
-
-apr_status_t apr_set_mon(struct atime_t *time, apr_int32_t value)
-{
- if (!time) {
- return APR_ENOTIME;
- }
- if (time->explodedtime == NULL) {
- time->explodedtime = (SYSTEMTIME *)apr_pcalloc(time->cntxt,
- sizeof(SYSTEMTIME));
- }
- if (time->explodedtime == NULL) {
- return APR_ENOMEM;
- }
- time->explodedtime->wMonth = value;
- return APR_SUCCESS;
-}
-
-apr_status_t apr_set_year(struct atime_t *time, apr_int32_t value)
-{
- if (!time) {
- return APR_ENOTIME;
- }
- if (time->explodedtime == NULL) {
- time->explodedtime = (SYSTEMTIME *)apr_pcalloc(time->cntxt,
- sizeof(SYSTEMTIME));
- }
- if (time->explodedtime == NULL) {
- return APR_ENOMEM;
- }
- time->explodedtime->wYear = value;
- return APR_SUCCESS;
-}
-
-apr_status_t apr_set_wday(struct atime_t *time, apr_int32_t value)
-{
- if (!time) {
- return APR_ENOTIME;
- }
- if (time->explodedtime == NULL) {
- time->explodedtime = (SYSTEMTIME *)apr_pcalloc(time->cntxt,
- sizeof(SYSTEMTIME));
- }
- if (time->explodedtime == NULL) {
- return APR_ENOMEM;
- }
- time->explodedtime->wDayOfWeek = value;
- return APR_SUCCESS;
-}
diff --git a/srclib/apr/time/win32/timestr.c b/srclib/apr/time/win32/timestr.c
index 11692499..13841235 100644
--- a/srclib/apr/time/win32/timestr.c
+++ b/srclib/apr/time/win32/timestr.c
@@ -18,6 +18,10 @@
#include "apr_portable.h"
#include "apr_strings.h"
+#if APR_HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
APR_DECLARE_DATA const char apr_month_snames[12][4] =
{
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
@@ -120,8 +124,8 @@ APR_DECLARE(apr_status_t) apr_ctime(char *date_str, apr_time_t t)
#ifndef _WIN32_WCE
-apr_size_t win32_strftime_extra(char *s, size_t max, const char *format,
- const struct tm *tm)
+static apr_size_t win32_strftime_extra(char *s, size_t max, const char *format,
+ const struct tm *tm)
{
/* If the new format string is bigger than max, the result string won't fit
* anyway. If format strings are added, made sure the padding below is
diff --git a/srclib/apr/user/win32/groupinfo.c b/srclib/apr/user/win32/groupinfo.c
index 7739a542..585642f0 100644
--- a/srclib/apr/user/win32/groupinfo.c
+++ b/srclib/apr/user/win32/groupinfo.c
@@ -36,11 +36,11 @@ APR_DECLARE(apr_status_t) apr_gid_get(apr_gid_t *gid,
DWORD rv;
char *pos;
- if (pos = strchr(groupname, '/')) {
+ if ((pos = strchr(groupname, '/'))) {
domain = apr_pstrndup(p, groupname, pos - groupname);
groupname = pos + 1;
}
- else if (pos = strchr(groupname, '\\')) {
+ else if ((pos = strchr(groupname, '\\'))) {
domain = apr_pstrndup(p, groupname, pos - groupname);
groupname = pos + 1;
}
diff --git a/srclib/apr/user/win32/userinfo.c b/srclib/apr/user/win32/userinfo.c
index 3d45df4f..12931ade 100644
--- a/srclib/apr/user/win32/userinfo.c
+++ b/srclib/apr/user/win32/userinfo.c
@@ -30,7 +30,7 @@
* depends on IsValidSid(), which internally we better test long
* before we get here!
*/
-void get_sid_string(char *buf, apr_size_t blen, apr_uid_t id)
+static void get_sid_string(char *buf, apr_size_t blen, apr_uid_t id)
{
PSID_IDENTIFIER_AUTHORITY psia;
DWORD nsa;
@@ -45,10 +45,10 @@ void get_sid_string(char *buf, apr_size_t blen, apr_uid_t id)
+ ((DWORD)(psia->Value[3]) << 16) + ((DWORD)(psia->Value[2]) << 24);
sa = (DWORD)(psia->Value[1]) + ((DWORD)(psia->Value[0]) << 8);
if (sa) {
- slen = apr_snprintf(buf, blen, "S-%lu-0x%04x%08x",
- SID_REVISION, sa, nsa);
+ slen = apr_snprintf(buf, blen, "S-%d-0x%04x%08x",
+ SID_REVISION, (unsigned int)sa, (unsigned int)nsa);
} else {
- slen = apr_snprintf(buf, blen, "S-%lu-%lu",
+ slen = apr_snprintf(buf, blen, "S-%d-%lu",
SID_REVISION, nsa);
}
@@ -211,11 +211,11 @@ APR_DECLARE(apr_status_t) apr_uid_get(apr_uid_t *uid, apr_gid_t *gid,
DWORD rv;
char *pos;
- if (pos = strchr(username, '/')) {
+ if ((pos = strchr(username, '/'))) {
domain = apr_pstrndup(p, username, pos - username);
username = pos + 1;
}
- else if (pos = strchr(username, '\\')) {
+ else if ((pos = strchr(username, '\\'))) {
domain = apr_pstrndup(p, username, pos - username);
username = pos + 1;
}
diff --git a/srclib/pcre/NWGNUmakefile b/srclib/pcre/NWGNUmakefile
index c3ad458d..e744a744 100644
--- a/srclib/pcre/NWGNUmakefile
+++ b/srclib/pcre/NWGNUmakefile
@@ -36,7 +36,7 @@ $(PCRE)/%.h: $(subst /,\,$(PCRE))\%.hw
# INCDIRS
#
XINCDIRS += \
- $(AP_WORK)/os/netware \
+ $(NWOS) \
$(APR)/include/arch/netware \
$(EOLIST)
@@ -137,12 +137,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM =_LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM =_LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -192,7 +192,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
diff --git a/srclib/pcre/dftables.dep b/srclib/pcre/dftables.dep
new file mode 100644
index 00000000..3e1d6ce7
--- /dev/null
+++ b/srclib/pcre/dftables.dep
@@ -0,0 +1,21 @@
+# Microsoft Developer Studio Generated Dependency File, included by dftables.mak
+
+.\dftables.c : \
+ ".\config.h"\
+ ".\internal.h"\
+ ".\maketables.c"\
+ ".\pcre.h"\
+
+
+!IF "$(CFG)" == "dftables - Win32 Release"
+
+!ELSEIF "$(CFG)" == "dftables - Win32 Debug"
+
+!ENDIF
+
+!IF "$(CFG)" == "dftables - Win32 Release"
+
+!ELSEIF "$(CFG)" == "dftables - Win32 Debug"
+
+!ENDIF
+
diff --git a/srclib/pcre/dftables.mak b/srclib/pcre/dftables.mak
new file mode 100644
index 00000000..d5af5ab1
--- /dev/null
+++ b/srclib/pcre/dftables.mak
@@ -0,0 +1,238 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on dftables.dsp
+!IF "$(CFG)" == ""
+CFG=dftables - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to dftables - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "dftables - Win32 Release" && "$(CFG)" != "dftables - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "dftables.mak" CFG="dftables - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "dftables - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "dftables - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "dftables - Win32 Release"
+
+OUTDIR=.
+INTDIR=.\Release
+# Begin Custom Macros
+OutDir=.
+# End Custom Macros
+
+ALL : "$(OUTDIR)\dftables.exe"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\dftables.idb"
+ -@erase "$(INTDIR)\dftables.obj"
+ -@erase "$(OUTDIR)\dftables.exe"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /O2 /D "_WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\dftables" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\dftables.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\Release\dftables.pdb" /out:"$(OUTDIR)\dftables.exe" /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\dftables.obj"
+
+"$(OUTDIR)\dftables.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "dftables - Win32 Debug"
+
+OUTDIR=.
+INTDIR=.\Debug
+# Begin Custom Macros
+OutDir=.
+# End Custom Macros
+
+ALL : ".\pcre.h" ".\config.h" "$(OUTDIR)\dftables.exe"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\dftables.idb"
+ -@erase "$(INTDIR)\dftables.obj"
+ -@erase "$(OUTDIR)\Debug\dftables.pdb"
+ -@erase "$(OUTDIR)\dftables.exe"
+ -@erase ".\config.h"
+ -@erase ".\pcre.h"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /D "_WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\dftables" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\dftables.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\Debug\dftables.pdb" /debug /out:"$(OUTDIR)\dftables.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\dftables.obj"
+
+"$(OUTDIR)\dftables.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("dftables.dep")
+!INCLUDE "dftables.dep"
+!ELSE
+!MESSAGE Warning: cannot find "dftables.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "dftables - Win32 Release" || "$(CFG)" == "dftables - Win32 Debug"
+SOURCE=.\dftables.c
+
+"$(INTDIR)\dftables.obj" : $(SOURCE) "$(INTDIR)" ".\config.h" ".\pcre.h"
+
+
+SOURCE=.\config.hw
+
+!IF "$(CFG)" == "dftables - Win32 Release"
+
+InputPath=.\config.hw
+
+".\config.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\config.hw > .\config.h
+<<
+
+
+!ELSEIF "$(CFG)" == "dftables - Win32 Debug"
+
+InputPath=.\config.hw
+
+".\config.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\config.hw > .\config.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\maketables.c
+SOURCE=.\pcre.hw
+
+!IF "$(CFG)" == "dftables - Win32 Release"
+
+InputPath=.\pcre.hw
+
+".\pcre.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\pcre.hw > .\pcre.h
+<<
+
+
+!ELSEIF "$(CFG)" == "dftables - Win32 Debug"
+
+InputPath=.\pcre.hw
+
+".\pcre.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\pcre.hw > .\pcre.h
+<<
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/srclib/pcre/pcre.dep b/srclib/pcre/pcre.dep
new file mode 100644
index 00000000..a9eb3c1c
--- /dev/null
+++ b/srclib/pcre/pcre.dep
@@ -0,0 +1,51 @@
+# Microsoft Developer Studio Generated Dependency File, included by pcre.mak
+
+!IF "$(CFG)" == "pcre - Win32 Release"
+
+!ELSEIF "$(CFG)" == "pcre - Win32 Debug"
+
+!ENDIF
+
+.\get.c : \
+ ".\config.h"\
+ ".\internal.h"\
+ ".\pcre.h"\
+
+
+.\maketables.c : \
+ ".\config.h"\
+ ".\internal.h"\
+ ".\pcre.h"\
+
+
+.\pcre.c : \
+ ".\chartables.c"\
+ ".\config.h"\
+ ".\internal.h"\
+ ".\pcre.h"\
+ ".\printint.c"\
+ ".\ucp.c"\
+ ".\ucp.h"\
+ ".\ucpinternal.h"\
+ ".\ucptable.c"\
+ ".\ucptypetable.c"\
+
+
+.\study.c : \
+ ".\config.h"\
+ ".\internal.h"\
+ ".\pcre.h"\
+
+
+!IF "$(CFG)" == "pcre - Win32 Release"
+
+!ELSEIF "$(CFG)" == "pcre - Win32 Debug"
+
+!ENDIF
+
+!IF "$(CFG)" == "pcre - Win32 Release"
+
+!ELSEIF "$(CFG)" == "pcre - Win32 Debug"
+
+!ENDIF
+
diff --git a/srclib/pcre/pcre.mak b/srclib/pcre/pcre.mak
new file mode 100644
index 00000000..a094408f
--- /dev/null
+++ b/srclib/pcre/pcre.mak
@@ -0,0 +1,340 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on pcre.dsp
+!IF "$(CFG)" == ""
+CFG=pcre - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to pcre - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "pcre - Win32 Release" && "$(CFG)" != "pcre - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "pcre.mak" CFG="pcre - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "pcre - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "pcre - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "pcre - Win32 Release"
+
+OUTDIR=.\LibR
+INTDIR=.\LibR
+# Begin Custom Macros
+OutDir=.\LibR
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\pcre.lib"
+
+!ELSE
+
+ALL : "dftables - Win32 Release" "$(OUTDIR)\pcre.lib"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"dftables - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\get.obj"
+ -@erase "$(INTDIR)\maketables.obj"
+ -@erase "$(INTDIR)\pcre.obj"
+ -@erase "$(INTDIR)\pcre_src.idb"
+ -@erase "$(INTDIR)\pcre_src.pdb"
+ -@erase "$(INTDIR)\study.obj"
+ -@erase "$(OUTDIR)\pcre.lib"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /D "_WIN32" /D "NDEBUG" /D "_WINDOWS" /D "PCRE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\pcre_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\pcre.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\pcre.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\get.obj" \
+ "$(INTDIR)\maketables.obj" \
+ "$(INTDIR)\pcre.obj" \
+ "$(INTDIR)\study.obj"
+
+"$(OUTDIR)\pcre.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "pcre - Win32 Debug"
+
+OUTDIR=.\LibD
+INTDIR=.\LibD
+# Begin Custom Macros
+OutDir=.\LibD
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : ".\pcre.h" ".\config.h" ".\chartables.c" "$(OUTDIR)\pcre.lib"
+
+!ELSE
+
+ALL : "dftables - Win32 Debug" ".\pcre.h" ".\config.h" ".\chartables.c" "$(OUTDIR)\pcre.lib"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"dftables - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\get.obj"
+ -@erase "$(INTDIR)\maketables.obj"
+ -@erase "$(INTDIR)\pcre.obj"
+ -@erase "$(INTDIR)\pcre_src.idb"
+ -@erase "$(INTDIR)\pcre_src.pdb"
+ -@erase "$(INTDIR)\study.obj"
+ -@erase "$(OUTDIR)\pcre.lib"
+ -@erase ".\chartables.c"
+ -@erase ".\config.h"
+ -@erase ".\pcre.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /D "_WIN32" /D "_DEBUG" /D "_WINDOWS" /D "PCRE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\pcre_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\pcre.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\pcre.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\get.obj" \
+ "$(INTDIR)\maketables.obj" \
+ "$(INTDIR)\pcre.obj" \
+ "$(INTDIR)\study.obj"
+
+"$(OUTDIR)\pcre.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("pcre.dep")
+!INCLUDE "pcre.dep"
+!ELSE
+!MESSAGE Warning: cannot find "pcre.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "pcre - Win32 Release" || "$(CFG)" == "pcre - Win32 Debug"
+SOURCE=.\dftables.exe
+
+!IF "$(CFG)" == "pcre - Win32 Release"
+
+InputPath=.\dftables.exe
+
+".\chartables.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ .\dftables.exe chartables.c
+<<
+
+
+!ELSEIF "$(CFG)" == "pcre - Win32 Debug"
+
+InputPath=.\dftables.exe
+
+".\chartables.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ .\dftables.exe chartables.c
+<<
+
+
+!ENDIF
+
+SOURCE=.\get.c
+
+"$(INTDIR)\get.obj" : $(SOURCE) "$(INTDIR)" ".\config.h" ".\pcre.h"
+
+
+SOURCE=.\maketables.c
+
+"$(INTDIR)\maketables.obj" : $(SOURCE) "$(INTDIR)" ".\config.h" ".\pcre.h"
+
+
+SOURCE=.\pcre.c
+
+"$(INTDIR)\pcre.obj" : $(SOURCE) "$(INTDIR)" ".\chartables.c" ".\config.h" ".\pcre.h"
+
+
+SOURCE=.\study.c
+
+"$(INTDIR)\study.obj" : $(SOURCE) "$(INTDIR)" ".\config.h" ".\pcre.h"
+
+
+SOURCE=.\config.hw
+
+!IF "$(CFG)" == "pcre - Win32 Release"
+
+InputPath=.\config.hw
+
+".\config.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\config.hw > .\config.h
+<<
+
+
+!ELSEIF "$(CFG)" == "pcre - Win32 Debug"
+
+InputPath=.\config.hw
+
+".\config.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\config.hw > .\config.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\pcre.hw
+
+!IF "$(CFG)" == "pcre - Win32 Release"
+
+InputPath=.\pcre.hw
+
+".\pcre.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\pcre.hw > .\pcre.h
+<<
+
+
+!ELSEIF "$(CFG)" == "pcre - Win32 Debug"
+
+InputPath=.\pcre.hw
+
+".\pcre.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ type .\pcre.hw > .\pcre.h
+<<
+
+
+!ENDIF
+
+!IF "$(CFG)" == "pcre - Win32 Release"
+
+"dftables - Win32 Release" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\dftables.mak" CFG="dftables - Win32 Release"
+ cd "."
+
+"dftables - Win32 ReleaseCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\dftables.mak" CFG="dftables - Win32 Release" RECURSE=1 CLEAN
+ cd "."
+
+!ELSEIF "$(CFG)" == "pcre - Win32 Debug"
+
+"dftables - Win32 Debug" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\dftables.mak" CFG="dftables - Win32 Debug"
+ cd "."
+
+"dftables - Win32 DebugCLEAN" :
+ cd "."
+ $(MAKE) /$(MAKEFLAGS) /F ".\dftables.mak" CFG="dftables - Win32 Debug" RECURSE=1 CLEAN
+ cd "."
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/support/Makefile.in b/support/Makefile.in
index 53672e25..85aff340 100644
--- a/support/Makefile.in
+++ b/support/Makefile.in
@@ -3,7 +3,7 @@ DISTCLEAN_TARGETS = apxs apachectl dbmmanage log_server_status \
CLEAN_TARGETS = suexec
-PROGRAMS = htpasswd htdigest rotatelogs logresolve ab checkgid htdbm htcacheclean httxt2dbm
+PROGRAMS = htpasswd htdigest rotatelogs logresolve ab htdbm htcacheclean httxt2dbm $(NONPORTABLE_SUPPORT)
TARGETS = $(PROGRAMS)
PROGRAM_LDADD = $(UTIL_LDFLAGS) $(PROGRAM_DEPENDENCIES) $(EXTRA_LIBS) $(AP_LIBS)
@@ -31,7 +31,7 @@ install:
htpasswd_OBJECTS = htpasswd.lo
htpasswd: $(htpasswd_OBJECTS)
- $(LINK) $(htpasswd_LTFLAGS) $(htpasswd_OBJECTS) $(PROGRAM_LDADD)
+ $(LINK) $(htpasswd_LTFLAGS) $(htpasswd_OBJECTS) $(PROGRAM_LDADD) $(CRYPT_LIBS)
htdigest_OBJECTS = htdigest.lo
htdigest: $(htdigest_OBJECTS)
@@ -47,7 +47,7 @@ logresolve: $(logresolve_OBJECTS)
htdbm_OBJECTS = htdbm.lo
htdbm: $(htdbm_OBJECTS)
- $(LINK) $(htdbm_LTFLAGS) $(htdbm_OBJECTS) $(PROGRAM_LDADD)
+ $(LINK) $(htdbm_LTFLAGS) $(htdbm_OBJECTS) $(PROGRAM_LDADD) $(CRYPT_LIBS)
ab_OBJECTS = ab.lo
ab_LDADD = $(PROGRAM_LDADD) $(SSL_LIBS)
diff --git a/support/NWGNUab b/support/NWGNUab
index 8d7b0370..ee2e0e80 100644
--- a/support/NWGNUab
+++ b/support/NWGNUab
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -116,7 +116,7 @@ NLM_SCREEN_NAME = DEFAULT
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -129,12 +129,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -144,7 +144,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -179,7 +179,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -210,7 +210,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -237,7 +237,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -250,6 +250,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/support/NWGNUhtcacheclean b/support/NWGNUhtcacheclean
index df66bf4b..99199161 100644
--- a/support/NWGNUhtcacheclean
+++ b/support/NWGNUhtcacheclean
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -114,7 +114,7 @@ NLM_SCREEN_NAME = DEFAULT
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -127,12 +127,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -142,7 +142,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -177,7 +177,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -208,7 +208,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -235,7 +235,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -248,6 +248,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/support/NWGNUhtdbm b/support/NWGNUhtdbm
index 062693f9..f448cc3c 100644
--- a/support/NWGNUhtdbm
+++ b/support/NWGNUhtdbm
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -114,7 +114,7 @@ NLM_SCREEN_NAME = htdbm Password Management
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -127,12 +127,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -142,7 +142,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -177,7 +177,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -208,7 +208,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -235,7 +235,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -248,6 +248,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/support/NWGNUhtdigest b/support/NWGNUhtdigest
index 538e6793..5674d21d 100644
--- a/support/NWGNUhtdigest
+++ b/support/NWGNUhtdigest
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -114,7 +114,7 @@ NLM_SCREEN_NAME = Digest Password Management
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -127,12 +127,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -142,7 +142,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -177,7 +177,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -208,7 +208,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -235,7 +235,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -248,6 +248,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/support/NWGNUhtpasswd b/support/NWGNUhtpasswd
index d87adc3a..990cd8e8 100644
--- a/support/NWGNUhtpasswd
+++ b/support/NWGNUhtpasswd
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -114,7 +114,7 @@ NLM_SCREEN_NAME = htpasswd Password Management
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -127,12 +127,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -142,7 +142,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -177,7 +177,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -208,7 +208,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -235,7 +235,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -248,6 +248,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/support/NWGNUhttxt2dbm b/support/NWGNUhttxt2dbm
index 97bccf97..fc1d6232 100644
--- a/support/NWGNUhttxt2dbm
+++ b/support/NWGNUhttxt2dbm
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -114,7 +114,7 @@ NLM_SCREEN_NAME = httxt2dbm Conversion Utility
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -127,12 +127,12 @@ NLM_STACK_SIZE = 8192
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -142,7 +142,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -177,7 +177,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -208,7 +208,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -235,7 +235,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -248,6 +248,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/support/NWGNUlogres b/support/NWGNUlogres
index c2ad5929..8597862a 100644
--- a/support/NWGNUlogres
+++ b/support/NWGNUlogres
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -115,7 +115,7 @@ NLM_SCREEN_NAME = Log Resolve
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -128,12 +128,12 @@ NLM_STACK_SIZE = 65536
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -143,7 +143,7 @@ NLM_CHECK_SYM =
#
# If these are specified it will be used by the link '-flags' directive
#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+NLM_FLAGS =
#
# If this is specified it will be linked in with the XDCData option in the def
@@ -178,7 +178,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -209,7 +209,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -242,7 +242,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -255,6 +255,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/support/NWGNUmakefile b/support/NWGNUmakefile
index 8116cbf0..7d5902d2 100644
--- a/support/NWGNUmakefile
+++ b/support/NWGNUmakefile
@@ -10,7 +10,7 @@ SUBDIRS = \
# paths to tools
#
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
#
# build this level's files
@@ -110,7 +110,7 @@ NLM_THREAD_NAME =
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -232,10 +232,10 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\bin\*.*
+ $(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/bin/)
#
# Any specialized rules here
@@ -246,6 +246,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/support/NWGNUrotlogs b/support/NWGNUrotlogs
index a74c2871..37f3bd86 100644
--- a/support/NWGNUrotlogs
+++ b/support/NWGNUrotlogs
@@ -8,7 +8,7 @@
#
ifndef EnvironmentDefined
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
endif
#
@@ -113,7 +113,7 @@ NLM_SCREEN_NAME = DEFAULT
#
# If this is specified, it will override VERSION value in
-# $(AP_WORK)\build\NWGNUenvironment.inc
+# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION =
@@ -126,12 +126,12 @@ NLM_STACK_SIZE = 98304
#
# If this is specified it will be used by the link '-entry' directive
#
-NLM_ENTRY_SYM = _LibCPrelude
+NLM_ENTRY_SYM =
#
# If this is specified it will be used by the link '-exit' directive
#
-NLM_EXIT_SYM = _LibCPostlude
+NLM_EXIT_SYM =
#
# If this is specified it will be used by the link '-check' directive
@@ -176,7 +176,7 @@ FILES_nlm_objs = \
# These will be added as a library command in the link.opt file.
#
FILES_nlm_libs = \
- libcpre.o \
+ $(PRELUDE) \
$(EOLIST)
#
@@ -207,7 +207,7 @@ FILE_nlm_copyright =
# Any additional imports go here
#
FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
+ @aprlib.imp \
@libc.imp \
$(EOLIST)
@@ -234,7 +234,7 @@ nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
+# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
@@ -247,6 +247,6 @@ install :: nlms FORCE
# in this makefile
#
-include $(AP_WORK)\build\NWGNUtail.inc
+include $(APBUILD)/NWGNUtail.inc
diff --git a/support/ab.c b/support/ab.c
index ce8b2099..3744864e 100644
--- a/support/ab.c
+++ b/support/ab.c
@@ -1876,7 +1876,11 @@ static void usage(const char *progname)
fprintf(stderr, " -h Display usage information (this message)\n");
#ifdef USE_SSL
fprintf(stderr, " -Z ciphersuite Specify SSL/TLS cipher suite (See openssl ciphers)\n");
+#ifndef OPENSSL_NO_SSL2
fprintf(stderr, " -f protocol Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL)\n");
+#else
+ fprintf(stderr, " -f protocol Specify SSL/TLS protocol (SSL3, TLS1, or ALL)\n");
+#endif
#endif
exit(EINVAL);
}
@@ -2209,8 +2213,10 @@ int main(int argc, const char * const argv[])
case 'f':
if (strncasecmp(optarg, "ALL", 3) == 0) {
meth = SSLv23_client_method();
+#ifndef OPENSSL_NO_SSL2
} else if (strncasecmp(optarg, "SSL2", 4) == 0) {
meth = SSLv2_client_method();
+#endif
} else if (strncasecmp(optarg, "SSL3", 4) == 0) {
meth = SSLv3_client_method();
} else if (strncasecmp(optarg, "TLS1", 4) == 0) {
diff --git a/support/ab.dep b/support/ab.dep
new file mode 100644
index 00000000..34dfe85a
--- /dev/null
+++ b/support/ab.dep
@@ -0,0 +1,16 @@
+# Microsoft Developer Studio Generated Dependency File, included by ab.mak
+
+.\ab.c : \
+ "..\include\ap_release.h"\
+ "..\srclib\apr-util\include\apr_base64.h"\
+ "..\srclib\apr\include\apr_getopt.h"\
+ "..\srclib\apr\include\apr_lib.h"\
+ "..\srclib\apr\include\apr_poll.h"\
+ "..\srclib\apr\include\apr_portable.h"\
+ "..\srclib\apr\include\apr_signal.h"\
+ "..\srclib\apr\include\apr_strings.h"\
+
+
+..\build\win32\httpd.rc : \
+ "..\include\ap_release.h"\
+
diff --git a/support/ab.mak b/support/ab.mak
new file mode 100644
index 00000000..20ba112c
--- /dev/null
+++ b/support/ab.mak
@@ -0,0 +1,317 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on ab.dsp
+!IF "$(CFG)" == ""
+CFG=ab - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to ab - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "ab - Win32 Release" && "$(CFG)" != "ab - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ab.mak" CFG="ab - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ab - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "ab - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "ab - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\ab.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Release" "apr - Win32 Release" "$(OUTDIR)\ab.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 ReleaseCLEAN" "aprutil - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\ab.obj"
+ -@erase "$(INTDIR)\ab.res"
+ -@erase "$(INTDIR)\ab_src.idb"
+ -@erase "$(INTDIR)\ab_src.pdb"
+ -@erase "$(OUTDIR)\ab.exe"
+ -@erase "$(OUTDIR)\ab.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../srclib/apr/include" /I "../srclib/apr-util/include" /I "../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\ab_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\ab.res" /i "../include" /i "../srclib/apr/include" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="ab.exe" /d LONG_NAME="ApacheBench command line utility"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\ab.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\ab.pdb" /debug /out:"$(OUTDIR)\ab.exe" /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\ab.obj" \
+ "$(INTDIR)\ab.res" \
+ "..\srclib\apr\LibR\apr-1.lib" \
+ "..\srclib\apr-util\LibR\aprutil-1.lib"
+
+"$(OUTDIR)\ab.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\ab.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\ab.exe"
+ if exist .\Release\ab.exe.manifest mt.exe -manifest .\Release\ab.exe.manifest -outputresource:.\Release\ab.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "ab - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\ab.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Debug" "apr - Win32 Debug" "$(OUTDIR)\ab.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 DebugCLEAN" "aprutil - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\ab.obj"
+ -@erase "$(INTDIR)\ab.res"
+ -@erase "$(INTDIR)\ab_src.idb"
+ -@erase "$(INTDIR)\ab_src.pdb"
+ -@erase "$(OUTDIR)\ab.exe"
+ -@erase "$(OUTDIR)\ab.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../srclib/apr/include" /I "../srclib/apr-util/include" /I "../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\ab_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\ab.res" /i "../include" /i "../srclib/apr/include" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="ab.exe" /d LONG_NAME="ApacheBench command line utility"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\ab.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\ab.pdb" /debug /out:"$(OUTDIR)\ab.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\ab.obj" \
+ "$(INTDIR)\ab.res" \
+ "..\srclib\apr\LibD\apr-1.lib" \
+ "..\srclib\apr-util\LibD\aprutil-1.lib"
+
+"$(OUTDIR)\ab.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\ab.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\ab.exe"
+ if exist .\Debug\ab.exe.manifest mt.exe -manifest .\Debug\ab.exe.manifest -outputresource:.\Debug\ab.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("ab.dep")
+!INCLUDE "ab.dep"
+!ELSE
+!MESSAGE Warning: cannot find "ab.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "ab - Win32 Release" || "$(CFG)" == "ab - Win32 Debug"
+
+!IF "$(CFG)" == "ab - Win32 Release"
+
+"apr - Win32 Release" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release"
+ cd "..\..\support"
+
+"apr - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "ab - Win32 Debug"
+
+"apr - Win32 Debug" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug"
+ cd "..\..\support"
+
+"apr - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+!IF "$(CFG)" == "ab - Win32 Release"
+
+"aprutil - Win32 Release" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release"
+ cd "..\..\support"
+
+"aprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "ab - Win32 Debug"
+
+"aprutil - Win32 Debug" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug"
+ cd "..\..\support"
+
+"aprutil - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+SOURCE=.\ab.c
+
+"$(INTDIR)\ab.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "ab - Win32 Release"
+
+
+"$(INTDIR)\ab.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\ab.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="ab.exe" /d LONG_NAME="ApacheBench command line utility" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "ab - Win32 Debug"
+
+
+"$(INTDIR)\ab.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\ab.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="ab.exe" /d LONG_NAME="ApacheBench command line utility" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/support/abs.dep b/support/abs.dep
new file mode 100644
index 00000000..6097fa86
--- /dev/null
+++ b/support/abs.dep
@@ -0,0 +1,16 @@
+# Microsoft Developer Studio Generated Dependency File, included by abs.mak
+
+.\ab.c : \
+ "..\include\ap_release.h"\
+ "..\srclib\apr-util\include\apr_base64.h"\
+ "..\srclib\apr\include\apr_getopt.h"\
+ "..\srclib\apr\include\apr_lib.h"\
+ "..\srclib\apr\include\apr_poll.h"\
+ "..\srclib\apr\include\apr_portable.h"\
+ "..\srclib\apr\include\apr_signal.h"\
+ "..\srclib\apr\include\apr_strings.h"\
+
+
+..\build\win32\httpd.rc : \
+ "..\include\ap_release.h"\
+
diff --git a/support/abs.mak b/support/abs.mak
new file mode 100644
index 00000000..d14deacf
--- /dev/null
+++ b/support/abs.mak
@@ -0,0 +1,336 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on abs.dsp
+!IF "$(CFG)" == ""
+CFG=abs - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to abs - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "abs - Win32 Release" && "$(CFG)" != "abs - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "abs.mak" CFG="abs - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "abs - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "abs - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "abs - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\abs.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Release" "apr - Win32 Release" "$(OUTDIR)\abs.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 ReleaseCLEAN" "aprutil - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\ab.res"
+ -@erase "$(INTDIR)\abs.obj"
+ -@erase "$(INTDIR)\abs_src.idb"
+ -@erase "$(INTDIR)\abs_src.pdb"
+ -@erase "$(OUTDIR)\abs.exe"
+ -@erase "$(OUTDIR)\abs.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../srclib/apr/include" /I "../srclib/apr-util/include" /I "../include" /I "../srclib/openssl/inc32" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D "HAVE_OPENSSL" /D "WIN32_LEAN_AND_MEAN" /D "NO_IDEA" /D "NO_RC5" /D "NO_MDC2" /D "OPENSSL_NO_IDEA" /D "OPENSSL_NO_RC5" /D "OPENSSL_NO_MDC2" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\abs_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\ab.res" /i "../include" /i "../srclib/apr/include" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="ab.exe" /d LONG_NAME="ApacheBench/SSL command line utility"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\abs.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib ssleay32.lib libeay32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\abs.pdb" /debug /out:"$(OUTDIR)\abs.exe" /libpath:"../srclib/openssl/out32dll" /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\abs.obj" \
+ "$(INTDIR)\ab.res" \
+ "..\srclib\apr\LibR\apr-1.lib" \
+ "..\srclib\apr-util\LibR\aprutil-1.lib"
+
+"$(OUTDIR)\abs.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\abs.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\abs.exe"
+ if exist .\Release\abs.exe.manifest mt.exe -manifest .\Release\abs.exe.manifest -outputresource:.\Release\abs.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "abs - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\abs.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Debug" "apr - Win32 Debug" "$(OUTDIR)\abs.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 DebugCLEAN" "aprutil - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\ab.res"
+ -@erase "$(INTDIR)\abs.obj"
+ -@erase "$(INTDIR)\abs_src.idb"
+ -@erase "$(INTDIR)\abs_src.pdb"
+ -@erase "$(OUTDIR)\abs.exe"
+ -@erase "$(OUTDIR)\abs.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../srclib/apr/include" /I "../srclib/apr-util/include" /I "../include" /I "../srclib/openssl/inc32" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D "HAVE_OPENSSL" /D "WIN32_LEAN_AND_MEAN" /D "NO_IDEA" /D "NO_RC5" /D "NO_MDC2" /D "OPENSSL_NO_IDEA" /D "OPENSSL_NO_RC5" /D "OPENSSL_NO_MDC2" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\abs_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\ab.res" /i "../include" /i "../srclib/apr/include" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="ab.exe" /d LONG_NAME="ApacheBench/SSL command line utility"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\abs.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib ssleay32.lib libeay32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\abs.pdb" /debug /out:"$(OUTDIR)\abs.exe" /libpath:"../srclib/openssl/out32dll"
+LINK32_OBJS= \
+ "$(INTDIR)\abs.obj" \
+ "$(INTDIR)\ab.res" \
+ "..\srclib\apr\LibD\apr-1.lib" \
+ "..\srclib\apr-util\LibD\aprutil-1.lib"
+
+"$(OUTDIR)\abs.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\abs.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\abs.exe"
+ if exist .\Debug\abs.exe.manifest mt.exe -manifest .\Debug\abs.exe.manifest -outputresource:.\Debug\abs.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("abs.dep")
+!INCLUDE "abs.dep"
+!ELSE
+!MESSAGE Warning: cannot find "abs.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "abs - Win32 Release" || "$(CFG)" == "abs - Win32 Debug"
+
+!IF "$(CFG)" == "abs - Win32 Release"
+
+"apr - Win32 Release" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release"
+ cd "..\..\support"
+
+"apr - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "abs - Win32 Debug"
+
+"apr - Win32 Debug" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug"
+ cd "..\..\support"
+
+"apr - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+!IF "$(CFG)" == "abs - Win32 Release"
+
+"aprutil - Win32 Release" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release"
+ cd "..\..\support"
+
+"aprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "abs - Win32 Debug"
+
+"aprutil - Win32 Debug" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug"
+ cd "..\..\support"
+
+"aprutil - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+SOURCE=.\ab.c
+
+!IF "$(CFG)" == "abs - Win32 Release"
+
+CPP_SWITCHES=/nologo /MD /W3 /Zi /O2 /Oy- /I "../srclib/apr/include" /I "../srclib/apr-util/include" /I "../include" /I "../srclib/openssl/inc32" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D "HAVE_OPENSSL" /D "WIN32_LEAN_AND_MEAN" /D "NO_IDEA" /D "NO_RC5" /D "NO_MDC2" /D "OPENSSL_NO_IDEA" /D "OPENSSL_NO_RC5" /D "OPENSSL_NO_MDC2" /Fo"$(INTDIR)\abs.obj" /Fd"$(INTDIR)\abs_src" /FD /c
+
+"$(INTDIR)\abs.obj" : $(SOURCE) "$(INTDIR)"
+ $(CPP) @<<
+ $(CPP_SWITCHES) $(SOURCE)
+<<
+
+
+!ELSEIF "$(CFG)" == "abs - Win32 Debug"
+
+CPP_SWITCHES=/nologo /MDd /W3 /Zi /Od /I "../srclib/apr/include" /I "../srclib/apr-util/include" /I "../include" /I "../srclib/openssl/inc32" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D "HAVE_OPENSSL" /D "WIN32_LEAN_AND_MEAN" /D "NO_IDEA" /D "NO_RC5" /D "NO_MDC2" /D "OPENSSL_NO_IDEA" /D "OPENSSL_NO_RC5" /D "OPENSSL_NO_MDC2" /Fo"$(INTDIR)\abs.obj" /Fd"$(INTDIR)\abs_src" /FD /EHsc /c
+
+"$(INTDIR)\abs.obj" : $(SOURCE) "$(INTDIR)"
+ $(CPP) @<<
+ $(CPP_SWITCHES) $(SOURCE)
+<<
+
+
+!ENDIF
+
+SOURCE=..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "abs - Win32 Release"
+
+
+"$(INTDIR)\ab.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\ab.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="ab.exe" /d LONG_NAME="ApacheBench/SSL command line utility" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "abs - Win32 Debug"
+
+
+"$(INTDIR)\ab.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\ab.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="ab.exe" /d LONG_NAME="ApacheBench/SSL command line utility" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/support/config.m4 b/support/config.m4
index f9110375..c0ea8f91 100644
--- a/support/config.m4
+++ b/support/config.m4
@@ -103,6 +103,20 @@ fi
])
APACHE_SUBST(httxt2dbm_LTFLAGS)
+# Configure or check which of the non-portable support programs can be enabled.
+
+NONPORTABLE_SUPPORT=""
+case $host in
+ *mingw*)
+ ;;
+ *)
+ NONPORTABLE_SUPPORT="checkgid"
+ ;;
+esac
+APACHE_SUBST(NONPORTABLE_SUPPORT)
+
+# Configure the ulimit -n command used by apachectl.
+
case $host in
*aix*)
# this works in any locale, unlike the default command below, which
diff --git a/support/htcacheclean.dep b/support/htcacheclean.dep
new file mode 100644
index 00000000..5fff887f
--- /dev/null
+++ b/support/htcacheclean.dep
@@ -0,0 +1,15 @@
+# Microsoft Developer Studio Generated Dependency File, included by htcacheclean.mak
+
+.\htcacheclean.c : \
+ "..\modules\cache\mod_disk_cache.h"\
+ "..\srclib\apr-util\include\apr_date.h"\
+ "..\srclib\apr\include\apr_getopt.h"\
+ "..\srclib\apr\include\apr_hash.h"\
+ "..\srclib\apr\include\apr_lib.h"\
+ "..\srclib\apr\include\apr_signal.h"\
+ "..\srclib\apr\include\apr_strings.h"\
+
+
+..\build\win32\httpd.rc : \
+ "..\include\ap_release.h"\
+
diff --git a/support/htcacheclean.mak b/support/htcacheclean.mak
new file mode 100644
index 00000000..320fbe97
--- /dev/null
+++ b/support/htcacheclean.mak
@@ -0,0 +1,317 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on htcacheclean.dsp
+!IF "$(CFG)" == ""
+CFG=htcacheclean - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to htcacheclean - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "htcacheclean - Win32 Release" && "$(CFG)" != "htcacheclean - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "htcacheclean.mak" CFG="htcacheclean - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "htcacheclean - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "htcacheclean - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "htcacheclean - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\htcacheclean.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Release" "apr - Win32 Release" "$(OUTDIR)\htcacheclean.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 ReleaseCLEAN" "aprutil - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\htcacheclean.obj"
+ -@erase "$(INTDIR)\htcacheclean.res"
+ -@erase "$(INTDIR)\htcacheclean_src.idb"
+ -@erase "$(INTDIR)\htcacheclean_src.pdb"
+ -@erase "$(OUTDIR)\htcacheclean.exe"
+ -@erase "$(OUTDIR)\htcacheclean.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\htcacheclean_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\htcacheclean.res" /i "../include" /i "../srclib/apr/include" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="htcacheclean.exe" /d LONG_NAME="Apache htcacheclean command line utility"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\htcacheclean.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\htcacheclean.pdb" /debug /out:"$(OUTDIR)\htcacheclean.exe" /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\htcacheclean.obj" \
+ "$(INTDIR)\htcacheclean.res" \
+ "..\srclib\apr\LibR\apr-1.lib" \
+ "..\srclib\apr-util\LibR\aprutil-1.lib"
+
+"$(OUTDIR)\htcacheclean.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\htcacheclean.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\htcacheclean.exe"
+ if exist .\Release\htcacheclean.exe.manifest mt.exe -manifest .\Release\htcacheclean.exe.manifest -outputresource:.\Release\htcacheclean.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "htcacheclean - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\htcacheclean.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Debug" "apr - Win32 Debug" "$(OUTDIR)\htcacheclean.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 DebugCLEAN" "aprutil - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\htcacheclean.obj"
+ -@erase "$(INTDIR)\htcacheclean.res"
+ -@erase "$(INTDIR)\htcacheclean_src.idb"
+ -@erase "$(INTDIR)\htcacheclean_src.pdb"
+ -@erase "$(OUTDIR)\htcacheclean.exe"
+ -@erase "$(OUTDIR)\htcacheclean.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\htcacheclean_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\htcacheclean.res" /i "../include" /i "../srclib/apr/include" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="htcacheclean.exe" /d LONG_NAME="Apache htcacheclean command line utility"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\htcacheclean.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\htcacheclean.pdb" /debug /out:"$(OUTDIR)\htcacheclean.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\htcacheclean.obj" \
+ "$(INTDIR)\htcacheclean.res" \
+ "..\srclib\apr\LibD\apr-1.lib" \
+ "..\srclib\apr-util\LibD\aprutil-1.lib"
+
+"$(OUTDIR)\htcacheclean.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\htcacheclean.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\htcacheclean.exe"
+ if exist .\Debug\htcacheclean.exe.manifest mt.exe -manifest .\Debug\htcacheclean.exe.manifest -outputresource:.\Debug\htcacheclean.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("htcacheclean.dep")
+!INCLUDE "htcacheclean.dep"
+!ELSE
+!MESSAGE Warning: cannot find "htcacheclean.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "htcacheclean - Win32 Release" || "$(CFG)" == "htcacheclean - Win32 Debug"
+
+!IF "$(CFG)" == "htcacheclean - Win32 Release"
+
+"apr - Win32 Release" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release"
+ cd "..\..\support"
+
+"apr - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "htcacheclean - Win32 Debug"
+
+"apr - Win32 Debug" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug"
+ cd "..\..\support"
+
+"apr - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+!IF "$(CFG)" == "htcacheclean - Win32 Release"
+
+"aprutil - Win32 Release" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release"
+ cd "..\..\support"
+
+"aprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "htcacheclean - Win32 Debug"
+
+"aprutil - Win32 Debug" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug"
+ cd "..\..\support"
+
+"aprutil - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+SOURCE=.\htcacheclean.c
+
+"$(INTDIR)\htcacheclean.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "htcacheclean - Win32 Release"
+
+
+"$(INTDIR)\htcacheclean.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\htcacheclean.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="htcacheclean.exe" /d LONG_NAME="Apache htcacheclean command line utility" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "htcacheclean - Win32 Debug"
+
+
+"$(INTDIR)\htcacheclean.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\htcacheclean.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="htcacheclean.exe" /d LONG_NAME="Apache htcacheclean command line utility" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/support/htdbm.dep b/support/htdbm.dep
new file mode 100644
index 00000000..341f447e
--- /dev/null
+++ b/support/htdbm.dep
@@ -0,0 +1,14 @@
+# Microsoft Developer Studio Generated Dependency File, included by htdbm.mak
+
+.\htdbm.c : \
+ "..\srclib\apr-util\include\apr_dbm.h"\
+ "..\srclib\apr-util\include\apr_md5.h"\
+ "..\srclib\apr-util\include\apr_sha1.h"\
+ "..\srclib\apr\include\apr_lib.h"\
+ "..\srclib\apr\include\apr_signal.h"\
+ "..\srclib\apr\include\apr_strings.h"\
+
+
+..\build\win32\httpd.rc : \
+ "..\include\ap_release.h"\
+
diff --git a/support/htdbm.mak b/support/htdbm.mak
new file mode 100644
index 00000000..5c8c2124
--- /dev/null
+++ b/support/htdbm.mak
@@ -0,0 +1,317 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on htdbm.dsp
+!IF "$(CFG)" == ""
+CFG=htdbm - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to htdbm - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "htdbm - Win32 Release" && "$(CFG)" != "htdbm - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "htdbm.mak" CFG="htdbm - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "htdbm - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "htdbm - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "htdbm - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\htdbm.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Release" "apr - Win32 Release" "$(OUTDIR)\htdbm.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 ReleaseCLEAN" "aprutil - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\htdbm.obj"
+ -@erase "$(INTDIR)\htdbm.res"
+ -@erase "$(INTDIR)\htdbm_src.idb"
+ -@erase "$(INTDIR)\htdbm_src.pdb"
+ -@erase "$(OUTDIR)\htdbm.exe"
+ -@erase "$(OUTDIR)\htdbm.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\htdbm_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\htdbm.res" /i "../include" /i "../srclib/apr/include" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="htdbm.exe" /d LONG_NAME="Apache htdbm command line utility"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\htdbm.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\htdbm.pdb" /debug /out:"$(OUTDIR)\htdbm.exe" /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\htdbm.obj" \
+ "$(INTDIR)\htdbm.res" \
+ "..\srclib\apr\LibR\apr-1.lib" \
+ "..\srclib\apr-util\LibR\aprutil-1.lib"
+
+"$(OUTDIR)\htdbm.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\htdbm.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\htdbm.exe"
+ if exist .\Release\htdbm.exe.manifest mt.exe -manifest .\Release\htdbm.exe.manifest -outputresource:.\Release\htdbm.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "htdbm - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\htdbm.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Debug" "apr - Win32 Debug" "$(OUTDIR)\htdbm.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 DebugCLEAN" "aprutil - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\htdbm.obj"
+ -@erase "$(INTDIR)\htdbm.res"
+ -@erase "$(INTDIR)\htdbm_src.idb"
+ -@erase "$(INTDIR)\htdbm_src.pdb"
+ -@erase "$(OUTDIR)\htdbm.exe"
+ -@erase "$(OUTDIR)\htdbm.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\htdbm_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\htdbm.res" /i "../include" /i "../srclib/apr/include" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="htdbm.exe" /d LONG_NAME="Apache htdbm command line utility"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\htdbm.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\htdbm.pdb" /debug /out:"$(OUTDIR)\htdbm.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\htdbm.obj" \
+ "$(INTDIR)\htdbm.res" \
+ "..\srclib\apr\LibD\apr-1.lib" \
+ "..\srclib\apr-util\LibD\aprutil-1.lib"
+
+"$(OUTDIR)\htdbm.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\htdbm.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\htdbm.exe"
+ if exist .\Debug\htdbm.exe.manifest mt.exe -manifest .\Debug\htdbm.exe.manifest -outputresource:.\Debug\htdbm.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("htdbm.dep")
+!INCLUDE "htdbm.dep"
+!ELSE
+!MESSAGE Warning: cannot find "htdbm.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "htdbm - Win32 Release" || "$(CFG)" == "htdbm - Win32 Debug"
+
+!IF "$(CFG)" == "htdbm - Win32 Release"
+
+"apr - Win32 Release" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release"
+ cd "..\..\support"
+
+"apr - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "htdbm - Win32 Debug"
+
+"apr - Win32 Debug" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug"
+ cd "..\..\support"
+
+"apr - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+!IF "$(CFG)" == "htdbm - Win32 Release"
+
+"aprutil - Win32 Release" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release"
+ cd "..\..\support"
+
+"aprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "htdbm - Win32 Debug"
+
+"aprutil - Win32 Debug" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug"
+ cd "..\..\support"
+
+"aprutil - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+SOURCE=.\htdbm.c
+
+"$(INTDIR)\htdbm.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "htdbm - Win32 Release"
+
+
+"$(INTDIR)\htdbm.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\htdbm.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="htdbm.exe" /d LONG_NAME="Apache htdbm command line utility" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "htdbm - Win32 Debug"
+
+
+"$(INTDIR)\htdbm.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\htdbm.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="htdbm.exe" /d LONG_NAME="Apache htdbm command line utility" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/support/htdigest.dep b/support/htdigest.dep
new file mode 100644
index 00000000..f022095c
--- /dev/null
+++ b/support/htdigest.dep
@@ -0,0 +1,12 @@
+# Microsoft Developer Studio Generated Dependency File, included by htdigest.mak
+
+.\htdigest.c : \
+ "..\srclib\apr-util\include\apr_md5.h"\
+ "..\srclib\apr\include\apr_lib.h"\
+ "..\srclib\apr\include\apr_signal.h"\
+ "..\srclib\apr\include\apr_strings.h"\
+
+
+..\build\win32\httpd.rc : \
+ "..\include\ap_release.h"\
+
diff --git a/support/htdigest.mak b/support/htdigest.mak
new file mode 100644
index 00000000..01881d8c
--- /dev/null
+++ b/support/htdigest.mak
@@ -0,0 +1,317 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on htdigest.dsp
+!IF "$(CFG)" == ""
+CFG=htdigest - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to htdigest - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "htdigest - Win32 Release" && "$(CFG)" != "htdigest - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "htdigest.mak" CFG="htdigest - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "htdigest - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "htdigest - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "htdigest - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\htdigest.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Release" "apr - Win32 Release" "$(OUTDIR)\htdigest.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 ReleaseCLEAN" "aprutil - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\htdigest.obj"
+ -@erase "$(INTDIR)\htdigest.res"
+ -@erase "$(INTDIR)\htdigest_src.idb"
+ -@erase "$(INTDIR)\htdigest_src.pdb"
+ -@erase "$(OUTDIR)\htdigest.exe"
+ -@erase "$(OUTDIR)\htdigest.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\htdigest_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\htdigest.res" /i "../include" /i "../srclib/apr/include" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="htdigest.exe" /d LONG_NAME="Apache htdigest command line utility"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\htdigest.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\htdigest.pdb" /debug /out:"$(OUTDIR)\htdigest.exe" /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\htdigest.obj" \
+ "$(INTDIR)\htdigest.res" \
+ "..\srclib\apr\LibR\apr-1.lib" \
+ "..\srclib\apr-util\LibR\aprutil-1.lib"
+
+"$(OUTDIR)\htdigest.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\htdigest.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\htdigest.exe"
+ if exist .\Release\htdigest.exe.manifest mt.exe -manifest .\Release\htdigest.exe.manifest -outputresource:.\Release\htdigest.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "htdigest - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\htdigest.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Debug" "apr - Win32 Debug" "$(OUTDIR)\htdigest.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 DebugCLEAN" "aprutil - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\htdigest.obj"
+ -@erase "$(INTDIR)\htdigest.res"
+ -@erase "$(INTDIR)\htdigest_src.idb"
+ -@erase "$(INTDIR)\htdigest_src.pdb"
+ -@erase "$(OUTDIR)\htdigest.exe"
+ -@erase "$(OUTDIR)\htdigest.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\htdigest_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\htdigest.res" /i "../include" /i "../srclib/apr/include" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="htdigest.exe" /d LONG_NAME="Apache htdigest command line utility"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\htdigest.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\htdigest.pdb" /debug /out:"$(OUTDIR)\htdigest.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\htdigest.obj" \
+ "$(INTDIR)\htdigest.res" \
+ "..\srclib\apr\LibD\apr-1.lib" \
+ "..\srclib\apr-util\LibD\aprutil-1.lib"
+
+"$(OUTDIR)\htdigest.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\htdigest.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\htdigest.exe"
+ if exist .\Debug\htdigest.exe.manifest mt.exe -manifest .\Debug\htdigest.exe.manifest -outputresource:.\Debug\htdigest.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("htdigest.dep")
+!INCLUDE "htdigest.dep"
+!ELSE
+!MESSAGE Warning: cannot find "htdigest.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "htdigest - Win32 Release" || "$(CFG)" == "htdigest - Win32 Debug"
+
+!IF "$(CFG)" == "htdigest - Win32 Release"
+
+"apr - Win32 Release" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release"
+ cd "..\..\support"
+
+"apr - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "htdigest - Win32 Debug"
+
+"apr - Win32 Debug" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug"
+ cd "..\..\support"
+
+"apr - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+!IF "$(CFG)" == "htdigest - Win32 Release"
+
+"aprutil - Win32 Release" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release"
+ cd "..\..\support"
+
+"aprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "htdigest - Win32 Debug"
+
+"aprutil - Win32 Debug" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug"
+ cd "..\..\support"
+
+"aprutil - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+SOURCE=.\htdigest.c
+
+"$(INTDIR)\htdigest.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "htdigest - Win32 Release"
+
+
+"$(INTDIR)\htdigest.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\htdigest.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="htdigest.exe" /d LONG_NAME="Apache htdigest command line utility" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "htdigest - Win32 Debug"
+
+
+"$(INTDIR)\htdigest.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\htdigest.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="htdigest.exe" /d LONG_NAME="Apache htdigest command line utility" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/support/htpasswd.c b/support/htpasswd.c
index 2eadc78e..3aa9e184 100644
--- a/support/htpasswd.c
+++ b/support/htpasswd.c
@@ -141,7 +141,15 @@ static apr_status_t seed_rand(void)
static void putline(apr_file_t *f, const char *l)
{
- apr_file_puts(l, f);
+ apr_status_t rc;
+ rc = apr_file_puts(l, f);
+ if (rc != APR_SUCCESS) {
+ char errstr[MAX_STRING_LEN];
+ apr_strerror(rc, errstr, MAX_STRING_LEN);
+ apr_file_printf(errfile, "Error writing temp file: %s" NL, errstr);
+ apr_file_close(f);
+ exit(ERR_FILEPERM);
+ }
}
/*
@@ -201,7 +209,7 @@ static int mkrecord(char *user, char *record, apr_size_t rlen, char *passwd,
apr_cpystrn(cpw,pw,sizeof(cpw));
break;
-#if !(defined(WIN32) || defined(NETWARE))
+#if (!(defined(WIN32) || defined(NETWARE)))
case ALG_CRYPT:
default:
if (seed_rand()) {
@@ -210,7 +218,16 @@ static int mkrecord(char *user, char *record, apr_size_t rlen, char *passwd,
to64(&salt[0], rand(), 8);
salt[8] = '\0';
- apr_cpystrn(cpw, (char *)crypt(pw, salt), sizeof(cpw) - 1);
+ apr_cpystrn(cpw, crypt(pw, salt), sizeof(cpw) - 1);
+ if (strlen(pw) > 8) {
+ char *truncpw = strdup(pw);
+ truncpw[8] = '\0';
+ if (!strcmp(cpw, crypt(truncpw, salt))) {
+ apr_file_printf(errfile, "Warning: Password truncated to 8 characters "
+ "by CRYPT algorithm." NL);
+ }
+ free(truncpw);
+ }
break;
#endif
}
@@ -243,14 +260,9 @@ static void usage(void)
apr_file_printf(errfile, " -n Don't update file; display results on "
"stdout." NL);
apr_file_printf(errfile, " -m Force MD5 encryption of the password"
-#if defined(WIN32) || defined(TPF) || defined(NETWARE)
" (default)"
-#endif
"." NL);
apr_file_printf(errfile, " -d Force CRYPT encryption of the password"
-#if (!(defined(WIN32) || defined(TPF) || defined(NETWARE)))
- " (default)"
-#endif
"." NL);
apr_file_printf(errfile, " -p Do not encrypt the password (plaintext)." NL);
apr_file_printf(errfile, " -s Force SHA encryption of the password." NL);
@@ -258,10 +270,11 @@ static void usage(void)
"rather than prompting for it." NL);
apr_file_printf(errfile, " -D Delete the specified user." NL);
apr_file_printf(errfile,
- "On Windows, NetWare and TPF systems the '-m' flag is used by "
- "default." NL);
+ "On other systems than Windows, NetWare and TPF the '-p' flag will "
+ "probably not work." NL);
apr_file_printf(errfile,
- "On all other systems, the '-p' flag will probably not work." NL);
+ "The SHA algorithm does not use a salt and is less secure than "
+ "the MD5 algorithm." NL);
exit(ERR_SYNTAX);
}
@@ -428,7 +441,7 @@ int main(int argc, const char * const argv[])
char *scratch, cp[MAX_STRING_LEN];
int found = 0;
int i;
- int alg = ALG_CRYPT;
+ int alg = ALG_APMD5;
int mask = 0;
apr_pool_t *pool;
int existing_file = 0;
diff --git a/support/htpasswd.dep b/support/htpasswd.dep
new file mode 100644
index 00000000..9f328fc3
--- /dev/null
+++ b/support/htpasswd.dep
@@ -0,0 +1,13 @@
+# Microsoft Developer Studio Generated Dependency File, included by htpasswd.mak
+
+.\htpasswd.c : \
+ "..\srclib\apr-util\include\apr_md5.h"\
+ "..\srclib\apr-util\include\apr_sha1.h"\
+ "..\srclib\apr\include\apr_lib.h"\
+ "..\srclib\apr\include\apr_signal.h"\
+ "..\srclib\apr\include\apr_strings.h"\
+
+
+..\build\win32\httpd.rc : \
+ "..\include\ap_release.h"\
+
diff --git a/support/htpasswd.mak b/support/htpasswd.mak
new file mode 100644
index 00000000..5ec00756
--- /dev/null
+++ b/support/htpasswd.mak
@@ -0,0 +1,317 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on htpasswd.dsp
+!IF "$(CFG)" == ""
+CFG=htpasswd - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to htpasswd - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "htpasswd - Win32 Release" && "$(CFG)" != "htpasswd - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "htpasswd.mak" CFG="htpasswd - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "htpasswd - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "htpasswd - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "htpasswd - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\htpasswd.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Release" "apr - Win32 Release" "$(OUTDIR)\htpasswd.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 ReleaseCLEAN" "aprutil - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\htpasswd.obj"
+ -@erase "$(INTDIR)\htpasswd.res"
+ -@erase "$(INTDIR)\htpasswd_src.idb"
+ -@erase "$(INTDIR)\htpasswd_src.pdb"
+ -@erase "$(OUTDIR)\htpasswd.exe"
+ -@erase "$(OUTDIR)\htpasswd.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\htpasswd_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\htpasswd.res" /i "../include" /i "../srclib/apr/include" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="htpasswd.exe" /d LONG_NAME="Apache htpasswd command line utility"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\htpasswd.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib rpcrt4.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\htpasswd.pdb" /debug /out:"$(OUTDIR)\htpasswd.exe" /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\htpasswd.obj" \
+ "$(INTDIR)\htpasswd.res" \
+ "..\srclib\apr\LibR\apr-1.lib" \
+ "..\srclib\apr-util\LibR\aprutil-1.lib"
+
+"$(OUTDIR)\htpasswd.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\htpasswd.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\htpasswd.exe"
+ if exist .\Release\htpasswd.exe.manifest mt.exe -manifest .\Release\htpasswd.exe.manifest -outputresource:.\Release\htpasswd.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "htpasswd - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\htpasswd.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Debug" "apr - Win32 Debug" "$(OUTDIR)\htpasswd.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 DebugCLEAN" "aprutil - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\htpasswd.obj"
+ -@erase "$(INTDIR)\htpasswd.res"
+ -@erase "$(INTDIR)\htpasswd_src.idb"
+ -@erase "$(INTDIR)\htpasswd_src.pdb"
+ -@erase "$(OUTDIR)\htpasswd.exe"
+ -@erase "$(OUTDIR)\htpasswd.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\htpasswd_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\htpasswd.res" /i "../include" /i "../srclib/apr/include" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="htpasswd.exe" /d LONG_NAME="Apache htpasswd command line utility"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\htpasswd.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib rpcrt4.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\htpasswd.pdb" /debug /out:"$(OUTDIR)\htpasswd.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\htpasswd.obj" \
+ "$(INTDIR)\htpasswd.res" \
+ "..\srclib\apr\LibD\apr-1.lib" \
+ "..\srclib\apr-util\LibD\aprutil-1.lib"
+
+"$(OUTDIR)\htpasswd.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\htpasswd.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\htpasswd.exe"
+ if exist .\Debug\htpasswd.exe.manifest mt.exe -manifest .\Debug\htpasswd.exe.manifest -outputresource:.\Debug\htpasswd.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("htpasswd.dep")
+!INCLUDE "htpasswd.dep"
+!ELSE
+!MESSAGE Warning: cannot find "htpasswd.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "htpasswd - Win32 Release" || "$(CFG)" == "htpasswd - Win32 Debug"
+
+!IF "$(CFG)" == "htpasswd - Win32 Release"
+
+"apr - Win32 Release" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release"
+ cd "..\..\support"
+
+"apr - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "htpasswd - Win32 Debug"
+
+"apr - Win32 Debug" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug"
+ cd "..\..\support"
+
+"apr - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+!IF "$(CFG)" == "htpasswd - Win32 Release"
+
+"aprutil - Win32 Release" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release"
+ cd "..\..\support"
+
+"aprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "htpasswd - Win32 Debug"
+
+"aprutil - Win32 Debug" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug"
+ cd "..\..\support"
+
+"aprutil - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+SOURCE=.\htpasswd.c
+
+"$(INTDIR)\htpasswd.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "htpasswd - Win32 Release"
+
+
+"$(INTDIR)\htpasswd.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\htpasswd.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="htpasswd.exe" /d LONG_NAME="Apache htpasswd command line utility" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "htpasswd - Win32 Debug"
+
+
+"$(INTDIR)\htpasswd.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\htpasswd.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="htpasswd.exe" /d LONG_NAME="Apache htpasswd command line utility" $(SOURCE)
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/support/httxt2dbm.dep b/support/httxt2dbm.dep
new file mode 100644
index 00000000..5bfcfdf8
--- /dev/null
+++ b/support/httxt2dbm.dep
@@ -0,0 +1,12 @@
+# Microsoft Developer Studio Generated Dependency File, included by httxt2dbm.mak
+
+..\build\win32\httpd.rc : \
+ "..\include\ap_release.h"\
+
+
+.\httxt2dbm.c : \
+ "..\srclib\apr-util\include\apr_dbm.h"\
+ "..\srclib\apr\include\apr_getopt.h"\
+ "..\srclib\apr\include\apr_lib.h"\
+ "..\srclib\apr\include\apr_strings.h"\
+
diff --git a/support/httxt2dbm.mak b/support/httxt2dbm.mak
new file mode 100644
index 00000000..239619d2
--- /dev/null
+++ b/support/httxt2dbm.mak
@@ -0,0 +1,317 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on httxt2dbm.dsp
+!IF "$(CFG)" == ""
+CFG=httxt2dbm - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to httxt2dbm - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "httxt2dbm - Win32 Release" && "$(CFG)" != "httxt2dbm - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "httxt2dbm.mak" CFG="httxt2dbm - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "httxt2dbm - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "httxt2dbm - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "httxt2dbm - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\httxt2dbm.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Release" "apr - Win32 Release" "$(OUTDIR)\httxt2dbm.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 ReleaseCLEAN" "aprutil - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\httxt2dbm.obj"
+ -@erase "$(INTDIR)\httxt2dbm.res"
+ -@erase "$(INTDIR)\httxt2dbm_src.idb"
+ -@erase "$(INTDIR)\httxt2dbm_src.pdb"
+ -@erase "$(OUTDIR)\httxt2dbm.exe"
+ -@erase "$(OUTDIR)\httxt2dbm.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\httxt2dbm_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\httxt2dbm.res" /i "../include" /i "../srclib/apr/include" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="httxt2dbm.exe" /d LONG_NAME="Apache httxt2dbm command line utility"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\httxt2dbm.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\httxt2dbm.pdb" /debug /out:"$(OUTDIR)\httxt2dbm.exe" /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\httxt2dbm.obj" \
+ "$(INTDIR)\httxt2dbm.res" \
+ "..\srclib\apr\LibR\apr-1.lib" \
+ "..\srclib\apr-util\LibR\aprutil-1.lib"
+
+"$(OUTDIR)\httxt2dbm.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\httxt2dbm.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\httxt2dbm.exe"
+ if exist .\Release\httxt2dbm.exe.manifest mt.exe -manifest .\Release\httxt2dbm.exe.manifest -outputresource:.\Release\httxt2dbm.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "httxt2dbm - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\httxt2dbm.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Debug" "apr - Win32 Debug" "$(OUTDIR)\httxt2dbm.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 DebugCLEAN" "aprutil - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\httxt2dbm.obj"
+ -@erase "$(INTDIR)\httxt2dbm.res"
+ -@erase "$(INTDIR)\httxt2dbm_src.idb"
+ -@erase "$(INTDIR)\httxt2dbm_src.pdb"
+ -@erase "$(OUTDIR)\httxt2dbm.exe"
+ -@erase "$(OUTDIR)\httxt2dbm.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\httxt2dbm_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\httxt2dbm.res" /i "../include" /i "../srclib/apr/include" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="httxt2dbm.exe" /d LONG_NAME="Apache httxt2dbm command line utility"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\httxt2dbm.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\httxt2dbm.pdb" /debug /out:"$(OUTDIR)\httxt2dbm.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\httxt2dbm.obj" \
+ "$(INTDIR)\httxt2dbm.res" \
+ "..\srclib\apr\LibD\apr-1.lib" \
+ "..\srclib\apr-util\LibD\aprutil-1.lib"
+
+"$(OUTDIR)\httxt2dbm.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\httxt2dbm.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\httxt2dbm.exe"
+ if exist .\Debug\httxt2dbm.exe.manifest mt.exe -manifest .\Debug\httxt2dbm.exe.manifest -outputresource:.\Debug\httxt2dbm.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("httxt2dbm.dep")
+!INCLUDE "httxt2dbm.dep"
+!ELSE
+!MESSAGE Warning: cannot find "httxt2dbm.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "httxt2dbm - Win32 Release" || "$(CFG)" == "httxt2dbm - Win32 Debug"
+
+!IF "$(CFG)" == "httxt2dbm - Win32 Release"
+
+"apr - Win32 Release" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release"
+ cd "..\..\support"
+
+"apr - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "httxt2dbm - Win32 Debug"
+
+"apr - Win32 Debug" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug"
+ cd "..\..\support"
+
+"apr - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+!IF "$(CFG)" == "httxt2dbm - Win32 Release"
+
+"aprutil - Win32 Release" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release"
+ cd "..\..\support"
+
+"aprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "httxt2dbm - Win32 Debug"
+
+"aprutil - Win32 Debug" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug"
+ cd "..\..\support"
+
+"aprutil - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+SOURCE=..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "httxt2dbm - Win32 Release"
+
+
+"$(INTDIR)\httxt2dbm.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\httxt2dbm.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="httxt2dbm.exe" /d LONG_NAME="Apache httxt2dbm command line utility" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "httxt2dbm - Win32 Debug"
+
+
+"$(INTDIR)\httxt2dbm.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\httxt2dbm.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="httxt2dbm.exe" /d LONG_NAME="Apache httxt2dbm command line utility" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\httxt2dbm.c
+
+"$(INTDIR)\httxt2dbm.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/support/logresolve.dep b/support/logresolve.dep
new file mode 100644
index 00000000..f8bfc62d
--- /dev/null
+++ b/support/logresolve.dep
@@ -0,0 +1,9 @@
+# Microsoft Developer Studio Generated Dependency File, included by logresolve.mak
+
+..\build\win32\httpd.rc : \
+ "..\include\ap_release.h"\
+
+
+.\logresolve.c : \
+ "..\srclib\apr\include\apr_lib.h"\
+
diff --git a/support/logresolve.mak b/support/logresolve.mak
new file mode 100644
index 00000000..8bcb1d6e
--- /dev/null
+++ b/support/logresolve.mak
@@ -0,0 +1,317 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on logresolve.dsp
+!IF "$(CFG)" == ""
+CFG=logresolve - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to logresolve - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "logresolve - Win32 Release" && "$(CFG)" != "logresolve - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "logresolve.mak" CFG="logresolve - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "logresolve - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "logresolve - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "logresolve - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\logresolve.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Release" "apr - Win32 Release" "$(OUTDIR)\logresolve.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 ReleaseCLEAN" "aprutil - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\logresolve.obj"
+ -@erase "$(INTDIR)\logresolve.res"
+ -@erase "$(INTDIR)\logresolve_src.idb"
+ -@erase "$(INTDIR)\logresolve_src.pdb"
+ -@erase "$(OUTDIR)\logresolve.exe"
+ -@erase "$(OUTDIR)\logresolve.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\logresolve_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\logresolve.res" /i "../include" /i "../srclib/apr/include" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="logresolve.exe" /d LONG_NAME="Apache logresolve command line pipe"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\logresolve.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\logresolve.pdb" /debug /out:"$(OUTDIR)\logresolve.exe" /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\logresolve.obj" \
+ "$(INTDIR)\logresolve.res" \
+ "..\srclib\apr\LibR\apr-1.lib" \
+ "..\srclib\apr-util\LibR\aprutil-1.lib"
+
+"$(OUTDIR)\logresolve.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\logresolve.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\logresolve.exe"
+ if exist .\Release\logresolve.exe.manifest mt.exe -manifest .\Release\logresolve.exe.manifest -outputresource:.\Release\logresolve.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "logresolve - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\logresolve.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Debug" "apr - Win32 Debug" "$(OUTDIR)\logresolve.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 DebugCLEAN" "aprutil - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\logresolve.obj"
+ -@erase "$(INTDIR)\logresolve.res"
+ -@erase "$(INTDIR)\logresolve_src.idb"
+ -@erase "$(INTDIR)\logresolve_src.pdb"
+ -@erase "$(OUTDIR)\logresolve.exe"
+ -@erase "$(OUTDIR)\logresolve.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\logresolve_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\logresolve.res" /i "../include" /i "../srclib/apr/include" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="logresolve.exe" /d LONG_NAME="Apache logresolve command line pipe"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\logresolve.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\logresolve.pdb" /debug /out:"$(OUTDIR)\logresolve.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\logresolve.obj" \
+ "$(INTDIR)\logresolve.res" \
+ "..\srclib\apr\LibD\apr-1.lib" \
+ "..\srclib\apr-util\LibD\aprutil-1.lib"
+
+"$(OUTDIR)\logresolve.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\logresolve.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\logresolve.exe"
+ if exist .\Debug\logresolve.exe.manifest mt.exe -manifest .\Debug\logresolve.exe.manifest -outputresource:.\Debug\logresolve.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("logresolve.dep")
+!INCLUDE "logresolve.dep"
+!ELSE
+!MESSAGE Warning: cannot find "logresolve.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "logresolve - Win32 Release" || "$(CFG)" == "logresolve - Win32 Debug"
+
+!IF "$(CFG)" == "logresolve - Win32 Release"
+
+"apr - Win32 Release" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release"
+ cd "..\..\support"
+
+"apr - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "logresolve - Win32 Debug"
+
+"apr - Win32 Debug" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug"
+ cd "..\..\support"
+
+"apr - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+!IF "$(CFG)" == "logresolve - Win32 Release"
+
+"aprutil - Win32 Release" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release"
+ cd "..\..\support"
+
+"aprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "logresolve - Win32 Debug"
+
+"aprutil - Win32 Debug" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug"
+ cd "..\..\support"
+
+"aprutil - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+SOURCE=..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "logresolve - Win32 Release"
+
+
+"$(INTDIR)\logresolve.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\logresolve.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="logresolve.exe" /d LONG_NAME="Apache logresolve command line pipe" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "logresolve - Win32 Debug"
+
+
+"$(INTDIR)\logresolve.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\logresolve.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="logresolve.exe" /d LONG_NAME="Apache logresolve command line pipe" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\logresolve.c
+
+"$(INTDIR)\logresolve.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/support/rotatelogs.dep b/support/rotatelogs.dep
new file mode 100644
index 00000000..d30b6f52
--- /dev/null
+++ b/support/rotatelogs.dep
@@ -0,0 +1,11 @@
+# Microsoft Developer Studio Generated Dependency File, included by rotatelogs.mak
+
+..\build\win32\httpd.rc : \
+ "..\include\ap_release.h"\
+
+
+.\rotatelogs.c : \
+ "..\srclib\apr\include\apr_getopt.h"\
+ "..\srclib\apr\include\apr_lib.h"\
+ "..\srclib\apr\include\apr_strings.h"\
+
diff --git a/support/rotatelogs.mak b/support/rotatelogs.mak
new file mode 100644
index 00000000..a44cae71
--- /dev/null
+++ b/support/rotatelogs.mak
@@ -0,0 +1,317 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on rotatelogs.dsp
+!IF "$(CFG)" == ""
+CFG=rotatelogs - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to rotatelogs - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "rotatelogs - Win32 Release" && "$(CFG)" != "rotatelogs - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "rotatelogs.mak" CFG="rotatelogs - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "rotatelogs - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "rotatelogs - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "rotatelogs - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\rotatelogs.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Release" "apr - Win32 Release" "$(OUTDIR)\rotatelogs.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 ReleaseCLEAN" "aprutil - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\rotatelogs.obj"
+ -@erase "$(INTDIR)\rotatelogs.res"
+ -@erase "$(INTDIR)\rotatelogs_src.idb"
+ -@erase "$(INTDIR)\rotatelogs_src.pdb"
+ -@erase "$(OUTDIR)\rotatelogs.exe"
+ -@erase "$(OUTDIR)\rotatelogs.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\rotatelogs_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\rotatelogs.res" /i "../include" /i "../srclib/apr/include" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="rotatelogs.exe" /d LONG_NAME="Apache rotatelogs command line pipe"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\rotatelogs.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\rotatelogs.pdb" /debug /out:"$(OUTDIR)\rotatelogs.exe" /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\rotatelogs.obj" \
+ "$(INTDIR)\rotatelogs.res" \
+ "..\srclib\apr\LibR\apr-1.lib" \
+ "..\srclib\apr-util\LibR\aprutil-1.lib"
+
+"$(OUTDIR)\rotatelogs.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\rotatelogs.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\rotatelogs.exe"
+ if exist .\Release\rotatelogs.exe.manifest mt.exe -manifest .\Release\rotatelogs.exe.manifest -outputresource:.\Release\rotatelogs.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "rotatelogs - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\rotatelogs.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Debug" "apr - Win32 Debug" "$(OUTDIR)\rotatelogs.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 DebugCLEAN" "aprutil - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\rotatelogs.obj"
+ -@erase "$(INTDIR)\rotatelogs.res"
+ -@erase "$(INTDIR)\rotatelogs_src.idb"
+ -@erase "$(INTDIR)\rotatelogs_src.pdb"
+ -@erase "$(OUTDIR)\rotatelogs.exe"
+ -@erase "$(OUTDIR)\rotatelogs.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\rotatelogs_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\rotatelogs.res" /i "../include" /i "../srclib/apr/include" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="rotatelogs.exe" /d LONG_NAME="Apache rotatelogs command line pipe"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\rotatelogs.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib wsock32.lib ws2_32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\rotatelogs.pdb" /debug /out:"$(OUTDIR)\rotatelogs.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\rotatelogs.obj" \
+ "$(INTDIR)\rotatelogs.res" \
+ "..\srclib\apr\LibD\apr-1.lib" \
+ "..\srclib\apr-util\LibD\aprutil-1.lib"
+
+"$(OUTDIR)\rotatelogs.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\rotatelogs.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\rotatelogs.exe"
+ if exist .\Debug\rotatelogs.exe.manifest mt.exe -manifest .\Debug\rotatelogs.exe.manifest -outputresource:.\Debug\rotatelogs.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("rotatelogs.dep")
+!INCLUDE "rotatelogs.dep"
+!ELSE
+!MESSAGE Warning: cannot find "rotatelogs.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "rotatelogs - Win32 Release" || "$(CFG)" == "rotatelogs - Win32 Debug"
+
+!IF "$(CFG)" == "rotatelogs - Win32 Release"
+
+"apr - Win32 Release" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release"
+ cd "..\..\support"
+
+"apr - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "rotatelogs - Win32 Debug"
+
+"apr - Win32 Debug" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug"
+ cd "..\..\support"
+
+"apr - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+!IF "$(CFG)" == "rotatelogs - Win32 Release"
+
+"aprutil - Win32 Release" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release"
+ cd "..\..\support"
+
+"aprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ELSEIF "$(CFG)" == "rotatelogs - Win32 Debug"
+
+"aprutil - Win32 Debug" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug"
+ cd "..\..\support"
+
+"aprutil - Win32 DebugCLEAN" :
+ cd ".\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support"
+
+!ENDIF
+
+SOURCE=..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "rotatelogs - Win32 Release"
+
+
+"$(INTDIR)\rotatelogs.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\rotatelogs.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="rotatelogs.exe" /d LONG_NAME="Apache rotatelogs command line pipe" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "rotatelogs - Win32 Debug"
+
+
+"$(INTDIR)\rotatelogs.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\rotatelogs.res" /i "../include" /i "../srclib/apr/include" /i ".\..\build\win32" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="rotatelogs.exe" /d LONG_NAME="Apache rotatelogs command line pipe" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\rotatelogs.c
+
+"$(INTDIR)\rotatelogs.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/support/win32/ApacheMonitor.dep b/support/win32/ApacheMonitor.dep
new file mode 100644
index 00000000..f1f38154
--- /dev/null
+++ b/support/win32/ApacheMonitor.dep
@@ -0,0 +1,17 @@
+# Microsoft Developer Studio Generated Dependency File, included by ApacheMonitor.mak
+
+.\ApacheMonitor.c : \
+ ".\ApacheMonitor.h"\
+
+
+.\ApacheMonitor.rc : \
+ "..\..\build\win32\httpd.rc"\
+ "..\..\include\ap_release.h"\
+ ".\apache_header.bmp"\
+ ".\ApacheMonitor.h"\
+ ".\ApacheMonitor.ico"\
+ ".\aprun.ico"\
+ ".\apstop.ico"\
+ ".\srun.bmp"\
+ ".\sstop.bmp"\
+
diff --git a/support/win32/ApacheMonitor.mak b/support/win32/ApacheMonitor.mak
new file mode 100644
index 00000000..51431554
--- /dev/null
+++ b/support/win32/ApacheMonitor.mak
@@ -0,0 +1,309 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on ApacheMonitor.dsp
+!IF "$(CFG)" == ""
+CFG=ApacheMonitor - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to ApacheMonitor - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "ApacheMonitor - Win32 Release" && "$(CFG)" != "ApacheMonitor - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ApacheMonitor.mak" CFG="ApacheMonitor - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ApacheMonitor - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ApacheMonitor - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "ApacheMonitor - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\ApacheMonitor.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Release" "apr - Win32 Release" "$(OUTDIR)\ApacheMonitor.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 ReleaseCLEAN" "aprutil - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\ApacheMonitor.obj"
+ -@erase "$(INTDIR)\ApacheMonitor.res"
+ -@erase "$(INTDIR)\ApacheMonitor_src.idb"
+ -@erase "$(INTDIR)\ApacheMonitor_src.pdb"
+ -@erase "$(OUTDIR)\ApacheMonitor.exe"
+ -@erase "$(OUTDIR)\ApacheMonitor.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../../srclib/apr/include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "STRICT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\ApacheMonitor_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\ApacheMonitor.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d "APP_FILE"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\ApacheMonitor.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib comctl32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib wtsapi32.lib /nologo /subsystem:windows /incremental:no /pdb:"$(OUTDIR)\ApacheMonitor.pdb" /debug /out:"$(OUTDIR)\ApacheMonitor.exe" /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\ApacheMonitor.obj" \
+ "$(INTDIR)\ApacheMonitor.res" \
+ "..\..\srclib\apr\LibR\apr-1.lib" \
+ "..\..\srclib\apr-util\LibR\aprutil-1.lib"
+
+"$(OUTDIR)\ApacheMonitor.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\ApacheMonitor.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\ApacheMonitor.exe"
+ if exist .\Release\ApacheMonitor.exe.manifest mt.exe -manifest .\Release\ApacheMonitor.exe.manifest -outputresource:.\Release\ApacheMonitor.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "ApacheMonitor - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\ApacheMonitor.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Debug" "apr - Win32 Debug" "$(OUTDIR)\ApacheMonitor.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 DebugCLEAN" "aprutil - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\ApacheMonitor.obj"
+ -@erase "$(INTDIR)\ApacheMonitor.res"
+ -@erase "$(INTDIR)\ApacheMonitor_src.idb"
+ -@erase "$(INTDIR)\ApacheMonitor_src.pdb"
+ -@erase "$(OUTDIR)\ApacheMonitor.exe"
+ -@erase "$(OUTDIR)\ApacheMonitor.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Gm /Zi /Od /I "../../include" /I "../../srclib/apr/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "STRICT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\ApacheMonitor_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\ApacheMonitor.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d "APP_FILE"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\ApacheMonitor.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib comctl32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib wtsapi32.lib /nologo /subsystem:windows /incremental:no /pdb:"$(OUTDIR)\ApacheMonitor.pdb" /debug /out:"$(OUTDIR)\ApacheMonitor.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\ApacheMonitor.obj" \
+ "$(INTDIR)\ApacheMonitor.res" \
+ "..\..\srclib\apr\LibD\apr-1.lib" \
+ "..\..\srclib\apr-util\LibD\aprutil-1.lib"
+
+"$(OUTDIR)\ApacheMonitor.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\ApacheMonitor.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\ApacheMonitor.exe"
+ if exist .\Debug\ApacheMonitor.exe.manifest mt.exe -manifest .\Debug\ApacheMonitor.exe.manifest -outputresource:.\Debug\ApacheMonitor.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("ApacheMonitor.dep")
+!INCLUDE "ApacheMonitor.dep"
+!ELSE
+!MESSAGE Warning: cannot find "ApacheMonitor.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "ApacheMonitor - Win32 Release" || "$(CFG)" == "ApacheMonitor - Win32 Debug"
+
+!IF "$(CFG)" == "ApacheMonitor - Win32 Release"
+
+"apr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release"
+ cd "..\..\support\win32"
+
+"apr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support\win32"
+
+!ELSEIF "$(CFG)" == "ApacheMonitor - Win32 Debug"
+
+"apr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug"
+ cd "..\..\support\win32"
+
+"apr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support\win32"
+
+!ENDIF
+
+!IF "$(CFG)" == "ApacheMonitor - Win32 Release"
+
+"aprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release"
+ cd "..\..\support\win32"
+
+"aprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support\win32"
+
+!ELSEIF "$(CFG)" == "ApacheMonitor - Win32 Debug"
+
+"aprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug"
+ cd "..\..\support\win32"
+
+"aprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support\win32"
+
+!ENDIF
+
+SOURCE=.\ApacheMonitor.c
+
+"$(INTDIR)\ApacheMonitor.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ApacheMonitor.rc
+
+"$(INTDIR)\ApacheMonitor.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) $(RSC_PROJ) $(SOURCE)
+
+
+
+!ENDIF
+
diff --git a/support/win32/wintty.dep b/support/win32/wintty.dep
new file mode 100644
index 00000000..8f574096
--- /dev/null
+++ b/support/win32/wintty.dep
@@ -0,0 +1,5 @@
+# Microsoft Developer Studio Generated Dependency File, included by wintty.mak
+
+..\..\build\win32\httpd.rc : \
+ "..\..\include\ap_release.h"\
+
diff --git a/support/win32/wintty.mak b/support/win32/wintty.mak
new file mode 100644
index 00000000..b2612b00
--- /dev/null
+++ b/support/win32/wintty.mak
@@ -0,0 +1,317 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on wintty.dsp
+!IF "$(CFG)" == ""
+CFG=wintty - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to wintty - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "wintty - Win32 Release" && "$(CFG)" != "wintty - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "wintty.mak" CFG="wintty - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "wintty - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "wintty - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "wintty - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\wintty.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Release" "apr - Win32 Release" "$(OUTDIR)\wintty.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 ReleaseCLEAN" "aprutil - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\wintty.obj"
+ -@erase "$(INTDIR)\wintty.res"
+ -@erase "$(INTDIR)\wintty_src.idb"
+ -@erase "$(INTDIR)\wintty_src.pdb"
+ -@erase "$(OUTDIR)\wintty.exe"
+ -@erase "$(OUTDIR)\wintty.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\wintty_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\wintty.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="wintty.exe" /d LONG_NAME="Apache wintty console pipe"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\wintty.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\wintty.pdb" /debug /out:"$(OUTDIR)\wintty.exe" /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\wintty.obj" \
+ "$(INTDIR)\wintty.res" \
+ "..\..\srclib\apr\LibR\apr-1.lib" \
+ "..\..\srclib\apr-util\LibR\aprutil-1.lib"
+
+"$(OUTDIR)\wintty.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\wintty.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\wintty.exe"
+ if exist .\Release\wintty.exe.manifest mt.exe -manifest .\Release\wintty.exe.manifest -outputresource:.\Release\wintty.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "wintty - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\wintty.exe" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "aprutil - Win32 Debug" "apr - Win32 Debug" "$(OUTDIR)\wintty.exe" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"apr - Win32 DebugCLEAN" "aprutil - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\wintty.obj"
+ -@erase "$(INTDIR)\wintty.res"
+ -@erase "$(INTDIR)\wintty_src.idb"
+ -@erase "$(INTDIR)\wintty_src.pdb"
+ -@erase "$(OUTDIR)\wintty.exe"
+ -@erase "$(OUTDIR)\wintty.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../srclib/apr/include" /I "../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\wintty_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\wintty.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="wintty.exe" /d LONG_NAME="Apache wintty console pipe"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\wintty.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\wintty.pdb" /debug /out:"$(OUTDIR)\wintty.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\wintty.obj" \
+ "$(INTDIR)\wintty.res" \
+ "..\..\srclib\apr\LibD\apr-1.lib" \
+ "..\..\srclib\apr-util\LibD\aprutil-1.lib"
+
+"$(OUTDIR)\wintty.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\wintty.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\wintty.exe"
+ if exist .\Debug\wintty.exe.manifest mt.exe -manifest .\Debug\wintty.exe.manifest -outputresource:.\Debug\wintty.exe;1
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("wintty.dep")
+!INCLUDE "wintty.dep"
+!ELSE
+!MESSAGE Warning: cannot find "wintty.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "wintty - Win32 Release" || "$(CFG)" == "wintty - Win32 Debug"
+
+!IF "$(CFG)" == "wintty - Win32 Release"
+
+"apr - Win32 Release" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release"
+ cd "..\..\support\win32"
+
+"apr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support\win32"
+
+!ELSEIF "$(CFG)" == "wintty - Win32 Debug"
+
+"apr - Win32 Debug" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug"
+ cd "..\..\support\win32"
+
+"apr - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\apr.mak" CFG="apr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support\win32"
+
+!ENDIF
+
+!IF "$(CFG)" == "wintty - Win32 Release"
+
+"aprutil - Win32 Release" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release"
+ cd "..\..\support\win32"
+
+"aprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\support\win32"
+
+!ELSEIF "$(CFG)" == "wintty - Win32 Debug"
+
+"aprutil - Win32 Debug" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug"
+ cd "..\..\support\win32"
+
+"aprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\aprutil.mak" CFG="aprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\support\win32"
+
+!ENDIF
+
+SOURCE=..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "wintty - Win32 Release"
+
+
+"$(INTDIR)\wintty.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\wintty.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d "APP_FILE" /d BIN_NAME="wintty.exe" /d LONG_NAME="Apache wintty console pipe" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "wintty - Win32 Debug"
+
+
+"$(INTDIR)\wintty.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\wintty.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d "APP_FILE" /d BIN_NAME="wintty.exe" /d LONG_NAME="Apache wintty console pipe" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\wintty.c
+
+"$(INTDIR)\wintty.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+